%META:TOPICPARENT{name="ConfigureUDAFeatures"}% = ODBC to Jet Data Type Mapping in our Data Access Drivers for Informix = == Numeric Data Type Mappings in our Data Access Drivers for Informix == The table below details how the OpenLink data access drivers fetch numeric data from Informix. The SQL type reported for a {{{SELECT}}} column varies depending on the native Informix type of the column, its precision, and its scale. The C type used to fetch the data is also shown, together with the effect of the {{{JetFix}}} switch. Changes to the type mappings required to implement the {{{JetFix}}} option are shown in italics. **Table 1. Numeric Data Type Mappings** %BR%%BR%%BR%%BR% ==Precision of C Data Types== The C data 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, which has sufficient range to store the maximum numeric values supported by Informix. However, {{{CTYPE_FLT64}}} may result in a loss of precision, if the precision of the data to be fetched exceeds 15 decimal digits. **Table 2. Precision of C Data Types** %BR%%BR% %BR%%BR% == Informix Jetfix Testing == To verify the effect of the +jetfix switch, two tables were created and then linked into Access -- once with {{{JetFix}}} enabled, and once with {{{JetFix}}} disabled. The first table contained five {{{MONEY}}} columns of various precisions and scales. The second table was identical except that it used {{{DECIMAL}}} instead of {{{MONEY}}} columns. The resulting Jet data type mappings as shown in the '{{{Table Design}}}' view are detailed below: **Table 3. Informix ODBC to Jet Data Type Mapping** %BR%%BR%%BR%%BR%