ColdFusion で CData JDBC ドライバーを使用する方法
CData JDBC ドライバーは、JDBC ドライバーの読み込みをサポートするあらゆる環境で使用できます。このチュートリアルでは、ColdFusion から CData JDBC Driver for Salesforce を使用する方法を説明します。
このチュートリアルを始める前に、CData JDBC Driver for Salesforce と Adobe ColdFusion v10 がインストールされていること、および Salesforce アカウントとセキュリティトークンをお持ちであることを確認してください。
-
CData JDBC ドライバーを ColdFusion の lib ディレクトリに追加します。
JDBC Driver for Salesforce と lic ファイルを "C:\Program Files\CData\CData JDBC Driver for Salesforce V3\lib" から "C:\ColdFusion10\cfusion\wwwroot\WEB-INF\lib" にコピーします。
cdata.jdbc.salesforce.jar cdata.jdbc.salesforce.lic
注意:.lic ファイルを jar と一緒にコピーしない場合、有効なライセンスがインストールされていないことを示すライセンスエラーが表示されます。これは試用版と製品版の両方に当てはまります。
-
CData JDBC Driver for Salesforce をデータソースとして追加します。
ColdFusion 管理画面から、"Data & Services" の "Data Sources" を選択します。ここで "Add New Data Source" をクリックします。データソース名は、ColdFusion の変数命名規則に準拠していれば任意の名前を使用できます。ドライバーは "other" を選択し、"Add" ボタンをクリックしてください。

-
ドライバーのプロパティを設定します。
JDBC URL は jdbc:salesforce:<connectionString> の形式で指定します。Salesforce の場合、接続文字列には User、Password、AccessToken を含める必要があります。例:
jdbc:salesforce:[email protected];Password=password;Access Token=AbCxYz
Driver Class は cdata.jdbc.salesforce.SalesforceDriver を指定します。
ドライバー名は、ColdFusion 管理コンソールでデータソースを識別するために使用されます。

-
データソースへの接続をテストします。
作成した CDataSalesforce データソースの左側にあるチェックマークを押して、接続をテストできます。
データソースのステータスが "OK" と表示されれば、使用する準備が整いました。
-
ColdFusion マークアップファイルを作成します。
次に、新しい ColdFusion マークアップファイル(.cfm)を作成し、ColdFusion の wwwroot("C:\ColdFusion10\cfusion\wwwroot")ディレクトリに配置します。
以下のコードでデータソースにクエリを実行できます。
<cfquery name="SalesforceQuery" dataSource="CDataSalesforce"> SELECT * FROM Account </cfquery>
CFTable を使用すると、テーブルを HTML で簡単に出力できます。
<cftable query = "SalesforceQuery" border = "1" colHeaders colSpacing = "2" headerLines = "2" HTMLTable maxRows = "500" startRow = "1"/> <cfcol header="<b>ID</b>" align="Left" width=2 text="#Id#"/> <cfcol header="<b>Name</b>" align="Left" width=15 text="#Name#"/> <cfcol header="<b>Phone</b>" align="Center" width=12 text="#Phone#"/> <cfcol header="<b>Billing Street</b>" align="Center" width=25 text="#Billingstreet#"/> <cfcol header="<b>Billing City</b>" align="Center" width=15 text="#Billingcity#"/> <cfcol header="<b>Billing State</b>" align="Center" width=5 text="#Billingstate#"/> </cftable>
HTML 部分を含む完全なコードは以下のとおりです。
<html> <head><title>Hello World</title></head> <body> <cfoutput>#ucase("hello world")#</cfoutput> <cfquery name="SalesforceQuery" dataSource="CDataSalesforce"> SELECT * FROM Account </cfquery> <cftable query = "SalesforceQuery" border = "1" colHeaders colSpacing = "2" headerLines = "2" HTMLTable maxRows = "500" startRow = "1"> <cfcol header="<b>ID</b>" align="Left" width=2 text="#Id#"/> <cfcol header="<b>Name</b>" align="Left" width=15 text="#Name#"/> <cfcol header="<b>Phone</b>" align="Center" width=12 text="#Phone#"/> <cfcol header="<b>Billing Street</b>" align="Center" width=25 text="#Billingstreet#"/> <cfcol header="<b>Billing City</b>" align="Center" width=15 text="#Billingcity#"/> <cfcol header="<b>Billing State</b>" align="Center" width=5 text="#Billingstate#"/> </cftable> </body> </html> -
コードを実行しましょう!
上記のコードをブラウザで実行すると、以下のような出力が表示されます。

-
パラメータ化クエリの使用
CData JDBC ドライバーでは、<cfqueryparam> 要素を使用したパラメータ化クエリもサポートされています。例:
SELECT * FROM Account WHERE name = <cfqueryparam value="Insert Coldfusion Test">
このチュートリアルに関するご質問、ご意見、フィードバックがございましたら、[email protected] までお問い合わせください。