このエントリーをはてなブックマークに追加


32bit版ODBCと64bit版ODBCドライバの共存

Windows 7 64bit版とLibreOfficeのBaseを使ってPostgreSQLに接続したときの記事です。
使用した環境は以下通りです。

接続するマシン
Windows 7 64bit版

データベースマシン CentOS 5.7
PostgreSQL8.4.7

関連資料

ODBCドライバ64bit版+32bitアプリケーションでデータベース接続エラー

64bit版のPostgreSQLのODBCドライバ(64bit版)をダウンロードしてインストールし、LibreOfficeのBaseを使い接続を試みたところエラーが発生。
結局、LibreOffieのBaseが32bitアプリケーションとして動作しており、PostgreSQLのODBCドライバが64bit用のドライバなのでエラー(接続できない)が発生したようです。

本記事で利用した64bit版PostgreSQL ODBCダウンロードファイル名

  • psqlodbc_09_01_0100-x64.zip

このドライバを利用してコントロールパネルよりODBC設定をし32bitアプリケーション(今回はLibreOffice Base)から接続するとエラーとなりました。

odbc-01.gif

PostgreSQLの32bit版ODBCをダウンロード&インストール

当方、LibreOffie BaseからODBC接続するために64bit版のPostgreSQL ODBCドライバをダウンロードしてインストールしました。

上記のURLよりPostgreSQL ODBCドライバ(32bit版)をダウロードしました。| 本記事で利用した32bit版PostgreSQL ODBCダウンロードファイル名(x64がありません)

  • psqlodbc_09_01_0100-1.zip

このドライバを利用しWindows 7 64bit版とBaseによるPostgreSDQL接続は成功しました。

odbc-02.gif

32bit版ODBCのDSN(データソース)設定方法

Windows 7 64bit版では、コントロールパネルからODBC設定画面を起動しても64bit版ドライバの設定しか行えません。
したがって、32bit版のODBCを設定するには以下の操作が必要となります。

  1. コマンドプロンプトを起動します。
  2. %windir%\SysWOW64\odbcad32.exe と入力しEnterキーを押します。
  3. 32bit版のODBCデータソースアドミニストレーター画面が表示されます。
  4. データソースの設定を行います。

つまり、32bitドライバの場合は、32bit版のodbcad32.exeを起動して設定しなければなりません。
ちなみに64bit版のodbcad32.exeは%windir%\System32\odbcad32.exeにあります。

64bit版のodbcad32.exeで設定したデータソース情報も32bit版で設定したデータソース情報、どちらのodbcad32を起動しても表示されました。


添付ファイル: fileodbc-01.gif 1152件 [詳細] fileodbc-02.gif 1481件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:08:00