我目前正在 ASP.NET 中构建一个 API,该 API 应该从 HyperFileSQL (PCSOFT) 中提取大量数据。虽然 PCSOFT 为其数据库系统提供了 Linux ODBC 驱动程序,但它是围绕 iODBC 构建的,因此与 System.Data.Odbc 不兼容。
有人知道 ODBC 连接器可以配置或编译为在针对 Linux 时使用 iODBC 而不是 unixODBC 吗?或者使用为 iODBC 和 unixODBC 构建的驱动程序的方法?
我尝试使用System.Data.Odbc,但找不到驱动程序,因为它正在unixODBC中寻找驱动程序。然而,在 cmd 中使用 iodbctest 访问数据库是有效的。
最新版本的 iODBC 应该 可以与使用 UnixODBC SDK 以及 iODBC SDK 构建的驱动程序和应用程序一起使用。
不清楚“找不到驱动程序,因为它正在 unixODBC 中寻找驱动程序”是什么意思。我最好的猜测是您在不同位置安装了多个
odbc.ini
和 odbcinst.ini
文件,并且可能安装了 iODBC 和 UnixODBC 驱动程序管理器。
统一这些 - 即分别混合所有
odbc.ini
和 odbcinst.ini
的内容,并将物理文件放在一个位置(例如,/usr/local/
)并将符号链接放在所有其他当前位置 - 并选择一组驱动程序管理器库,并删除其他库或确保您选择的库在钻取时始终排在第一位 LD_LIBRARY_PATH
... 可能 就是实现您的目标所需要做的一切。