• Topic
  • Discussion
  • UdaWikiWeb.OracleODBCJetMapping(Last) -- Owiki? , 2016-08-19 15:00:42 Edit owiki 2016-08-19 15:00:42

    ODBC to Jet Data Type Mapping for Oracle

    The following table details how the OpenLink drivers for Oracle fetch numeric data. The SQL type reported for a SELECT column varies depending on the native Oracle type of the column, its precision, and its scale. The OpenLink C type used to fetch the data is also shown, together with the effect of the JetFix command line switch.

    Changes to the type mappings are shown in the table as italics.




    {Notes} on the above table

    1. FLOAT(b) specifies a floating point number with binary precision b. The precision can range from 1 to 126. To convert from binary to decimal precision, multiply b by 0.30103.
    2. Possible loss of precision
    3. FLOAT specifies a floating point number with decimal precision 38, or a binary precision of 126.
    4. NUMBER specifies a floating point number with decimal precision = 38.
    5. Oracle appears to return s=0, p=0 for a calculated field
    6. Oracle permits a maximum precision of 38.

    Precision of OpenLink C Types

    The choice of OpenLink C type used to fetch a numeric value is determined by the maximum precision supported by the type. If a numeric type exists which can represent the data to be fetched without loss of precision, then this is used as the preferred fetch type. If a numeric type capable of supporting the required precision does not exist, then the data is fetched in character form, unless the JetFix switch is on. In this case, the data is fetched using the CTYPE_FLT64 fetch type. This type has sufficient range to store the maximum numeric values supported by Oracle, but its use may result in a loss of precision, if the precision of the data to be fetched exceeds 15 decimal digits.





    Referenced by...