SSIS で SQL Server から PostgreSQL へのデータフローを構築

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
CData SSIS Tasks for PostgreSQL を使用して、SQL Server データを PostgreSQL に簡単にプッシュできます。

SQL Server データベースは、エンタープライズレコードの保存に広く使用されています。このデータを他の場所に移動する必要がある場合がよくあります。CData SSIS Task for PostgreSQL を使用すると、PostgreSQL のデータを簡単に転送できます。この記事では、SQL Server から PostgreSQL にデータをエクスポートする方法を説明します。

ソースとデスティネーションコンポーネントの追加

まず、新しい ADO.NET Source コントロールと新しい PostgreSQL Destination コントロールを Data Flow Task に追加します。

ADO.NET ソースの設定

以下の手順に従って、SQL Server インスタンスへの接続に必要なプロパティを指定します。

  1. ADO.NET Source を開き、新しい接続を追加します。ここでサーバーとデータベースの情報を入力します。
  2. Data access mode メニューで「Table or view」を選択し、PostgreSQL にエクスポートするテーブルまたはビューを選択します。
  3. ADO NET Source ウィザードを閉じ、デスティネーションコンポーネントに接続します。

PostgreSQL 用の新しい Connection Manager を作成

以下の手順に従って、Connection Manager で必要な接続プロパティを設定します。

  1. 新しい Connection Manager を作成します:Connection Manager ウィンドウで右クリックし、New Connection をクリックします。Add SSIS Connection Manager ダイアログが表示されます。
  2. メニューから CData PostgreSQL Connection Manager を選択します。
  3. 接続プロパティを設定します。

    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;

PostgreSQL デスティネーションの設定

デスティネーションコンポーネントの Connection Manager で、SQL Server ソーステーブルから PostgreSQL デスティネーションテーブルへのマッピングと、PostgreSQL のデータに対して実行するアクションを定義します。この記事では、Orders エンティティを PostgreSQL に挿入します。

  1. PostgreSQL Destination をダブルクリックして、デスティネーションコンポーネントエディタを開きます。
  2. Connection Managers タブで、先ほど作成した Connection Manager を選択します。
  3. Use a Table メニューで Orders を選択します。 Action メニューで Insert を選択します。
  4. Column Mappings タブで、入力カラムからデスティネーションカラムへのマッピングを設定します。

プロジェクトの実行

これでプロジェクトを実行できます。 SSIS Task の実行が完了すると、SQL テーブルのデータが選択したテーブルにエクスポートされます。

はじめる準備はできましたか?

PostgreSQL SSIS Component の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

PostgreSQL Icon PostgreSQL SSIS Components お問い合わせ

SSIS ソース元 & 接続先コンポーネントは、SQL Server SSIS のワークフロー内で簡単にPostgreSQL 互換のデータベースエンジンに接続できるパワフルなツールです。

データフロー内のPostgreSQL コンポーネントを使ってPostgreSQL を同期できます。データ同期、ローカルバックアップ、ワークフローの自動化などに最適!