CData SSIS Components を使用して SQL Server から PostgreSQL レコードを新規挿入または既存を更新

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
CData SSIS Components を使用して SQL Server データを PostgreSQL に簡単にプッシュできます。この例では、SSIS ワークフローを使用して、SQL Server データベースのデータで PostgreSQL に新しいレコードを挿入するか、既存のレコードを更新します。

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

この記事では、CData SSIS Components for PostgreSQL を SQL Server Integration Services ワークフロー内で使用して、SQL Server から PostgreSQL にデータをエクスポートする方法を説明します。ルックアップコンポーネントを活用して、既存のレコードを検索・更新するか、新しいレコードを挿入します。

コンポーネントの追加

まず、新しい OLE DB ソース、CData PostgreSQL ルックアップ、および 2 つの CData PostgreSQL デスティネーション(ルックアップで一致した場合と一致しなかった場合をそれぞれ処理)を新しい Data Flow Task に追加します。

OLE DB ソースの設定

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

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

PostgreSQL 用の新しい Connection Manager を作成

以下の手順に従って、Connection Manager に接続プロパティを保存します。

  1. 新しい Connection Manager を作成します:Connection Manager ウィンドウで右クリックし、New Connection をクリックします。Add SSIS Connection Manager ダイアログが表示されます。
  2. Connection Manager type メニューで CData PostgreSQL Connection Manager を選択します。
  3. 接続プロパティを設定します。通常、PostgreSQL 接続には以下が必要です:
    • User
    • Password
    • AccessToken

PostgreSQL ルックアップの設定

ルックアップコンポーネントの Transform Editor で、SQL Server ソーステーブルから PostgreSQL ルックアップテーブルへのマッピングを定義します。

  1. PostgreSQL ルックアップをダブルクリックして、ルックアップコンポーネントエディタを開きます。
  2. Connection タブで、先ほど作成した Connection Manager を選択します。
  3. Connection タブで、Connection Manager を指定(または新規作成)し、データがアップサートされるテーブルを指定します。この例では、Account レコードを転送します。
  4. Columns タブで、入力カラムの主キーからルックアップカラムの主キーへのマッピングを設定します。

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

ルックアップコンポーネントを使用すると、データソースのどのエントリが PostgreSQL に既に存在し、どのエントリが新規であるかがわかります。一致が見つかった場合と見つからなかった場合を処理する 2 つの PostgreSQL コンポーネントを設定します。

ルックアップ一致デスティネーション

ルックアップコンポーネントが一致を返した場合、PostgreSQL の既存レコードを更新します。

  1. Lookup Match Output を PostgreSQL デスティネーションコンポーネントにマップします。
  2. PostgreSQL デスティネーションをダブルクリックして、デスティネーションコンポーネントエディタを開きます。
  3. Connection Manager タブで、先ほど作成した Connection Manager を選択します。
  4. 更新するテーブルを指定し、Action を「Update」に設定します。
  5. Column Mappings タブで、入力カラムからデスティネーションカラムへのマッピングを設定します(SQL Server の主キーカラムを PostgreSQL の主キーカラムにマップすることを忘れずに)。

ルックアップ不一致デスティネーション

ルックアップコンポーネントが一致を返さなかった場合、PostgreSQL に新しいレコードを追加します。

  1. Lookup No Match Output を PostgreSQL デスティネーションコンポーネントにマップします。
  2. PostgreSQL デスティネーションをダブルクリックして、デスティネーションコンポーネントエディタを開きます。
  3. Connection Manager タブで、先ほど作成した Connection Manager を選択します。
  4. 新しいレコードを挿入するテーブルを指定し、Action を「Insert」に設定します。
  5. Column Mappings タブで、入力カラムからデスティネーションカラムへのマッピングを設定します。

プロジェクトの実行

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

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

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

 ダウンロード

詳細:

PostgreSQL Icon PostgreSQL SSIS Components お問い合わせ

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

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