0

我在从我的机器(运行 centOS)打开与 Vertica 的 odbc 连接时遇到问题

据我了解,我已经安装了所有可能的软件包,但我仍然缺少一些驱动程序文件。

这是我得到的错误:

PHP 警告:odbc_connect():SQL 错误:[unixODBC][驱动程序管理器]无法打开 lib '/opt/vertica/lib64/libverticaodbc_unixodbc.so':/opt/vertica/lib64/libverticaodbc_unixodbc.so:无法打开共享对象文件:没有这样的文件或目录,SQLConnect 中的 SQL 状态 01000 在 /var/www/html/* * * *.php 第 149 行

这是我安装的软件包:

php53-odbc.x86_64 
vertica-odbc.x86_64 
php-odbc.x86_64
unixODBC-libs.i386 
unixODBC-libs.x86_64
vertica-client.x86_64
vertica-odbc.x86_64

这些都没有产生该驱动程序文件-> libverticaodbc_unixodbc.so

谢谢。

4

2 回答 2

0

这可能需要在您的 odbc.ini 中进行更改。

也就是说,您使用的是哪个版本的 vertica?至少从 6.0 开始(可能更早),不再有 libverticaodbc_unixodbc.so 或 libverticaodbc_iodbc.so,而只有一个 libverticaodbc.so。

所以你应该在你的 odbc.ini 中有:

# maybe indeed libverticaodbc_unixodbc.so instead if you have an old version
Driver64     = /opt/vertica/lib64/libverticaodbc.so
Driver       = /opt/vertica/lib64/libverticaodbc.so
于 2013-06-14T14:14:36.843 回答
0

我有一个解决方案。它不是最好的,但它使这项工作发挥了作用,而且它比没有解决方案更好。

我复制了文件:

vertica_4.1.9_odbc_3.5_unixodbc_x86_64_linux.so

/opt/vertica/lib64/

之后,我使用他正在寻找的确切名称创建了指向该文件的链接

 ln vertica_4.1.9_odbc_3.5_unixodbc_x86_64_linux.so libverticaodbc_unixodbc.so

这解决了它。

希望有人能找到更好的解决方案并让我们知道。

于 2013-06-13T12:28:27.007 回答