PostgreSQLのデータベースをAccessから参照する | ライタス株式会社
既存のCMSで展開しているデータベースから、データを取ってきて加工して、お客様へ提出したいという話があり、相談に乗っておりました。
最終的にはExcelで提出したいということだったのですが、PostgreSQLからデータを取り出すところから苦戦されていたので、以下のような方法でやってみました。
1. 運用中のPostgreSQLからデータダンプを取得
2. 作業用PCにPostgreSQLをインストール
3. データダンプを作業用PCにインポート
4. 作業用PCにPostgreSQLのODBCドライバをインストール
5. Accessからデータベース・リンクを設定する
運用中のデータベースは、外からアクセスできないので、このような方法でやってみましたが、1点だけハマリポイントがあったので書き下します。
今回のOfficeは32ビット版がインストールされていたのですが、64ビットのODBCドライバからアクセスしようとすると
エラーの内容が意味不明で、一瞬戸惑いましたが、この場合、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ビットのドライバーしか設定できないので、要注意です。
こちらの画面から、ドライバーを追加して、データベースへの設定をすれば接続できるようになります。
最終的には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ビットのドライバーしか設定できないので、要注意です。
こちらの画面から、ドライバーを追加して、データベースへの設定をすれば接続できるようになります。
コメント
コメントを投稿