Salesforce ODBC Driverは、SalesforceSOQLを使用できるアプリケーションの数を拡張します。このブログでは、JDBC-ODBCブリッジ、JavaからODBCへのコネクタの下でSalesforceODBCドライバーを使用してJavaからSOQLステートメントを実行する方法について説明します。
開始するには:
- JDBC-ODBCBridgeサーバーがインストールされているマシンにSalesforce.comODBCドライバーをインストールしてライセンスを取得します。
Salesforce.com ODBCドライバを使用してアプリケーションをSalesforce.comに接続する前に、ODBCデータソースを設定する必要があります。 ODBCデータソースには、ターゲットデータベース(Salesforce.comなど)とそれに接続するために必要なODBCドライバー(Salesforce.com ODBCドライバーなど)の接続の詳細が格納されます。
- ODBCAdministratorを起動します。これを行うには、[Windowsの実行]ダイアログボックスで、次のように入力します。
%windir%\syswow64\odbcad32.exe
- ODBCアドミニストレータで、[システムDSN]タブを選択し、[追加]を選択します。
- [新しいデータソースの作成]ダイアログボックスで、[Easysoft Salesforce SOQL ODBCドライバー]を選択し、[完了]を選択します。
- Easysoft Salesforce SOQL ODBCドライバーDSNセットアップダイアログボックスを完了します:
設定 値 DSN Salesforce.com ユーザー名 Salesforce.comユーザーの名前。例:[email protected]。 パスワード Salesforce.comユーザーのパスワード。 トークン 必要に応じて、Salesforce.comユーザーのセキュリティトークン。 セキュリティトークンを提供する必要があるかどうかを確認するには、[テスト]ボタンを選択します。
LOGIN_MUST_USE_SECURITY_TOKEN
を含むエラーで接続の試行が失敗した場合 、1つ提供する必要があります。Salesforce.comは、Salesforce.comユーザーアカウントに関連付けられている電子メールアドレスにセキュリティトークンを電子メールで送信します。セキュリティトークンを受け取っていない場合は、再生成できます。その後、Salesforce.comから新しいセキュリティトークンがメールで送信されます。セキュリティトークンを再生成するには、Salesforce.comにログインし、ユーザーメニューから[設定]を選択します。 [クイック検索]ボックスで「セキュリティトークン」を検索します。 [セキュリティトークンのリセット]ページで[セキュリティトークンのリセット]をクリックします。メールクライアントでトークンを受け取ったら、それをコピーして、[トークン]フィールドに貼り付けます。
- [テスト]ボタンを使用して、Salesforce.comに正常に接続できることを確認します。
- EasysoftJDBC-ODBCBridgeをダウンロードします。 (登録が必要です。)
- データソースを作成したマシンにEasysoftJDBC-ODBCブリッジをインストールしてライセンスを取得します。
インストール手順については、EasysoftJDBC-ODBCBridgeのドキュメントを参照してください。
JavaからのSalesforceSOQLの使用
- EJOB.jarをJavaDevelopmentKitがインストールされているマシンにコピーします。
Easysoft JDBC-ODBCブリッジがすでにこのマシンにインストールされている場合は、この手順をスキップしてください。
EJOB.jarは、EasysoftJDBC-ODBCブリッジをインストールするマシンの次の場所にインストールされます。
<easysoft_install>\Jars
のデフォルトの場所は <drive>:\Program Files (x86)\Easysoft Limited\Easysoft JDBC-ODBC Bridge
です。 。 - このJavaコードをConnectToSalesforce.javaという名前のファイルに追加します。
import java.sql.*; import java.util.Properties; public class ConnectToSalesforce { public static void main(String[] args) { // Replace the <mydsn> value with your 32-bit Salesforce DSN. // If the JDBC-ODBC Bridge Server (JOB) is not located on the same machine as // ejob.jar replace localhost with the remote host name or IP address. // The :logonuser attribute value is a Windows user on the machine where // the JOB Server is running. String connectionUrl = "jdbc:easysoft://localhost/<mydsn>" + ":logonuser=mywindowsuser:logonpassword=mywindowspassword"; Driver driver = null; DriverPropertyInfo props[] = null; Connection con = null; Statement stmt = null; ResultSet rs = null; try { // Register the Easysoft JDBC-ODBC Bridge client. Class.forName("easysoft.sql.jobDriver"); driver = DriverManager.getDriver(connectionUrl); con = DriverManager.getConnection(connectionUrl); stmt = con.createStatement(); // You need to edit this query rs = stmt.executeQuery("SELECT Account.Name, (SELECT Contact.LastName FROM Account.Contacts) FROM Account"); System.out.print("Name LastName" + "\n"); while (rs.next()) { String n = rs.getString("Name"); String l = rs.getString("LastName"); System.out.print(n + " " + l + "\n"); } rs.close(); rs = null; stmt.close(); stmt = null; con.close(); // Return to connection pool con = null; // Make sure we do not close it twice } // Handle any errors that may have occurred. catch (Exception e) { e.printStackTrace(); } finally { if (rs != null) try { rs.close(); } catch(Exception e) {} if (con != null) try { con.close(); } catch(Exception e) {} } } }
- コマンドウィンドウで、EJOB.jarをJavaクラスパスに追加します。例:
set CLASSPATH="%CLASSPATH%;C:\Program Files (x86)\Easysoft Limited\Easysoft JDBC-ODBC Bridge\Jars\EJOB.jar"
-
cd
ConnectToSalesforce.javaが配置されているディレクトリに移動し、Javaファイルをコンパイルして実行します。例:"C:\Program Files\Java\jdk1.8.0_144\bin\javac.exe" ConnectToSalesforce.java java ConnectToSalesforce Name LastName GenePoint Ltd Frank United Oil & Gas, UK James United Oil & Gas, Singapore D'Cruz United Oil & Gas, Singapore Ripley