各製品の資料を入手。
詳細はこちら →CData ODBC Driver を使ってAsprovaをPostgreSQL と連携
CData ODBC Driver を使って、AsprovaとPostgreSQL とのデータ連携を実現します。
最終更新日:2022-02-13
こんにちは!プロダクトスペシャリストの浦邉です。
生産スケジューラ「Asprova」はODBC によるデータベース接続をサポートしているため、これを通してPostgreSQLとのデータ連携を行うことが可能です。 通常、PostgreSQLなどのSaaS として提供されるアプリケーションにはWeb API でアクセスしますが、CData PostgreSQL ODBC Driver によって、RDB にアクセスするのと同じ感覚で、PostgreSQL のデータを扱うことができます。 本記事ではPostgreSQLからAsprovaへの「品目」データ取り込みの例を通してデータ連携手順を示します。
CData ODBC ドライバとは?
CData ODBC ドライバは、以下のような特徴を持った製品です。
- PostgreSQL をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレデータソースに対応
- 多様なアプリケーション、ツールにPostgreSQL のデータを連携
- ノーコードでの手軽な接続設定
- 標準SQL での柔軟なデータ読み込み・書き込み
CData ODBC ドライバでは、1.データソースとしてPostgreSQL の接続を設定、2.Asprova 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとPostgreSQL への接続設定
まずは、本記事右側のサイドバーからPostgreSQL ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
インストールが完了したら、DSN 設定画面が開くので、必要な接続プロパティを入力してPostgreSQL への接続を行います。
PostgreSQL への接続には、Server、Port(デフォルトは5432)、Database、およびUser、Password のプロパティを設定します。Database プロパティが設定されない場合には、User のデフォルトデータベースに接続します。
パスワード方式によるSSH 接続
パスワード方式によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: PostgreSQL のユーザ
- Password: PostgreSQL のパスワード
- Database: PostgreSQL の接続先データベース
- Server: PostgreSQL のサーバー
- Port: PostgreSQL のポート
- UserSSH: "true"
- SSHAuthMode: "Password"
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHPassword: SSH パスワード
接続文字列形式では以下のようになります。
User=admin;Password=adminpassword;Database=test;Server=postgresql-server;Port=5432;UseSSH=true;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHPassword=sshpasswd;
公開鍵認証方式によるSSH 接続
公開鍵認証によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: PostgreSQL のユーザ
- Password: PostgreSQL のパスワード
- Database: PostgreSQL の接続先データベース
- Server: PostgreSQL のサーバー
- Port: PostgreSQL のポート
- UserSSH: "true"
- SSHAuthMode: "Public_Key"
- SSHClientCertType: キーストアの種類
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHClientCert: 秘密鍵ファイルのパス
接続文字列形式では以下のようになります。
User=admin;Password=adminpassword;Database=test;Server=PostgreSQL-server;Port=5432;UseSSH=true;SSHClientCertType=PEMKEY_FILE;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHClientCert=C:\Keys\key.pem;
Asprovaでの接続情報の設定
-
メニューの「ファイル」から「データ入出力」を選択し、「データ入出力」ダイアログを開きます。
-
「品目」行のヘッダをダブルクリックし、「データ入出力の編集」ダイアログを開きます。
-
「RDBトランザクション」を「いいえ」に変更し、「OK」を押下します。
データドライバの設定
-
「品目」の「データソースの種類」を「OLE DB」に変更します。
-
「接続文字列/フォルダ」列のボタンを押下し、「データ リンク プロパティ」ダイアログを開きます。 「プロバイダー」タブで「Microsoft OLE DB Provider for ODBC Drivers」を選択し「次へ」を押下します。
-
「接続」タブで「データソース名を使用する」が選択されていることを確認し、コンボボックスで「CData PostgreSQL Source」を選択します。
-
「接続のテスト」を押下し「接続のテストに成功しました」というメッセージが表示されればドライバの設定に成功です。
スキーマの設定
-
「外部テーブル名」列のボタンを押下し、「テーブル一覧」ダイアログを開きます。 ここでPostgreSQLのテーブル一覧が表示されることを確認してください。
-
出力先テーブル(Asprovaの品目)、入力元テーブルの項目の対応付けを行います。「フィールドマッピング」列のボタンを押下し、「品目-フィールドマッピング」画面を開きます。
-
画面の二つのテーブルの間で右クリックし、コンテキストメニューの「全削除」を選択します。すべてのマッピングが削除されたことを確認し、項目同士をドラッグアンドドロップでつなぎ上記のマッピングを設定します。
-
これでデータ取り込みの設定は終了です。メニューの「ファイル」から「インポート」をクリックします。画面下のメッセージでエラーが出なければインポートは完了です。
データの確認
メニューの「テーブル表示」から「品目」を選択します。下図のように、PostgreSQLから取り込んだ商品データが表示されれば成功です。