Loading Oracle dynamically linked library libclntsh.so failed [Update]

Environment:

Oracle Enterprise Linux R5 64bit

Oracle Instant Client Basic 11.2.0.2.0 64bit

Situation:

DB與程式安裝在不同的機器上, 本機電腦透過Oracle instant client連至遠端DB發生

Loading Oracle dynamically linked library <libclntsh.so> failed

的錯誤以致無法連到DB。

Solution:

改安裝32bit Oracle Instant Client即可正常連至DB。

因為OS為64bit, 所以預期所有程式都安裝64bit版本,

可是看起來似乎有些程式還是只能用32bit的版本來執行;

目前不清楚為何使用64bit版本就會出現錯誤訊息, 不知是Bug還是連接DB的程式有什麼地方有錯, 難道使用32bit與64bit的開發方式會不同嗎?

真令人困擾…

補充:

主要應該是Client端的應用軟體在開發時, 使用的是32bit的library; 如果將此軟體安裝在64bit的環境下就會有問題…

如果DB (64bit) 與應用程式 (32bit) 安裝在同一台機器上 (64bit),

仍然必須安裝32bit Oracle Instant Client,

同時在啟動應用軟體所使用的ORACLE_HOME/lib等需指向Instant Client的安裝目錄 (不使用Oracle DB的安裝目錄), 如此一來此應用程式就會參考32bit的library了…

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s