3

私はpostgresが初めてなので、この問題はおそらく他の人にとって比較的簡単なものです。しかし、私は解決策を見つけようとして多くのイライラする時間を費やしました. レコードを他のグループに送信するために更新しておく必要があるメタデータの Access データベースがあります。PostgreSQL と PGAdmin を使用したデータベースもあり、これらにも同じメタデータ テーブルがあります。現在、Postgres データベース内のこれらのテーブルは、Access テーブルを Excel ファイルとしてエクスポートしてから SQL テーブルにインポートすることにより、手動で更新されます。これは最も効率的なプロセスではなく、誰かがクエリを実行する前に、Access の最新のデータを使用していることを確認するのを忘れると、SQL データベースでエラーが発生する可能性があります。そこで、Access データベースのいくつかのテーブルを Postgres データベースに統合したいと考えています。
もともと、AccessテーブルをPostgresに直接エクスポートするためのドライバーをインストールしようとしましたが、手動で更新する必要があるテーブルを取り込むだけなので、望んでいた方法ではありませんでした。私の理解では、postgres でサーバー接続を作成してアクセスすると、外部データ ラッパーを使用して更新されたデータが取り込まれます。ogr_fdw を使ってみました。

CREATE EXTENSION ogr_fdw;

私がしようとすると:

CREATE SERVER metadata FOREIGN DATA WRAPPER ogr_fdw OPTIONS ( datasource 'H:\Databases\20170712.accdb', format 'ODBC' );

エラー: データ ソース "H:\Databases\20170712.accdb" に接続できません SQL 状態: HV00D

私がしようとすると: CREATE SERVER metadata FOREIGN DATA WRAPPER ogr_fdw OPTIONS ( datasource 'H:\Databases\20170712.accdb', format 'ACCDB' );

エラー: フォーマット "ADDCB" が見つかりません ヒント: http://www.gdal.org/ogr_formats.htmlのフォーマット リストを参照してください。
MDB も試しましたが、同じエラーが発生しました。ただし、MDB は Web サイトで指定されたコード名ですが、コンパイルには JDK/JRE が必要であると書かれており、それが必要な別の種類のドライバーなのか、それが何であるかはよくわかりません。

私がしようとすると: CREATE SERVER metadata FOREIGN DATA WRAPPER ogr_fdw OPTIONS ( datasource 'H:\Databases\20170712.mdb', format 'ODBC' );

エラー: データ ソース "H:\Databases\20170712.mdb" に接続できません SQL 状態: HV00D ヒント: DRIVER=Microsoft Access Driver (*.mdb);DBQ=H の DSN への ODBC 接続を初期化できません: \Databases\20170712.mdb、[Microsoft][ODBC Driver Manager] データ ソース名が見つからず、既定のドライバーが指定されていません

ただし、ogr_fdw の github ヘルプ ページを見た後、ODBC と特別なドライバーhttps://github.com/pramsey/pgsql-ogr-fdw/blob/master/FAQ.mdは必要ないと思いました。

これの多くは、おそらく、このようなものをたくさん読んでいるときに、用語に関する知識が限られているためです. また、私のAccessデータベースは.accdbファイルですが、それが機能していなかったので、mdbとODBCを「フォーマット」として試してみました. 誰かが何か提案があれば、私はそれを大いに感謝します.
ありがとう!

4

0 に答える 0