加载libtdbcmysql1.0.0.so失败

whi*_*ard 5 linux tcl tdbc

我正在load libtdbcmysql1.0.0.sotcl脚本(linux)中执行操作,该脚本给出了错误:

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

我以为libmysql.so.15可能是的依赖库libtdbcmysql1.0.0.so,所以我检查了

ldd libtdbcmysql1.0.0.so
Run Code Online (Sandbox Code Playgroud)

但是此命令给出了以下输出:

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

正如我们所看到的,它没有提及任何内容libmysql.so.15

有人可以解释一下这里发生了什么吗?以及如何解决该错误?

Don*_*ows 1

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

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