Error when getting text longer than MaxLongVarcharSize
От | Åsmund Kveim Lie |
---|---|
Тема | Error when getting text longer than MaxLongVarcharSize |
Дата | |
Msg-id | 442BD087.4080309@nosyko.no обсуждение исходный текст |
Ответы |
Re: Error when getting text longer than MaxLongVarcharSize
|
Список | pgsql-odbc |
Hi, When fetching text data longer than MaxLongVarcharSize, the driver returns the length of the actual data in the database rather than the truncated length to retrieve. The last parameter (StrLen_or_IndPtr) to SQLBindCol() is a pointer to where to place the length of the data to get. When we later call SQLExtendedFetch() it will update this value to be the length of the string. If you have a text in the database which is longer than the MaxLongVarcharSize the ODBC will truncate the value to return down to MaxLongVarcharSize (as printed in the log file). The bug is that in version 08.01.200 (ANSI) SQLExtendedFetch() updates the string length to be the length in the database and NOT the length of the actual (truncated) value returned. We later rely on this value to get the string value from memory. We use PostgreSQL 8.1.3 on Debian Sarge and ODBC on Windows. I hope this is enough information to enable you locate the bug. If you need more information or MyLog please let me know, but I have not attached it because my posts with log attachments does not seem to get through on this mailing list. Best regards, Åsmund Lie
В списке pgsql-odbc по дате отправления: