5

我正在load libtdbcmysql1.0.0.so使用 tcl 脚本(linux),这给出了错误:

无法加载文件“libmysql.so.15”

我认为libmysql.so.15可能是一个依赖库libtdbcmysql1.0.0.so,所以我检查了使用

ldd libtdbcmysql1.0.0.so

但是这个命令给出了以下输出:

linux-gate.so.1 =>  (0xffffe000)<br>
libc.so.6 => /lib/libc.so.6 (0xf7da1000)<br>
/lib/ld-linux.so.2 (0x003b4000)<br>

正如我们所看到的,它没有提到任何关于libmysql.so.15.

任何人都可以请解释这里发生了什么?以及如何解决这个错误?

4

1 回答 1

1

MySQL 的 TDBC 驱动程序仅软链接到主 MySQL 客户端库。这既允许在没有客户端库(!)的系统上构建驱动程序,又确保可以使用更复杂的客户端库搜索代码。(同样的技术用于支持其他数据库,例如 Oracle 和 PostgreSQL,以及 ODBC 互操作性平台。在任何普通系统上构建所有这些都是一件令人头疼的事情!)

但它可能会出错。您是否安装了 MySQL 客户端库?如果是这样,动态库的名称是什么?它位于哪里?如果所有东西都安装在正确的位置,设置了适当的记录环境变量,但 TDBC 驱动程序仍然找不到它,您可能需要提交错误报告。(您也许可以使用驱动程序包来解决这个问题tdbc::odbc,我认为它质量更高,但我警告说我没有尝试过。)

于 2014-03-31T09:14:34.230 回答