My Oracle Support Banner

ODBC Row Status Array (SQL_ATTR_ROW_STATUS_PTR) Populated As SQLUINTEGER Rather Than SQLUSMALLINT (Doc ID 1472987.1)

Last updated on JULY 05, 2017

Applies to:

Oracle ODBC Driver - Version 11.2.0.1 to 11.2.0.3 [Release 11.2]
Information in this document applies to any platform.

Symptoms

Using the Oracle 11gR1 or later ODBC driver, having called SQLSetStmtAttr to set up SQL_ATTR_ROW_STATUS_PTR, after a subsequent fetch the row status is being returned as 4 byte values (writing off the end of allocated memory) rather than as 2 byte values.

This issue reproduces with all versions of the Oracle ODBC driver since 11.1.0.6.  It is a 32-bit-only problem; in 64-bit mode the status values are 64-bit and this has been correctly implemented (the bug being due most likely to a simple oversight and some inconsistency between 32-bit and 64-bit Windows: if a value is 64 bits in 64-bit mode then it would be expected to be 32 bits in 32-bit mode, but in fact it is 16 bits in 32-bit mode).

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Cause
Solution
References

This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.
My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.