Lightning Connect で MySQL External オブジェクトと連携

CData Connect Server をつかって、MySQL のデータ の仮想SQL Server として接続し、スマートデバイスやクラウドアプリケーションで利用。Connect Server と Salesforce Lightning Connect を使ってMySQL オブジェクトを作成して、アプリケーションやダッシュボードでデータを使用。

加藤龍彦
デジタルマーケティング

最終更新日:2022-11-25

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

CData Connect Server を使ってSalesforce コンソールやSalesforce Mobile App からMySQL のデータ に接続することができます。 この記事では、CData Connect Server およびSalesforce Lightning Connect をつかって、MySQL 外部オブジェクトを作成します。

CData Connect Server は、ピュアSQL のクラウドインターフェースをMySQL に提供し、データを複製せずにSalesforce Lightning Connect からリアルタイムMySQL のデータとの統合を手軽に実現します。Salesforce Lightning Connect はCData Connect Server をSQL Server データベースとして認識し、最適化されたデータ処理を使用してサポートされているすべてのSQL 操作(フィルタ、JOIN など)をMySQL に直接プッシュして、サーバー側の処理を利用して、MySQL のデータを素早く返します。

  1. Connect Server にログインし、[DATA MODEL]をクリックします。 データベースを追加
  2. [Available Data Sources]から[MySQL]を選択します。
  3. 必要な認証プロパティを入力し、MySQL に接続します。

    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; 接続の設定
  4. Create & Test をクリックします。
  5. Edit MySQL Connection ページのPermissions タブに移動し、ユーザーベースのアクセス許可を更新します。 権限を更新
  6. USERS タブでAuthToken を取得します。

コネクションが構成されたら、Salesforce Lightning Connect からMySQL に接続できるようになります。

MySQL データ にOData データソースとして接続

次の手順で、Connect Server からのフィードに接続する設定を行います。

  1. セールスフォースにログインして、[設定]→[開発]→[外部データソース]をクリックします。
  2. [新規外部データソース]をクリックします。
  3. 以下のプロパティにデータを入力します。:
    • 外部データソース: リストビューやレポートで使われるラベル名を入力。
    • 名前: ユニークな識別子を入力。
    • 種別: SQL Server を選択。
  4. 認証には、次のプロパティを設定します:
    • 認証プロトコル: パスワード認証を選択します。OAuth 2.0 も選択可能です。
    • Certificate: Enter or browse to the certificate to be used to encrypt and authenticate communications from Salesforce to your server.
    • 管理者ユーザ名: Connect Server で設定したユーザー名を入力。
    • 管理者パスワード: ユーザーのauth トークンを入力。
Configuration settings for the data source. (NetSuite is shown.)

MySQL データ と同期したオブジェクトの作成

外部データソース作成後、次の手順で MySQL のデータを反映する外部オブジェクトを作成します。 MySQL 外部オブジェクトとMySQL テーブルの定義を同期する必要があります。

  1. 作成した外部データソースを選択します。
  2. [検証して同期]をクリックします。
  3. MySQL テーブルをクリックして、外部オブジェクトとします。
The list of tables to synchronize in Salesforce. (NetSuite is shown.)

Salesforce オブジェクトとして MySQL データ にアクセス

MySQL のデータ を外部データソースとして追加し、MySQL テーブルをMySQL 外部データソースとして同期すると、標準のSalesforce オブジェクトとして外部オブジェクトを使用することができます。

  • フィルターリストビュー付で新しいタブを作成する:

    A filtered list view shown on a custom tab. (NetSuite Invoices are shown.)
  • 標準Salesforce オブジェクトと並べて MySQL 外部オブジェクトをディスプレイできます:

    A related list that shows an indirect lookup relationship, which links a child external object to a parent standard object. (Salesforce accounts and associated NetSuite invoices are shown.)

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

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