ColdFusion で CData JDBC ドライバーを使用する方法



CData JDBC ドライバーは、JDBC ドライバーの読み込みをサポートするあらゆる環境で使用できます。このチュートリアルでは、ColdFusion から CData JDBC Driver for Salesforce を使用する方法を説明します。

このチュートリアルを始める前に、CData JDBC Driver for SalesforceAdobe ColdFusion v10 がインストールされていること、および Salesforce アカウントとセキュリティトークンをお持ちであることを確認してください。

  1. 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 と一緒にコピーしない場合、有効なライセンスがインストールされていないことを示すライセンスエラーが表示されます。これは試用版と製品版の両方に当てはまります。

  2. CData JDBC Driver for Salesforce をデータソースとして追加します。

    ColdFusion 管理画面から、"Data & Services" の "Data Sources" を選択します。ここで "Add New Data Source" をクリックします。データソース名は、ColdFusion の変数命名規則に準拠していれば任意の名前を使用できます。ドライバーは "other" を選択し、"Add" ボタンをクリックしてください。

  3. ドライバーのプロパティを設定します。

    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 管理コンソールでデータソースを識別するために使用されます。

  4. データソースへの接続をテストします。

    作成した CDataSalesforce データソースの左側にあるチェックマークを押して、接続をテストできます。

    データソースのステータスが "OK" と表示されれば、使用する準備が整いました。
  5. 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>
  6. コードを実行しましょう!

    上記のコードをブラウザで実行すると、以下のような出力が表示されます。

  7. パラメータ化クエリの使用

    CData JDBC ドライバーでは、<cfqueryparam> 要素を使用したパラメータ化クエリもサポートされています。例:

    SELECT * FROM Account WHERE name = <cfqueryparam value="Insert Coldfusion Test">

このチュートリアルに関するご質問、ご意見、フィードバックがございましたら、[email protected] までお問い合わせください。