1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

TalendよりSalesforceに3rdベンダJDBCドライバを組み込んでアクセス

Last updated at Posted at 2020-04-14

TalendなどEAI/ETL製品に3rdベンダJDBCドライバを組み込んで、Salesforceにアクセス

EAI/ETL製品の特長は、様々なデータソースにノンコーディングでアクセスできることですが、対応していないデータソースもあります。そんな時に3rdベンダ製のJDBCドライバを組み込める機能があったりしますので、少し試してみました。

オープンソースETLのTalendで検証

商用のETL/EAIツールは、DataSpider、SQL Server Integration Services、PowerCenter、Asteria Warpなど様々な製品がありますが、今回はOSSのTalendで検証してみました。(Talendはインストール済の前提)

 ・Talend Open Studio for Data Integration (7.3.1)
https://jp.talend.com/products/talend-open-studio/

TalendにProgress DataDirect JDBC for Salesforceを組み込む

https://www.ashisuto.co.jp/datadirect/app_download/ からJDBCドライバを入手し、インストーラを実行して導入しておきます。

Talend Open Studioを起動し、リポジトリ・タブの[メタデータ]→[DB接続定義]を開きます。

図1.jpg

JDBC URLには、「jdbc:datadirect:sforce://login.salesforce.com」を入力し、ドライバとしてDataDirectを追加します。ドライバの+ボタンをクリックして、モジュールを追加していきます。

図2.jpg

「アーティファクトリポジトリ」のラジオボックスを有効にし、「新規モジュールのインストール」の「…」からインストールされているDataDirectのJDBCドライバの場所を指定します。

図3.jpg

DataDirectをインストールしたディレクトリのlib配下にあるsforce.jarがドライバです。

図4.jpg

モジュールがインストールできたら、「ドライバ・クラス」を
「com.ddtek.jdbc.sforce.SForceDriver」に指定します。

図5.jpg

SalesforceのユーザIDとパスワードを入力します。ここで注意点がありますが、パスワードは、「パスワード+セキュリティ・トークン」の文字列として入力するのがポイントです。TalendのSalesforceコネクタには、セキュリティ・トークンだけ入力するボックスがあるのですが、あくまで汎用JDBCということで用意はされていないということですね。
「Test connection」で成功したら、作成した接続定義を使って「スキーマの取得」を行いましょう。

図6.jpg

無事に、今回検索したい「ACCOUNT」オブジェクトが見えてますね。
なお今回、「ACCOUNT」オブジェクトにダミーデータを12,000件ほど入れておきました。

Talend ジョブからデータ取得

Talendジョブを作成してデータを取得します。今回は、SalesforceのACCONTオブジェクトから全件を取得して、ローカルのCSVファイルに出力するジョブです。
tDBInputとtFileOutputDelimitedをつなげるだけのシンプルなジョブになります。
さて、テスト実行してみると・・・・

図7.png

無事、12,179行のACCOUNTオブジェクトのデータがローカルのCSVファイルに出力されました。
かかった時間は、14.39sとあります。

ちなみに、TalendのSalesforceオプションでジョブを作り直して同じジョブを実行したところ、、、

図8.png

18.21sで、若干DataDirectのほうが高速です。
何度か実施しましたが、DataDirectのほうが概ね高速ですが、性能は一概には言えない面もあるので、あくまで参考情報として考えておいてください。

接続プロパティ

さて、わざわざTalendに備わっているSalesforceコネクタを使わずに、DataDirectを使う理由はありません。しかし、DataDirectの特徴として、多様な接続プロパティが設定できるという点があります。このあたりの接続プロパティに魅力を感じられるようなら、DataDirectを組み込むという選択肢はありうるのかなと思います。

設定方法は、接続パラメータに追記していく形になります。

図9.png

やや不格好ですが、「login.salesforce.com」の後に「;」で区切りながら各種パラメータを設定していくことで有効になります。

まとめ

EAI/ETLは多種多様なデータソースへ接続できるというメリットがありますが、併せてDataDirectのような3rdパーティJDBCを組み込む機能を使うと、さらに接続の幅が広がったり、細かい機能が追加できたり痒いところに手が届く感じになります。また、ライセンス体系として、コネクタは別売りのEAI/ETLツールが多いと思いますので、接続したいデータソースのコネクタが高額ということであれば、DataDirectを検討してもいいかもしれません。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?