Ready to get started?

Learn more about the CData JDBC Driver for SQL Analysis Services or download a free trial:

Download Now

ColdFusion でSQL Analysis Services Data につないでみた

標準的なColdFusion データアクセスコードでSQL Analysis Services data に接続。



CData JDBC Driver for SQL Analysis Services は、ColdFusion のrapid development tools を使ってSQL Analysis Services data への接続をシームレスに統合します。この記事では、ColdFusion でSQL Analysis Services data に接続しSQL Analysis Services テーブルをクエリする方法を説明します。

ColdFusion にSQL Analysis Services のJDBC データソースを作成

下記の手順に従ってSQL Analysis Services データソースを作成し、ColdFusion アプリケーションへの接続を可能にします。

  1. ドライバーのJAR および.lic ファイルを、インストールディレクトリから C:\ColdFusion10\cfusion\wwwroot\WEB-INF\lib にコピーします。

    ドライバーのJAR およびlicense はインストールディレクトリの[lib]サブフォルダに配置されています。

  2. ドライバーをデータソースとして追加:

    ColdFusion Administrator インターフェースで[Data & Services]ノードを展開し、[Data Sources]>[Add New Data Source]をクリックします。ダイアログが表示されたら、以下のプロパティを入力します。

    • Data Source Name:データソースの名前を入力。名前はColdFusion 変数命名規則に一致する必要があります。
    • Driver:[Other]を選択。
  3. Populate the driver properties:

    • JDBC URL:JDBC URL に接続プロパティを入力。JDBC のURL は以下で始まり jdbc:ssas: 次に、セミコロン区切りでname=value ペアの接続プロパティを入力します。以下は一般的なJDBC URL です:

      jdbc:ssas:User=myuseraccount;Password=mypassword;URL=http://localhost/OLAP/msmdpump.dll;

      To connect, provide authentication and set the Url property to a valid SQL Server Analysis Services endpoint. You can connect to SQL Server Analysis Services instances hosted over HTTP with XMLA access. See the Microsoft documentation to configure HTTP access to SQL Server Analysis Services.

      To secure connections and authenticate, set the corresponding connection properties, below. The data provider supports the major authentication schemes, including HTTP and Windows, as well as SSL/TLS.

      • HTTP Authentication

        Set AuthScheme to "Basic" or "Digest" and set User and Password. Specify other authentication values in CustomHeaders.

      • Windows (NTLM)

        Set the Windows User and Password and set AuthScheme to "NTLM".

      • Kerberos and Kerberos Delegation

        To authenticate with Kerberos, set AuthScheme to NEGOTIATE. To use Kerberos delegation, set AuthScheme to KERBEROSDELEGATION. If needed, provide the User, Password, and KerberosSPN. By default, the data provider attempts to communicate with the SPN at the specified Url.

      • SSL/TLS:

        By default, the data provider attempts to negotiate SSL/TLS by checking the server's certificate against the system's trusted certificate store. To specify another certificate, see the SSLServerCert property for the available formats.

      You can then access any cube as a relational table: When you connect the data provider retrieves SSAS metadata and dynamically updates the table schemas. Instead of retrieving metadata every connection, you can set the CacheLocation property to automatically cache to a simple file-based store.

      See the Getting Started section of the CData documentation, under Retrieving Analysis Services Data, to execute SQL-92 queries to the cubes.

    • Driver Class:ドライバーのクラスを入力。ドライバークラスは、以下のとおりです。cdata.jdbc.ssas.SSASDriver
    • Driver Name:ユーザー定義のドライバー名を入力。ドライバー名はColdFusion Administrator コンソールでデータソースを認識するために使われます。
    • Username:認証するユーザーネームを入力。
    • Password:認証するパスワードを入力。

[Actions] カラムのCData SQL Analysis Services データソースを有効にして、接続をテストできます。ステータスがOK になったら、SQL Analysis Services データソースを使うことができます。

クエリを実行

下記の手順に従って、SQL Analysis Services data の基準に合ったレコードをクエリし、結果をHTML テーブルに出力する簡単なアプリケーションを作成します。

  1. 新規ColdFusion markup ファイルでクエリを定義:C:\ColdFusion10\cfusion\wwwroot directory for ColdFusion の.cfm ファイルに次のコードを入力:

    <cfquery name="SSASQuery" dataSource="CDataSSAS"> SELECT * FROM Adventure_Works </cfquery>

    Note:CData JDBC Drivers は、cfqueryparam エレメントを使ってパラメータ化されたクエリもサポートします。例:

    <cfquery name="SSASQuery" dataSource="CDataSSAS"> SELECT * FROM Adventure_Works WHERE Fiscal_Year = <cfqueryparam>FY 2008</cfqueryparam> </cfquery>
  2. CFTable を使ってHTML にテーブルを出力:

    <cftable query = "SSASQuery" border = "1" colHeaders colSpacing = "2" headerLines = "2" HTMLTable maxRows = "500" startRow = "1"/> <cfcol header="<b>Fiscal_Year</b>" align="Left" width=11 text="#Fiscal_Year#"></cfcol> <cfcol header="<b>Sales_Amount</b>" align="Left" width=12 text="#Sales_Amount#"></cfcol> </cftable>
  3. コードを実行してグリッドを表示します。

HTML 部分を含む以下のフルコードが利用できます。

<html> <head><title>Hello World</title></head> <body> <cfoutput>#ucase("hello world")#</cfoutput> <cfquery name="SSASQuery" dataSource="CDataSSAS"> SELECT * FROM Adventure_Works </cfquery> <cftable query = "SSASQuery" border = "1" colHeaders colSpacing = "2" headerLines = "2" HTMLTable maxRows = "500" startRow = "1"> <cfcol header="<b>Fiscal_Year</b>" align="Left" width=11 text="#Fiscal_Year#"></cfcol> <cfcol header="<b>Sales_Amount</b>" align="Left" width=12 text="#Sales_Amount#"></cfcol> </cftable> </body> </html>
 
 
ダウンロード