2010-12-10-- ODBC: FreeTDS, fixed the bug with missing first character of the long text/string data.
Use attached diff file for 3.7.33 sources patching. -- Best regards, Sergey Chumakov, SQLAPI++ development team
*** odbcClient.cpp.orig Mon Aug 23 10:13:47 2010 --- odbcClient.cpp Fri Dec 10 08:44:20 2010 *************** *** 2059,2069 **** if(bLong) { ! char Buf[1]; SQLLEN StrLen_or_IndPtr; SQLRETURN rc = g_odbcAPI.SQLGetData( m_handles.m_hstmt, (SQLUSMALLINT)nPos, ! TargetType, Buf, bAddSpaceForNull? 1:0, &StrLen_or_IndPtr); if( SQL_NO_DATA != rc ) --- 2059,2069 ---- if(bLong) { ! SAChar Buf[1]; SQLLEN StrLen_or_IndPtr; SQLRETURN rc = g_odbcAPI.SQLGetData( m_handles.m_hstmt, (SQLUSMALLINT)nPos, ! TargetType, Buf, /*bAddSpaceForNull? 1:*/0, &StrLen_or_IndPtr); if( SQL_NO_DATA != rc ) *************** *** 2246,2252 **** SAChar Buf[1]; rc = g_odbcAPI.SQLGetData( m_handles.m_hstmt, (SQLUSMALLINT)Field.Pos(), ! TargetType, Buf, bAddSpaceForNull? sizeof(SAChar):0, &StrLen_or_IndPtr); if(rc != SQL_NO_DATA) { --- 2246,2252 ---- SAChar Buf[1]; rc = g_odbcAPI.SQLGetData( m_handles.m_hstmt, (SQLUSMALLINT)Field.Pos(), ! TargetType, Buf, /*bAddSpaceForNull? sizeof(SAChar):*/0, &StrLen_or_IndPtr); if(rc != SQL_NO_DATA) {