似乎 64 位 Sybase ASE 驱动程序仍将 SQLLEN 类型视为 32 位,而 UnixODBC 和几乎所有其他驱动程序都需要 64 位。例如,对于 SQLBindParameter 函数中的 strlen 参数,这是有问题的。
尽管可以通过将 SQLINTEGER 数组转换为 SQLLEN * 来破解这种特殊情况,但它会迫使我对 Sybase 进行特定的 ODBC 调用,这违背了通用 API 的目的。
这可以解决吗?有没有人设法在 64 位 Linux 上使用 Sybase ODBC 驱动程序而没有这些丑陋的黑客攻击?