2010-11-15 50 views
1

我正在一個站點上工作,我需要將數據從遠程MS SQL Server數據庫導入Unix服務器上的MySQL數據庫通過PHP。感謝this post的回答,我能夠在我的開發環境(Mac OS X 10.6)上啓動並運行一切。然而,現在我試圖讓我的服務器環境設置,即CentOS 5.4。我的unixODBC和freetds的安裝和配置,但是當我嘗試連接時,我得到以下錯誤:unixODBC錯誤「/usr/lib/libtdsodbc.so.0:wrong ELF class:ELFCLASS32」

Connection Failed:[unixODBC][Driver Manager]Can't open lib '/usr/lib/libtdsodbc.so.0' : /usr/lib/libtdsodbc.so.0: wrong ELF class: ELFCLASS32

從我已經能夠找到的互聯網絡,看來我有32位unixODBC(或FreeTDS,我不確定)安裝(libtdsodbc.so.0符號鏈接到libtdsodbc.so.0.0.0),它需要是64位。那是對的嗎?如果是這樣,我該如何升級到64位版本?我是一名開發人員,而不是服務器大師,所以這有點超出我的服務器知識範圍。

謝謝。

回答

1

您的診斷是正確的。然而,不需要升級,因爲兩者可以並行安裝。

yum install freetds.x86_64 
+0

當我運行上面的命令時,我收到以下消息:「Package freetds-0.64-11.el5.centos.x86_64已經安裝並且最新版本 無事可做。」還有什麼我需要做的嗎? – wonder95 2010-11-16 04:40:51

4

改變ODBCINST.INI從/usr/lib/libtdsodbc.so.0/usr/lib64/libtdsodbc.so.0在相同的配置修正了這個錯誤對我們的參考你描述。

0

此修復程序對我無效。我也安裝了freetds.x86_64(它讓我安裝,但報告衝突)和路徑./usr/lib/libtdsodbc.so.0是正確的。無論如何創建一個符號鏈接的情況下,內部將尋找它。

​​3210

我最初遵循instructions at MediaTemple,但在64位上看到Cent OS的其他文章。如果我發現任何適合我的東西,我會報告回來。

確實,刪除FreeTDS,重新啓動Apache,安裝上面提到的64位軟件包和更新odbcinst.ini路徑,我能夠超越上述錯誤,並且實際上可以刪除錯誤。

我現在已經成功地向MS SQL服務器「交談」,雖然現在它給了我一般性的錯誤。 感嘆。無論如何,大部分路都在那裏。希望這可以幫助某人。