CELF からCData Connect 経由でSalesforce にアクセスする方法

by Jonathan Hikita | 2022年03月08日

CData Connect は、クラウド上のMySQL/SQL Server のインスタンスで、100を超えるクラウドデータをDB に仮想化することができるサービスです。

CELF は、プログラマーではないユーザーがセルフサービスで業務アプリを開発・管理できる便利なサービスです。 本記事では、CELF からCData Connect 経由でSalesforce のデータをリアルタイムでアクセスすることを検証しました。

f:id:cdatasoftware:20181113015955p:plain

CData Connect にSalesforce データを接続

まず CData Connect (旧CloudHub) のアカウントを取得します。CData Connect はSaaS ですので、アカウントを取得したらインストールやホスティングなどなく、ブラウザからログインすることですぐに使用開始です。

早速ブラウザからCData Connect にログインします。「DATABASE」タブから仮想データベースを設定していきます。まずは接続するデータソースであるSalesforce のアイコンをクリックします。

f:id:sugimomoto:20210730105522p:plain

データソース接続画面が開くので、データソース毎の認証情報を入力します。Salesforce の場合はUser、Password、Security Token を入力することでデータにアクセスすることができます。

f:id:sugimomoto:20210730105531p:plain

接続設定を行ったあとは、「Data Explorer」を使ってクエリを確認してみましょう。

f:id:sugimomoto:20210730105537p:plain

次に「ENDPOINTS」タブで、このデータをどのインターフェースのエンドポイントして公開するかを選択します。デフォルトで、OData、MySQL wire protocol、TDS(SQL Server) wire Protocol がすべて有効になっています。

必要があればアクセスを許可する信頼されたIP アドレスを指定することも可能です。

f:id:sugimomoto:20210730105550p:plain

最後に公開したデータにアクセスできるユーザーとトークンを作成します。「USERS」タブからユーザーを作成するとトークンが生成されます。ユーザーを作成した場合は、データソースの Privileges タブでアクセス権を付与することを忘れないようにしてください。

f:id:sugimomoto:20210730105556p:plain

これでCData Connect でSalesforce データを扱う準備ができました。

CELF からCData Connect 経由でSalesforce にアクセスする方法

ここからはCELF からCData Connect にアクセスする方法を説明します。

MySQL のODBC 接続の設定

CELF の外部データ接続は、すべてODBC 経由で行われます。 ただし汎用のODBC Drivers が利用できるわけではなく、MySQL、PostgreSQL、SQL Server などの規定のODBC しか受け付けない仕様になっています。 このため、CData ODBC Drivers などを直接利用することができません。そのため、CData Connect のMySQL インスタンスをODBC で接続します。 f:id:cdatasoftware:20181113015618p:plain

ODBC Manager から新しいDSN を追加し、「MySQL Unicode ODBC Driver 」を選択します。 注意点として、ODBC は32 ビットを使用します。64ビットではCELF での利用ができません。

任意の名前を設定し(ここでは「MySQL CData Connect」)CData Connect のホスト名・ユーザー名・パスワードを入力して接続を確立します。

CELF でのDB 設定

次にCELF からMySQL ODBC に接続します。 「データベース接続管理」タブから「新規データベース接続先情報作成」ボタンをクリックして、情報を登録します。 f:id:cdatasoftware:20181113015627p:plain

  • 接続ID: 任意

  • データソース名: 先ほど設定したODBC 名

  • ユーザー名: CData Connect のユーザー名

  • パスワード: CData Connect のパスワード

登録が完了したら右上の「テーブル管理」を開き、「接続先データベース」で作成したCData Connect のデータベースを選択します。 すると、Salesfore のオブジェクトがテーブルとして左の「テーブル一覧」に表示されます。ここでは「Account (取引先)」をダブルクリックします。 すると「データ」欄にSalesforce 上の取引先データがレコード表示されます。 f:id:cdatasoftware:20181113015634p:plainf:id:cdatasoftware:20181113015638p:plain

確かにSalesforce のデータです。 f:id:cdatasoftware:20181113000806p:plain

CELF アプリケーションからのSalesforce データへのアクセス

これでCELF アプリ上でCData Connect 経由でSalesforce データを使うことができるようになります。

Salesforce データを取得

リボンから「アクション」ボタンをおして、新しいアクションを設定します。 f:id:cdatasoftware:20181113015538p:plain

アクションセット設定で、「データ操作」タブから「テーブルXXから複数権取得する」のブロックをドラグします。 これはSQL でいうSELECT 文を発行するアクションです。 f:id:cdatasoftware:20181113015545p:plain

テーブルを「先ほどのMySQL CData Connect」の「Account」に指定します。 その後データを表示する開始セルを設定したら、保存してテスト実行します。 f:id:cdatasoftware:20181113015550p:plain

するとSalesforce データがCELF の指定した箇所にレコードとしてインポートできました。

Salesforce データを登録

同様にデータの登録(Insert)が可能です。 f:id:cdatasoftware:20181113015614p:plain

Salesforce データを更新

同様にデータの更新(Update)が可能です。 f:id:cdatasoftware:20181113015602p:plain

Salesforce データを削除

同様にデータの削除(Delete)が可能です。 f:id:cdatasoftware:20181113015604p:plain

まとめ

このようにCELF のカスタマイズを行わずにSalesforce データに連携し、リアルタイムにCRUD を行うことができます。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。