我在我的 PC(32 位元)和伺服器上安裝了 Informix Client SDK。我可以輕鬆地在我的 PC 上建立 ODBC 連接,但在 Windows 2003 和 2008(64 位元)上卻不能。
不知道有沒有64位的SDK;也許這就是問題所在。但我還沒找到該做什麼。
我需要使用 ODBC,因為單獨使用 SDK 會掛起 IIS,並且根據這篇文章,解決辦法是使用ODBC。
謝謝
答案1
我已經找到方法了。
問題是伺服器是64位元的,而我的工作站是32位元的。
IIS 應用程式是 32 位元的,因此 ODBC 連線也必須是 32 位元的。
要在 64 位元 Windows 上存取 32 位元 ODBC,您應該執行c:\windows\syswow64\odbcad32.exe
而不是c:\windows\system32\odbcad32.exe
.
現在我可以新增 Informix 的資料連線。
希望這對那裡的人有幫助。
更新:這不適用於 Windows Server 2008 :(
答案2
64 位元 Windows(所有版本)支援 32 位元和 64 位元可執行檔和程式庫。
ODBC 使用應用程式的位數決定了它可以使用的驅動程式的位數。 32 位元 IIS 需要 32 位元 ODBC 驅動程式、32 位元用戶端 SDK。 64位元IIS可以設定為以32位元模式運行,在這種情況下它需要32位元ODBC驅動程式、32位元客戶端SDK。在預設 64 位元模式下,64 位元 IIS 需要 64 位元 ODBC 驅動程式、64 位元用戶端 SDK。
32 位元 ODBC 驅動程式使用 32 位元 ODBC 管理器進行設定。在 64 位元 Windows 上,這是C:\Windows\SysWoW64\odbcad32.exe
.在 32 位元 Windows 上,這是C:\Windows\System32\odbcad32.exe
.
64 位元 ODBC 驅動程式使用 64 位元 ODBC 管理器進行設定。在 64 位元 Windows 上,這是C:\Windows\System32\odbcad32.exe
.在 32 位元 Windows 上,這不存在。
幾乎在所有情況下,系統 DSN 都是您的最佳選擇。用戶 DSN 很少是最佳選擇。
一般來說,無論目標 Informix 實例的版本是什麼,您都需要最新版本的 Informix CSDK。鑑於目標 Informix 實例與 CSDK 不在同一台機器上,CSDK 和目標實例的位數可以但不一定相符。