天天看點

如何在Win7 x64上的配置32位的PostgreSQL ODBC資料源

在Win7 x64下安裝最新版的PostgreSQL 9.x 後,從其官網下載下傳最新的 ODBC驅動,分為普通的32位和64位版本,正常安裝後,從已安裝軟體清單裡可以看到兩個版本的驅動都已經正确顯示出來。但是在管理工具下ODBC資料源界面裡隻能選擇64位的PostgreSQL驅動,32位竟然沒有。如此一來,一些32位的應用軟體就沒法利用ODBC連結到資料庫了(嘗試選取地話,會報告選取的資料源(64位)和應用程式的系統構架(32位)不一緻而失敗)。

一開始以為在ODBC資料源無法選擇32位驅動是和安裝驅動的順序有關,或者32位和64位驅動互相沖突。卸卸裝裝反複幾次,問題依舊。後來查閱psqlodbc項目組的FAQ才找到解決辦法:

從cmd運作 %SystemRoot%\syswow64\odbcad32.exe來配置32位的PostgreSQL ODBC資料源。odbcad32.exe運作界面和管理工具下ODBC資料源配置界面類似,但是是用來管理32位驅動的。Win7 x64管理工具下ODBC資料源配置程式(%SystemRoot%\system32\odbcad32.exe)實際上是64位的驅動管理。

官方的解釋為:

Contributed by Mark Wood ([email protected])

Though you can install 32 bit ODBC drivers on Win X64 as usual, you can't configure 32-bit DSNs via oridinary control panel or ODBC datasource administrator.

How to configure 32 bit ODBC drivers on Win x64

Configure ODBC DSN from %SystemRoot%\syswow64\odbcad32.exe.  Click

   Start->Run

   Enter: %SystemRoot%\syswow64\odbcad32.exe

   Hit return

This looks the same as the driver manager you might run from the control panel, but is for managing 32bit drivers. If you run odbcad32.exe from the System32 directory, you are actually running the 64bit driver manager.

詳情請參考psqlodbc項目組的FAQ:http://psqlodbc.projects.postgresql.org/faq.html#6.8

另:對于MySQL的ODBC驅動,同時安裝32位和64位後,在已安裝軟體清單裡出現的兩個一模一樣名字的條目。通過管理工具下ODBC資料源配置程式配置的64位驅動的資料源在32位的應用軟體裡是沒有問題的 - 不知道MySQL是怎麼做的,可能是在建立64位驅動的資料源的同時自動建立一個32為資料源。

繼續閱讀