RPA ツールPower Automate Desktop からPostgreSQL のデータに接続する方法(CSV ファイルの生成自動化)

ODBC Driver 経由でPower Automate Desktop からPostgreSQL のデータを利用可能に

加藤龍彦
デジタルマーケティング

最終更新日:2023-09-07

この記事で実現できるPostgreSQL 連携のシナリオ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

Power Automate Desktop は、さまざまなファイルやサービスの処理を自動化できるMicrosoft のRPA サービスです。Power Automate Desktop をCData ODBC ドライバと組み合わせることで、ネイティブではサポートされていない多くのSaaS / クラウドDB のデータを扱えます。この記事ではCData ODBC Driver for PostgreSQL を使って、Power Automate Desktop からPostgreSQL のデータを使えるようにします。サンプルとしてPostgreSQL のデータから特定のテーブルを選んで自動でCSV ファイルを生成します。

CData ODBC ドライバとは?

CData ODBC ドライバは、以下のような特徴を持った製品です。

  1. PostgreSQL をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレデータソースに対応
  2. Power Automate Desktop をはじめとする多様な自動化ツールやノーコードアプリ、BI ツールにPostgreSQL のデータを連携
  3. ノーコードでの手軽な接続設定

CData ODBC ドライバでは、1.データソースとしてPostgreSQL の接続を設定、2.Power Automate 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。

CData ODBC ドライバのインストールとPostgreSQL への接続設定

まずは、本記事右側のサイドバーからPostgreSQL ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

ODBC ドライバーのインストール完了時にODBC DSN 設定画面が立ち上がります。「Microsoft ODBC データソースアドミニストレーター」を開いて設定を行うことも可能です。

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;

Power Automate Desktop では、設定したPostgreSQL のDSN 名のほかに、使用するテーブル名が必要です。テーブル名は、ODBC DSN 構成画面の「テーブル」タブで確認可能です。使うテーブルもしくはビューの名前をコピーして控えておくとよいでしょう。

Power Automate Desktop でPostgreSQL のデータを利用するフローを作成

Power Automate Desktop でフローを作成していきます。Power Automate Desktop を立ち上げて、「新しいフロー」をクリックします。任意のフロー名を入力して、新規のフローを作成します。

以下の順番でフローを作成していきます。

SQL 接続の設定

Power Automate Desktop から、CData ODBC ドライバでPostgreSQL に接続する場合にはデータベース接続のアクションを使います。まず最初に「SQL 接続を開く」アクションを配置して、先ほど設定したODBC DSN への接続設定を行います。

「SQL 接続を開く」の設定画面で、PostgreSQL のDSN を「DSN= CData PostgreSQL Source;」の形で指定します。

SQL ステートメントの実行

続いてデータを取得するクエリを実行するために「SQL ステートメントの実行」を配置します。設定画面に以下を設定します。

  • 接続の取得方法:SQL 接続変数
  • SQL 接続:%SQLConnection%
  • SQL ステートメント:SELECT * FROM Orders
  • タイムアウト:任意

これでSQL でPostgreSQL にクエリをすることができます。豊富なSQL の設定が可能です。

CSV ファイルの生成

この例では、取得したPostgreSQL のデータをCSV ファイルとして保存します。では、CSVファイルの生成アクションを設定します。アクションから「CSV ファイルに書き込みます」を配置します。

取得したアプリのデータが格納されている「%QueryResult%」を書き込む変数に指定します。生成先のファイルパスを指定します。列名を含めたい場合には「Advanced」の「列名を含めます」にチェックを入れます。

SQL 接続を閉じる

最後に、接続したODBC 接続をクローズします。「SQL接続を閉じる」をフローに配置します。

閉じるコネクションを指定して保存します。

これで、PostgreSQL のデータをCSV に保存するPower Automate フローが完成しました。実行ボタンを押してオートメーションを実行しましょう。

PostgreSQL からPower Automate へのデータ連携には、ぜひCData ODBC ドライバをご利用ください

このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをPower Automate Desktop からコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。

日本のユーザー向けにCData ODBC ドライバは、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。