MZプラットフォームは中小製造業のIT化支援を目的に、産総研が開発した無償のソフトウェア基盤です。
中小製造業が自社用アプリケーションを自分たちで開発できるよう、マウス操作でコンポーネントを組み合わせることでソフトウェアを作成できます。
ssl.monozukuri.org
本記事ではMZプラットフォームからSalesforceのデータを参照・更新する方法を紹介します。
一般的にSalesforceなどのクラウドサービスへアクセスする際にはAPI仕様や認証プロセスなど多くのことを理解し実装しなければなりません。
CData Software Japanが提供するCData JDBC Driversは、このようなWeb APIへのアクセスをJDBCインタフェースに変換し、複雑なAPIリクエストをSQLで操作できるようにします。
MZプラットフォームはJDBCドライバを介したデータベースインタフェースを持っており、簡単な設定でPostgreSQLやMySQLなどのデータベースを操作できます。
このMZプラットフォームが持つデータベースインタフェースとCData JDBC Driversとを利用することで、MZプラットフォームとクラウドサービスとのデータ連携を実現できます。
CData JDBC DriversはkintoneやOffice 365, GoogleSheetsなど様々なクラウドサービスに対応しています。
今回はSalesforceを例としてMZプラットフォームからCData JDBC Driversを利用する方法を紹介します。
事前準備
事前準備としてMZプラットフォームがインストールされている環境にCData Salesforce JDBC Driverをインストールします。
CData Salesforce JDBC Driverのインストール
CData Software Japan社のCData Salesforce JDBC Driverダウンロードページにアクセスしてください。
ダウンロードページの[ダウンロード 評価版]をクリックすると必要事項入力画面が表示されます。
必要事項を入力し、[ダウンロード]をクリックするとCData Salesforce JDBC Driver評価版のインストーラがダウンロードされます。
ダウンロードしたファイルをダブルクリックするとインストーラが起動しますので、ウィザードに従ってインストールしてください。
JDBCドライバの配置
CData Salesforce JDBC Driverのインストールが完了したらドライバファイルを適切なフォルダに配置します。
CDataドライバのインストールフォルダのlibフォルダ配下に以下のファイルがあることを確認してください。
例:C:\Program Files\CData\CData JDBC Driver for Salesforce 2020J\lib
- cdata.jdbc.salesforce.jar : ドライバファイル
- cdata.jdbc.salesforce.lic : ライセンスファイル
これをMZプラットフォームの配下にコピーします。
コピー先はMZプラットフォームが参照するJava実行環境により異なります。
MZプラットフォームとともにJava実行環境をインストールした場合は以下のフォルダとなります。
MZ Platform インストールフォルダ¥Java¥jre*_mz*.*¥lib¥ext (*はバージョン番号)
例:C:¥MZPlatform¥Java¥ jre8_mz3.6¥lib¥ext
MZプラットフォームとJava実行環境を別々にインストールした場合のコピー先については、MZプラットフォーム付属のチュートリアル資料「データベースアクセスチュートリアル」の「(参考)JDBC ドライバのインストール」セクションをご覧ください。
Salesforceとのデータ連携
インストールしたCData Salesforce JDBC Driverを利用したMZプラットフォームとの連携方法を説明します。
Salesforceセキュリティトークンの取得
CData Salesforce JDBC DriverはSalesforceのWeb APIへアクセスします。
認証情報としてSalesforceアカウントのユーザ名とパスワードに加えてセキュリティトークンが必要です。
Salesforce でのセキュリティトークン取得方法は以下の記事をご参考ください。
https://www.cdata.com/jp/blog/2021-01-25-113037
コンポーネントによるSalesforceへのアクセス
Salesforceへの接続には通常のデータベースアクセスと同様に[データベースアクセスコンポーネント]を利用します。
データベースアクセスコンポーネントの[データベースに接続する]メソッドの引数に設定する値は以下の通りです。
- ドライバ名:cdata.jdbc.salesforce.SalesforceDriver
- データベースのURL:<接続文字列>
接続文字列は以下の通りです。ユーザ名、パスワード、セキュリティトークンはそれぞれ接続先のSalesforceアカウントの情報を設定してください。
jdbc:salesforce:User=<ユーザ名>;Password=<パスワード>;SecurityToken=<セキュリティトークン>
データを取得する際にはデータベースアクセスコンポーネントの[SQLを実行する]メソッドを利用してSQLを実行します。
例えば取引先の一覧を取得する場合は、以下のようにSelect文を使って取引先オブジェクトに対応する「Accountテーブル」のレコードを取得します。
SELECT * FROM Account
CData Salesforce JDBC Driverでアクセス可能なテーブルはCDataのヘルプをご参照ください。
http://cdn.cdata.com/help/RFF/jp/jdbc/pg_alltables.htm
商品一覧の取得
実際にデータベースアクセスコンポーネントを使ってSalesforceに登録されている以下の商品一覧をMZプラットフォームに読み込みます。
MZプラットフォームにはサンプルアプリケーションが豊富にありますので、これを利用します。
チュートリアルの「データベースアクセス2.mzax」を開いてください。
データベースアクセス2は指定した接続情報とSQLをもとにデータベースのデータを取得するサンプルアプリケーションです。
これを実行すると以下のような二つのフレームが開きます。
左の[データベース接続フレーム]にSalesforceへの接続情報を設定します。
[ドライバ]には「cdata.jdbc.salesforce.SalesforceDriver」、[サーバ]には接続文字列を入力してください。
入力が完了したら[接続]をクリックし、エラーが出ないことを確認してください。
続いてデータを取得します。
[データベース検索フレーム]のSQL入力欄に以下のSQLを入力してください。
SELECT id, Name, ProductionCode FROM Product2
Salesforceの商品オブジェクトはProduct2というテーブルに対応しています。
このSQLはProduct2テーブルを参照し、各商品のId, Name(商品名), ProductionCode(商品コード)の一覧を取得する操作を表しています。
SQLの入力が完了したら[実行]ボタンをクリックしてください。
データの取得に成功すると以下のようにSalesforceに登録されている商品の一覧がテーブルに表示されます。
続いてテーブルの一覧を取得するサンプルも試してみます。
チュートリアルのデータベースアクセス6.mzaxを開いてください。
先ほどと同様に接続情報を入力して接続すると、以下のようにSalesforceのテーブル一覧が表示されます。
さらにテーブル名をダブルクリックするとそのテーブルのデータを一覧できます。
データの更新
CData Salesforce JDBC Driverはデータの取得だけでなく更新、新規登録、削除もサポートしています。
使用できるSQLについてはこちらをご覧ください。
先ほどのサンプルアプリケーションを利用してUpdate文を実行し、Salesforceの商品データを更新してみます。
ここでは例として、ProductCode(商品コード)が「GC5020」である商品のDescription(説明)を「test」にするUpdate文を実行します。
UPDATE Product2 SET Description = 'test' WHERE ProductCode = 'GC5020'
このUpdate文をSQL欄に入力し、実行してください。
Salesforceの商品一覧画面を見ると、対象のデータが更新されていることが確認できます。
続いてInsert文も試してみます。
以下のSQLはName(商品名)が「TestProduct1」、ProductionCode(商品コード)が「TEST001」の商品を新規登録します。
INSERT INTO Product2(Name,ProductCode) VALUES('TestProduct1','TEST001')
このUpdate文をSQL欄に入力し、実行してください。
Salesforceの商品一覧画面を見ると、対象の商品が追加されていることが確認できます。
このように、Salesforceのデータの参照や更新が、通常のデータベースの操作と全く同じようにSQL文を実行することで実現できます。
おわりに
本記事ではCData Salesforce JDBC Driverを使ってSalesforceのデータを操作する方法を紹介しました。
今回はSalesforceのドライバを紹介しましたが、CData JDBC Driversは200を超えるクラウドサービスやオンプレミスソフトウェアのラインナップがあります。
CData Software Japan - JDBC Drivers
これらのドライバは30日間の評価版を無料でご利用頂けます。
MZプラットフォームとクラウドサービスとのデータ連携をご検討の方はぜひお試しください。
本記事についての技術的なお問い合わせにつきましては弊社サポートフォームからお問い合わせください。
関連コンテンツ