SSIS で SQL Server から MySQL へのデータフローを構築
SQL Server データベースは、エンタープライズレコードの保存に広く使用されています。このデータを他の場所に移動する必要がある場合がよくあります。CData SSIS Task for MySQL を使用すると、MySQL のデータを簡単に転送できます。この記事では、SQL Server から MySQL にデータをエクスポートする方法を説明します。
ソースとデスティネーションコンポーネントの追加
まず、新しい ADO.NET Source コントロールと新しい MySQL Destination コントロールを Data Flow Task に追加します。
ADO.NET ソースの設定
以下の手順に従って、SQL Server インスタンスへの接続に必要なプロパティを指定します。
- ADO.NET Source を開き、新しい接続を追加します。ここでサーバーとデータベースの情報を入力します。
- Data access mode メニューで「Table or view」を選択し、MySQL にエクスポートするテーブルまたはビューを選択します。
- ADO NET Source ウィザードを閉じ、デスティネーションコンポーネントに接続します。
MySQL 用の新しい Connection Manager を作成
以下の手順に従って、Connection Manager で必要な接続プロパティを設定します。
- 新しい Connection Manager を作成します:Connection Manager ウィンドウで右クリックし、New Connection をクリックします。Add SSIS Connection Manager ダイアログが表示されます。
- メニューから CData MySQL Connection Manager を選択します。
-
接続プロパティを設定します。
Server およびPort プロパティがMySQL への接続には必須です。IntegratedSecurity をFALSE に設定した場合、User、Password も必須になります。 オプションで、Database を設定することもできます。Database は設定がない場合すべてのデータベースを使えるようになります。
パスワード方式によるSSH 接続
パスワード方式によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: MySQL のユーザ
- Password: MySQL のパスワード
- Database: MySQL の接続先データベース
- Server: MySQL のサーバー
- Port: MySQL のポート
- UserSSH: "true"
- SSHAuthMode: "Password"
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHPassword: SSH パスワード
接続文字列形式では以下のようになります。
User=admin;Password=adminpassword;Database=test;Server=mysql-server;Port=3306;UseSSH=true;SSHAuthMode=Password;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHPassword=sshpasswd;
公開鍵認証方式方式によるSSH 接続
公開鍵認証によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: MySQL のユーザ
- Password: MySQL のパスワード
- Database: MySQL の接続先データベース
- Server: MySQL のサーバー
- Port: MySQL のポート
- UserSSH: "true"
- SSHAuthMode: "Public_Key"
- SSHClientCertType: キーストアの種類
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHClientCert: 秘密鍵ファイルのパス
接続文字列形式では以下のようになります。
User=admin;Password=adminpassword;Database=test;Server=mysql-server;Port=3306;UseSSH=true;SSHAuthMode=Public_Key;SSHClientCertType=PUBLIC_KEY_FILE;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHClientCert=C:\Keys\key.pem;
MySQL デスティネーションの設定
デスティネーションコンポーネントの Connection Manager で、SQL Server ソーステーブルから MySQL デスティネーションテーブルへのマッピングと、MySQL のデータに対して実行するアクションを定義します。この記事では、Orders エンティティを MySQL に挿入します。
- MySQL Destination をダブルクリックして、デスティネーションコンポーネントエディタを開きます。
- Connection Managers タブで、先ほど作成した Connection Manager を選択します。
-
Use a Table メニューで Orders を選択します。
Action メニューで Insert を選択します。
-
Column Mappings タブで、入力カラムからデスティネーションカラムへのマッピングを設定します。
プロジェクトの実行
これでプロジェクトを実行できます。 SSIS Task の実行が完了すると、SQL テーブルのデータが選択したテーブルにエクスポートされます。