0

64 ビットの Sybase ASE ドライバーは、依然として SQLLEN 型を 32 ビットと見なしているようですが、UnixODBC と他のほぼすべてのドライバーは 64 ビットを必要としています。これは、たとえば SQLBindParameter 関数の strlen パラメータで問題になります。

SQLINTEGER 配列を SQLLEN * にキャストすることでこの特定のケースをハッキングすることは可能ですが、Sybase に対して特定の ODBC 呼び出しを行う必要があり、汎用 API の目的が無効になります。

これは解決可能ですか?この種の醜いハックなしで、64ビットLinuxでSybase ODBCドライバーを使用できた人はいますか?

4

1 に答える 1

0

答えはノーのようです。Sybase APIは、以前のバージョンのUnixODBC 2.2.11と互換性がありますが、SQLLENが32ビットから64ビットに移動したため、UnixODBC3.3とは互換性がありません。

したがって、解決策はUnixODBC2.2.11に戻すことです。

于 2012-04-24T22:05:41.077 に答える