FIX: SQLGetData() Returns SQL_NO_TOTAL in RFX_LongBinary()ID: Q132399
|
An assertion may occur in RFX_LongBinary() if an ODBC driver returns a value of SQL_NO_TOTAL (-4) in the location pointed to by plLength after calling SQLGetData().
The MFC RFX_LongBinary() function assumes that an ODBC driver won't return SQL_NO_TOTAL from SQLGetData(). This is by design.
If you must use RFX_LongBinary() to map a binary field to a CLongBinary
variable, use the RFX_LongBinary() function in BLOBRFX.EXE. BLOBRFX.EXE, a
self-extracting file, contains two files: BLOBRFX.CPP and BLOBRFX.H.
BLOBRFX.CPP contains an RFX_LongBinary2() function, which can be used in
place of RFX_LongBinary() in your CRecordset's DoFieldExchange() function.
BLOBRFX.H contains the prototype for the RFX_LongBinary2() function.
The following file is available for download from the Microsoft Software
Library:
Blobrfx.exeFor more information about downloading files from the Microsoft Software Library, please see the following article in the Microsoft Knowledge Base:
Q119591 How to Obtain Microsoft Support Files from Online ServicesNOTE: If you are using a precompiled header in your project, you may want to add the following line of code to the top of BLOBRFX.CPP:
#include "stdafx.h"
This behavior is by design. This problem was corrected in Visual C++ version 4.2 and above.
The ODBC Programmer's Reference in the Visual C++ Online Books provides information about SQLGetData().
Additional query words: Oracle
Keywords : kbfile kbprg kbDatabase kbMFC kbODBC kbVC
Version : 1.52 2.1 4.0
Platform : NT WINDOWS
Issue type : kbprb
Last Reviewed: July 30, 1999