AdjustLargePrecisionAndScale Connection Property for Adaptive Server ODBC Driver

In versions earlier than 15.7, the Adaptive Server ODBC Driver did not support calls to SQLSetDescField(), to set scale and precision of numeric or decimal columns.

Any calls to this API were ignored, and the Adaptive Server ODBC Driver set the precision and scale of the column based on the value received. As Adaptive Server supports a precision larger than the ODBC numeric structure, the Adaptive Server ODBC Driver further scaled down the values received from the server as needed to accommodate them within the ODBC numeric structure. In versions 15.7 and later, the Adaptive Server ODBC Driver no longer ignores the calls to SQLSetDescField() that set the precision and scale of the numeric or decimal column. It is therefore possible to find that ODBC Applications that worked before now receive data overflow errors with the new Adaptive Server ODBC Driver. The AdjustLargePrecisionAndScale property allows the earlier behavior to continue, and enables the Adaptive Server ODBC Driver to select the optimal precision and scale to accommodate the value received from the server.

By default, AdjustLargePrecisionAndScale is 0, which causes the Adaptive Server ODBC Driver to accept the calls made to SQLSetDescField() API to set precision or scale.

When you set the AdjustLargePrecisionAndScale connection property to 1, the Adaptive Server ODBC Driver ignores any calls made to SQLSetDescField() API to set precision or scale, and uses the precision and scale of actual data value.

For more information about SQLSetDescField(), see the Microsoft Developers Network http://msdn.microsoft.com/.