2014-03-31 22 views
4

我在Tcl腳本做load libtdbcmysql1.0.0.so(Linux)的,這是給錯誤:負載libtdbcmysql1.0.0.so失敗

couldn't load file "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的任何信息。

任何人都可以請解釋這裏發生了什麼?以及如何解決這個錯誤?

回答

1

MySQL的TDBC驅動程序只與主MySQL客戶端庫軟鏈接。這兩者都允許驅動程序建立在客戶端庫不存在(!)的系統上,並確保可以使用更復雜的客戶端庫搜索代碼。 (同樣的技術用於支持其他數據庫,例如Oracle和PostgreSQL,以及ODBC互操作性平臺,在任何普通系統上構建所有這些都會令人頭疼!)

但它可能會出錯。你有沒有安裝MySQL客戶端庫?如果是這樣,動態庫的名稱是什麼?它位於哪裏?如果所有內容都安裝在正確的位置,設置了適當的文檔化環境變量,但是TDBC驅動程序仍然找不到它,則可能需要提交錯誤報告。 (你可能能夠解決這個與tdbc::odbc驅動程序包,我認爲是更高的質量,但我警告我沒有嘗試過。)