Re: ODBC : SQLGetData question

Поиск
Список
Период
Сортировка
От Nick Gorham
Тема Re: ODBC : SQLGetData question
Дата
Msg-id 5373408E.2070404@lurcher.org
обсуждение исходный текст
Ответ на Re: ODBC : SQLGetData question  (Dev Kumkar <devdas.kumkar@gmail.com>)
Ответы Re: ODBC : SQLGetData question
Список pgsql-odbc
On 14/05/14 10:07, Dev Kumkar wrote:

On Wed, May 14, 2014 at 2:17 PM, aihtdikh <aihtdikh@gmail.com> wrote:
That will work around the issue, but I'm stumped as to why it was not working for you already.

It seems like your platform must be 64bit, and something somewhere is converting what should be a 64bit SQLLEN into a 32bit value, but I can't find anywhere in the source that does anything unsafe in this regard - it's SQLLEN all the way.

Edit: Ah, Nick may be on the right path there.
Could the driver have been compiled with a different sqltypes.h than the application?
If so, you could try compiling the driver under the same setup as your application to see if that fixes it.


Regards,
Harun
Yes, the platform is 64-bit.
We are deploying the driver as it is and not compiling it in-house currently.

In that case compile the application with the same setup as the driver.

Do you see any issues with the (int) typecast done for SQLLEN?

Yes, if your app ever expects the driver to return an array of results (for example) it will go badly wrong very quickly. Also, if the driver is 64 bit SQLLEN and the application 32 bit, a SQLGetData will be writing to memory that happens to be after the indicator variable, that will not end well.

--
Nick

В списке pgsql-odbc по дате отправления:

Предыдущее
От: aihtdikh
Дата:
Сообщение: Re: ODBC : SQLGetData question
Следующее
От: Adrian Klaver
Дата:
Сообщение: Re: psqlODBC text length with no records