Sybase ODBC через UnixODBC в 64 бит? - PullRequest
0 голосов
/ 01 марта 2012

Похоже, что 64-битные драйверы Sybase ASE по-прежнему считают тип SQLLEN 32-битным, тогда как UnixODBC и почти любой другой драйвер хотят 64-битные. Это проблематично, например, для параметра strlen в функции SQLBindParameter.

Хотя этот конкретный случай можно взломать путем приведения массива SQLINTEGER в SQLLEN *, это заставило бы меня сделать определенный вызов ODBC для Sybase, что противоречит цели общего API.

Это разрешимо? Кому-нибудь удалось использовать драйверы Sybase ODBC на 64-битной Linux без таких уродливых хаков?

1 Ответ

0 голосов
/ 25 апреля 2012

Похоже, ответ нет. Sybase API совместим с предыдущей версией UnixODBC 2.2.11, но несовместим с UnixODBC 3.3, поскольку SQLLEN перешел с 32 бит на 64 бит.

Поэтому решение состоит в том, чтобы вернуться к UnixODBC 2.2.11.

...