Access causes an error when you export fields with data type single or double to Oracle (301915)
The information in this article applies to:
- Microsoft Access 2000
- Microsoft Access 2002
- Microsoft Office Access 2003
This article was previously published under Q301915 Moderate: Requires basic macro, coding, and interoperability
skills.
This article applies to a Microsoft Access database (.mdb) and to a
Microsoft Access project (.adp).
SYMPTOMS When you use the Oracle ODBC driver to export an Access
table that has fields of data type Single or Double, the driver fails to export
those fields as follows.
The Microsoft Oracle driver displays the following error message:
Microsoft Access was unable to append all the data to the table. The contents of fields in <number> record(s) were
deleted, and 0 record(s) were lost due to key violations. - If data was deleted, the data you pasted or imported
doesn't match the field data types or the FieldSize property in the destination
table.
- If records were lost either the records you pasted contain
primary key values that already exist in the destination table, or they violate
referential integrity rules for a relationship defined between tables.
Do
you want to continue anyway?
The Oracle ODBC drivers up to and including version
8.1.6 display the following error message: ODBC - call
failed [Oracle][ODBC][ORA] ORA-01401: Inserted value too large for column
(#1401) CAUSE In Microsoft Access 97, the export process converts the
Single and Double data type fields to VarChar2(40). However, in Microsoft
Access 2000 and later, the fields are converted to VarChar2(4), which it too
small to hold the data. RESOLUTION To successfully export the data to Oracle, use a query
based on the relevant tables. Use the CStr() function to convert the data type to String. For
example, consider the following SQL syntax:
SELECT tblExample.pkeyDataID, tblExample.dblTest
FROM tblExample;
where dblTest is a field with a data type of Double. Convert dblTest to
a String data type by making the following change to the SQL syntax:
SELECT tblExample.pkeyDataID, CStr([dblTest]) AS Expr1
FROM tblExample;
The query can now be successfully exported to Oracle. STATUSMicrosoft
has confirmed that this is a problem in the Microsoft products that are listed
at the beginning of this article.
REFERENCESFor more information about
converting data types, in the Visual Basic Editor, click Microsoft Visual Basic Help on the Help menu, type type conversion functions in the Office Assistant or the Answer Wizard, and then click Search to view the topic.
The third-party products that are
discussed in this article are manufactured by companies that are independent of
Microsoft. Microsoft makes no warranty, implied or otherwise, regarding the
performance or reliability of these products.
Modification Type: | Minor | Last Reviewed: | 6/8/2004 |
---|
Keywords: | kbExport kbbug kberrmsg kbnofix KB301915 kbAudDeveloper |
---|
|