TalendのメタデータにSQL ServerへのDB接続を作成する

OLYMPUS DIGITAL CAMERA

Talend(Talend Open Studio for Data Integration 5.4.1)を使ってデータ連携をする時には、まず、メタデータを作成する必要があります。前回はSQL Serverへ接続するときに、ODBCを使った方法をまとめましたが、今回はODBCを使わずに接続する方法をご紹介します。

ODBC接続を使わない場合は設定で、かなりはまったので、はまった点を含めて記録しておきます。

DB接続の作成

メタデータのDB接続を右クリックして、DB接続の作成を選択します。
2014-01-22_1114

プロパティの定義

新規DB接続ダイアログが表示されたら、名前(Name)、目的(Purpose)、説明(Description)を入力します。目的や説明は入力しなくても、名前だけ入力すれば次のダイアログへ進めます。
名前を入力するときには、スペースを入れないように注意しましょう。
2014-01-22_1119

接続パラメータを定義

DB Typeに Microsoft SQL Serverを選択すると、接続に関する設定情報設定ができるようになりますが、この時に使っているドライバはJDBCのフリーのドライバjTDSになります。
そこで、jTDSに対して接続文字列を設定する必要がありますが・・・

2014-01-22_1436

SQL Server 2008 R2 Expressの場合は、ポートが指定されていないため、こちらのサイトを参考にしながら以下の様な接続文字列を設定しました。

jdbc:jtds:sqlserver://[SQL Server名]/[データベース名];instance=sqlexpress

もちろん、SQL Server側でSQL Server Browserの起動や、ファイヤーウォールの設定など、SQL Server側の外部アクセス設定(動的ポートを利用)を実施しておく必要があります。

これ、ダイアログ上から設定しようと思ってもうまくいかないので、結局接続文字列を直接変更しました。
この時点でチェックボタンを押して・・・お、動いた!

と、思って、保存して、再度開こうとすると?

jdbc:jtds:sqlserver://[SQL Server名]:/[データベース名];instance=sqlexpress

なんか、コロンが入ってる!!
勝手に入っちゃうのか・・・ということで、結局、SQL Server側のポート番号を固定にしました。

jdbc:jtds:sqlserver://[SQL Server名]:1433/[データベース名];instance=sqlexpress

やっとつながりました。

ちなみに、Windows認証は使えない様子(たぶん、何かモジュール入れればできそうな気はするけど・・・)なので、SQL Server認証にて接続するために、SQL Server側にユーザー設定が必要です。
この認証系に関しても、はまった部分です。

スキーマ情報の取得

作成したDB接続を右クリックして、スキーマ情報の取得をクリックします。
2014-01-22_1429

フィルタの設定

とりあえず、全部のテーブルを表示させたいので、何も変更せずに次へをクリック
2014-01-22_1430

テーブルなどの選択

データベースの中をクリックしながら開き、目的とするテーブルを選択します。数が多いとかなり時間がかかります。
目的のテーブルなどを選択したら、次へをクリックします。
2014-01-22_1432

テーブルなどの中を確認

選択したテーブルのフィールドを確認して、問題が無ければ終了をクリックします。
2014-01-22_1434

最後に取得したスキーマ情報が反映されているかどうか確認して終了です。

2014-01-22_1435

ODBC接続したら、文字化けしていましたが、SQL Serverへ直接接続したら、文字化けも解消しました!

Pocket
LINEで送る

  1. コメントはまだありません。

  1. トラックバックはまだありません。

CAPTCHA