我在一个网站上工作,我需要通过 PHP 将数据从远程 MS SQL Server 数据库导入到 Unix 服务器上的 MySQL 数据库中。感谢对 this post 的回答,我能够在我的开发环境(Mac OS X 10.6)上启动并运行所有内容。然而,现在我正在尝试设置我的服务器环境,即 CentOS 5.4。我安装并配置了 unixODBC 和 FreeTDS,但是当我尝试连接时,出现以下错误:
连接失败:[unixODBC][Driver Manager]无法打开 lib '/usr/lib/libtdsodbc.so.0' :/usr/lib/libtdsodbc.so.0: ELF 类错误:ELFCLASS32
从我在互联网上找到的内容来看,我似乎安装了 32 位 unixODBC(或 FreeTDS,我不确定)(libtdsodbc.so.0 是符号链接(symbolic link)到 libtdsodbc.so.0.0。 0) 并且它需要是 64 位的。那是对的吗?如果是这样,我如何升级到 64 位版本?我是一名开发人员,而不是服务器专家,所以这有点超出我的服务器知识范围。
谢谢。
最佳答案
将 odbcinst.ini 中的引用从 /usr/lib/libtdsodbc.so.0
更改为 /usr/lib64/libtdsodbc.so.0
修复了此错误我们的配置与您描述的相同。
关于php - unixODBC 错误 "/usr/lib/libtdsodbc.so.0: wrong ELF class: ELFCLASS32",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4180491/