문제

It seems that the 64 bits Sybase ASE drivers still consider the SQLLEN type as being 32 bits, whereas UnixODBC and pretty much every other driver want 64 bits. This is problematic for example for the strlen parameter in the SQLBindParameter function.

Although it is possible to hack this particular case by casting an SQLINTEGER array into an SQLLEN *, it would force me to make a particular ODBC call for Sybase, which defeats the purpose of a generic API.

Is this solvable? Has anyone managed to use the Sybase ODBC drivers on 64 bits Linux without these kinds of ugly hacks?

도움이 되었습니까?

해결책

Looks like the answer is no. The Sybase API is compatible with the previous version of UnixODBC, 2.2.11, but is incompatible with UnixODBC 3.3 as SQLLEN has moved from 32 bits to 64 bits.

Solution is therefore to revert to UnixODBC 2.2.11.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top