Salesforce データを活用してEspressReport ES でレポート・チャートを作成する手法

ここでは、CData JDBC Driver for Salesforce を使用して、EspressReport ES(ERES)から Salesforce データにアクセスする方法について説明します。この例では Windows を使用しており、ERES が C:\ERES にインストールされていることを前提としています。(なお、CData JDBC Driver for Salesforce は、EspressChart、EspressReport、および EspressDashboard にも同様の方法で導入可能です。)

CDataは、Salesforceをはじめ、その他多くのクラウドサービスやSaaSアプリケーション向けのJDBCドライバーを提供しています。CDataのJDBCドライバーとERESのJDBC接続機能を組み合わせることで、連絡先、アカウント、見込み客、商談などのSalesforceオブジェクトを、レポートやグラフのデータソースとして利用できるようになります。

Salesforce Developer Edition アカウントの設定

テスト用の Salesforce 環境をまだお持ちでない場合は、無料の Developer Edition アカウントを作成してください:

1.Salesforce Developer Edition の登録ページ を開きます。
2.連絡先情報とメールアドレスを入力します。
3.任意のユーザー名を入力します。Salesforce のユーザー名はメールアドレスの形式を使用しますが、ユーザー名は連絡先メールアドレスと同じである必要はありません。
4.Sign Me Up をクリックします。
5.Salesforce から送信された確認メールを開き、アカウントを確認します。
6.アカウントのパスワードを設定し、新しい Salesforce 環境にログインします。

連絡先データのサンプルをインポートする

例えば10件の連絡先レコードを作成します。これをsalesforce_contacts.csvという名前で保存してください。

Salesforce データインポートウィザードを使用してファイルをインポートするには:Salesforce はバックグラウンドでインポート処理を行い、完了するとメールを送信します。また、データインポートウィザードの「最近のインポートジョブ」セクションでステータスを確認することもできます。

1.Salesforce で、右上隅の歯車アイコンをクリックし、設定を選択します。
2.[クイック検索] ボックスに データインポートウィザード と入力し、データインポートウィザード を選択します。また、プラットフォームツール > 統合 からもアクセスできます。
3.ウィザードを起動 をクリックします。
4.[標準オブジェクト] で、アカウントと連絡先 を選択します。
5.新しいレコードを追加 を選択します。
6.CSV を選択し、salesforce_contacts.csv をアップロードして、フィールドマッピングの手順に進みます。
7.CSV の各列が、対応する連絡先フィールドにマッピングされていることを確認します。
8.設定を確認し、インポートを開始します。

このサンプルファイルには「アカウント」フィールドが含まれていないため、Salesforce はインポートを行ったユーザーが所有する非公開の「連絡先」レコードとして作成します。接続テストを行う上ではこれで十分です。本番データの場合、連絡先を他の Salesforce ユーザーと共有する必要があるときは、「アカウント名」または「アカウント ID」を含めてマッピングしてください。

CData Salesforce JDBC ドライバーのインストール

CData Salesforce JDBC ドライバーのダウンロードページから、Windows 版試用版インストーラーをダウンロードしてください。

インストーラを実行し、インストールダイアログの指示に従ってセットアップを完了してください。2026年版の Windows ドライバの場合、ライブラリファイルは通常、C:\Program Files\CData\CData JDBC Driver for Salesforce 2026\lib にインストールされます。

メインのドライバクラスは cdata.jdbc.salesforce.SalesforceDriver です。

OAuth接続の作成とテスト

OAuthは、ERESデータレジストリにSalesforceのパスワードを保存することなく、Salesforceによる接続の承認を可能にするため、推奨される認証方法です。

CData ドライバーには、接続文字列ビルダーが含まれています。ドライバーの lib ディレクトリから cdata.jdbc.salesforce.jar を開くか、コマンドプロンプトから java -jar “C:\Program Files\CData\CData JDBC Driver for Salesforce 2026\lib\cdata.jdbc.salesforce.jar” を実行してください。

予測可能な ERES 展開を行うには、最初の対話型接続時に設定の保存場所を明示的に指定してください:jdbc:cdata:salesforce:AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthSettingsLocation=C:\CData\sf-oauth.txt;

注: 簡単な対話型テストを行う場合は、jdbc:cdata:salesforce:AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH; を使用することで、OAuthSettingsLocation を省略できます。この場合、CData は OAuth 設定を現在のユーザーのデフォルトのプロファイル場所に保存します。Tomcat サービスは別の Windows アカウントで実行されている可能性があるため、ERES がそのファイルを見つけられない場合があります。ERESのデプロイには、上記に示した明示的な設定保存場所を使用してください。

「接続のテスト」をクリックします。ドライバにより、デフォルトのブラウザでSalesforceが開きます。Salesforceにログインし、要求されたアクセス権限を承認してください。認証が成功すると、ドライバはC:\CData\sf-oauth.txtを作成し、そこに暗号化されたOAuth値を保存します。

ドライバーは、必要に応じてOAuthトークンを更新できるよう、このファイルへの読み取りおよび書き込みアクセス権を必要とします。このファイルは認証情報として扱い、アクセス権を制限し、公開Webディレクトリには配置せず、ソース管理にもコミットしないでください。

Salesforce から invalid_client エラーが返された場合、Salesforce 管理者が組み込みの CData Connector アプリケーションをインストールまたは承認する必要がある可能性があります。Salesforce で、歯車アイコンをクリックし、[設定] を選択します。[クイック検索] ボックスに OAuth と入力し、[接続済みアプリの OAuth 使用状況] を選択します。CData Connector を探します。「アクション」列に [インストール] と表示されている場合は、それをクリックしてインストールを確定します。アプリケーションがブロックされている場合は、[ブロックを解除] をクリックします。その後、CData 接続テストを再度実行してください。

ERES への JDBC ドライバーのデプロイ

CData の lib ディレクトリから、以下のファイルを ERES のライブラリディレクトリにコピーします。この例では、コピー先は C:\ERES\WEB-INF\lib です。

  • cdata.jdbc.salesforce.jar
  • cdata.jdbc.salesforce.lic

.lic ファイルは、JAR ファイルと同じディレクトリに配置する必要があります。ファイルのコピーが完了したら、ERES がデプロイされている Tomcat サーバーを再起動してください。

ERES Organizer の起動

ERES にログインし、左側のメニューから Organizer を選択します。ダウンロードした Organizer アプリケーションを起動し、Data Registry Manager をクリックします。

Add をクリックし、任意の名前でデータレジストリを作成します。レジストリの作成後、Database を選択し、ADD をクリックしてデータベース接続を作成します。

Salesforce データソースを追加する

次のように接続を設定します:

初期のOAuth認証はすでに完了しているため、ERESではjdbc:cdata:salesforce:AuthScheme=OAuth;InitiateOAuth=REFRESH;OAuthSettingsLocation=C:\CData\sf-oauth.txt;を使用してください。

古いバージョンの ERES のドライバー一覧に CData Salesforce が表示されない場合は、その他 を選択し、ドライバーフィールドに cdata.jdbc.salesforce.SalesforceDriver と入力してください。

接続テスト をクリックします。ドライバー、ライセンス、OAuth ファイル、および Salesforce の権限が正しく設定されている場合、ERES は接続成功のメッセージを表示します。

クエリの追加

Salesforce 接続を追加したら、その接続の下にある クエリ を選択し、追加 をクリックします。クエリの名前を入力して、クエリビルダーを開きます。

Salesforce の 連絡先 オブジェクトを選択し、レポートに必要なフィールドを追加します。サンプルデータの場合は、以下を選択してください:

  • FirstName
  • LastName
  • Email
  • Phone
  • Title
  • Department

これに対応する SQL クエリは次のとおりです:

SELECT FirstName, LastName, Email, Phone, Title, Department
FROM Contact

CDataドライバーは、JDBCを通じてSalesforceオブジェクトを提供し、SQLリクエストをSalesforce用に変換します。「データシートビュー」を使用して、インポートされた「連絡先」レコードが返されていることを確認し、クエリを保存してください。

レポートまたはチャートの作成

クエリを保存したら、オーガナイザーでそのクエリを選択し、[表示]をクリックします。[レポートの作成]または[チャートの作成]を選択し、対応するデザイナーウィザードの手順を完了します。

作成されたレポートまたはチャートは、CData JDBC 接続を通じて Salesforce のライブデータを使用します。Salesforce のレコードが更新されると、ERES 出力を更新または再実行することで、最新のデータを取得できます。

別のサーバーまたはヘッドレスERESサーバーでのOAuthの使用

ERESが、ブラウザを開くことができないサーバー上で実行されている場合は、デスクトップコンピュータで最初のOAuth認証を完了してください:

1.ブラウザがインストールされているコンピュータにCDataドライバーをインストールします。
2.そのデスクトップコンピュータで、CDataドライバーのlibディレクトリにあるcdata.jdbc.salesforce.jarを開き、CDataの接続文字列ビルダーおよびテストツールを起動します。CDataツールでは, InitiateOAuth=GETANDREFRESH を含むJDBC URLと、jdbc:cdata:salesforce:AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthSettingsLocation=C:\CData\sf-oauth.txt; のような明示的な OAuthSettingsLocation を使用します。
3.[接続のテスト] をクリックし、ブラウザが開いたらSalesforceにログインしてアクセスを承認します。テストが成功したら、生成された OAuth 設定ファイルを指定された場所から ERES サーバーに安全にコピーします。
4. コピーしたファイルに対して、Tomcat サービスアカウントに読み取りおよび書き込みアクセス権を付与します。
5. ERES JDBC URL を、InitiateOAuth=GETANDREFRESH および ERES サーバー上のファイルのパスで設定します。

たとえば:

jdbc:cdata:salesforce:AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthSettingsLocation=C:\temp\sf-oauth.txt; のように指定します。

本番環境への展開において、Salesforce 管理者は、CData の組み込み OAuth アプリケーションではなく、カスタム Salesforce OAuth アプリケーションを必要とする場合があります。その場合は、CData Salesforce JDBC ドライバーのドキュメントに従い、カスタムアプリケーション用に提供された OAuthClientId および OAuthClientSecret を追加してください。

まとめ

EspressReport ES で CData Salesforce JDBC ドライバーを使用することで、カスタム Salesforce API 統合を記述することなく、Salesforce データを ERES データレジストリに追加し、レポートやグラフで利用することができます。この同じアプローチは、レポート作成の要件に応じて、他の Salesforce オブジェクトやクエリに対しても適用可能です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください