2016年9月27日火曜日

PostgreSQLのデータベースをAccessから参照する | ライタス株式会社

既存のCMSで展開しているデータベースから、データを取ってきて加工して、お客様へ提出したいという話があり、相談に乗っておりました。

最終的にはExcelで提出したいということだったのですが、PostgreSQLからデータを取り出すところから苦戦されていたので、以下のような方法でやってみました。

1. 運用中のPostgreSQLからデータダンプを取得
2. 作業用PCにPostgreSQLをインストール
3. データダンプを作業用PCにインポート
4. 作業用PCにPostgreSQLのODBCドライバをインストール
5. Accessからデータベース・リンクを設定する


運用中のデータベースは、外からアクセスできないので、このような方法でやってみましたが、1点だけハマリポイントがあったので書き下します。


今回のOfficeは32ビット版がインストールされていたのですが、64ビットのODBCドライバからアクセスしようとすると

failed: [Microsoft][ODBC Driver Manager] 指定された DSN には、ドライバーとアプリケーションとのアーキテクチャの不一致が含まれています
というエラーが出ます。
エラーの内容が意味不明で、一瞬戸惑いましたが、この場合、ODBCドライバーを32ビットにすればOKです。

インストールの方法は、

PostgreSQLのODBCドライバーをダウンロード(記事記載時点でpsqlodbc_09_05_0400.zip)して、
http://www.postgresql.org/ftp/odbc/versions/msi/

インストールします。

32ビット版のODBCドライバを設定するには、
C:\Windows\SysWOW64\odbcad32.exe

からODBCデータソースアドミニストレーターを起動します。


コントロールパネルから起動すると、64ビットのドライバーしか設定できないので、要注意です。
こちらの画面から、ドライバーを追加して、データベースへの設定をすれば接続できるようになります。


0 件のコメント:

コメントを投稿