The information in this article applies to:
SYMPTOMS
When using parameter binding in the Microsoft Oracle ODBC driver to insert decimal values into an Oracle server installed on UNIX, the following error is returned: This error does not occur when inserting the same values into an Oracle server installed on Windows NT. CAUSE
During connection, the Oracle driver determines the character to use as a decimal separator by issuing the following statement:
which should return ".99", and the first character is used as the decimal separator. On UNIX platforms, " .9" is returned instead of the expected ".99", which causes a decimal such as "123.45" to be passed as "123 45". This generates the "Invalid number" error. RESOLUTIONA supported fix that corrects this problem is now available from Microsoft, but
it has not been fully regression tested and should be applied only to systems
experiencing this specific problem. If you are not severely affected by this
specific problem, Microsoft recommends that you wait for the next
that contains this fix. http://www.microsoft.com/support/supportnet/overview/overview.asp
This hotfix is engineered to work with Microsoft Data Access Components (MDAC) builds 2.0 and 2.1. The hotfix contains the MDAC 2.0 MSORACL32.DLL and MDAC 2.1 MSORACL32.DLL. See installation instructions below. Installation Instructions
WORKAROUNDDo not use parameter binding in your application; instead, just insert the values hard-coded into an INSERT statement. STATUSMicrosoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. Additional query words: decimal oracle unix invalid number parameter ORA-01722
Keywords : kbDatabase kbDriver kbODBC kbOracle kbUNIX kbODBC250bug kbODBC351qfe |
Last Reviewed: August 27, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |