今すぐお試しください!

製品の詳細CData JDBC Driver for SQL Analysis Services を確認して、無償評価版をダウンロード:

今すぐダウンロード

JDBI からSQL Analysis Services Data のデータアクセスオブジェクトを作成

JDBI でSQL Analysis Services data 用のSQL オブジェクトAPIを作成する方法を概説します。

JDBI は、Fluent スタイルとSQL オブジェクトスタイルという2つの異なるスタイルAPI を公開する、Java 用のSQL コンビニエンスライブラリです。CData JDBC Driver for SQL Analysis Services は、Java アプリケーションとリアルタイムSQL Analysis Services data のデータ連携を実現します。これらの技術を組み合わせることによって、SQL Analysis Services data へのシンプルなコードアクセスが可能になります。ここでは、基本的なDAO(Data Access Object )とそれに付随するSQL Analysis Services data の読み書きのためのコードの作成について説明します。

SQL Analysis Services Adventure_Works Entity のDAO を作成

The interface below declares the desired behavior for the SQL object to create a single method for each SQL statement to be implemented.

public interface MyAdventure_WorksDAO { //insert new data into SQL Analysis Services @SqlUpdate("INSERT INTO Adventure_Works (Fiscal_Year, Sales_Amount) values (:fiscal_Year, :sales_Amount)") void insert(@Bind("fiscal_Year") String fiscal_Year, @Bind("sales_Amount") String sales_Amount); //request specific data from SQL Analysis Services (String type is used for simplicity) @SqlQuery("SELECT Sales_Amount FROM Adventure_Works WHERE Fiscal_Year = :fiscal_Year") String findSales_AmountByFiscal_Year(@Bind("fiscal_Year") String fiscal_Year); /* * close with no args is used to close the connection */ void close(); }

SQL Analysis Services への接続を開く

Collect the necessary connection properties and construct the appropriate JDBC URL for connecting to SQL Analysis Services.

接続するには、Url プロパティを有効なSQL Server Analysis Services エンドポイントに設定して認証を提供します。XMLA アクセスを使用して、HTTP 経由でホストされているSQL Server Analysis Services インスタンスに接続できます。 Microsoft ドキュメント configure HTTP access tを参照してSQL Server Analysis Services に接続してください。

SQL をSQL Server Analysis Services に実行するには、Analysis Services データの取得 を参照してください。接続ごとにメタデータを取得する代わりに、CacheLocation を設定できます。

  • HTTP 認証

    AuthScheme を"Basic" または"Digest" に設定してUser とPassword を設定します。CustomHeaders に他の認証値を指定します。

  • Windows (NTLM)

    Windows のUser とPassword を設定して、AuthScheme をNTLM に設定します。

  • Kerberos およびKerberos Delegation

    Kerberos を認証するには、AuthScheme をNEGOTIATE に設定します。Kerberos 委任を使うには、AuthScheme をKERBEROSDELEGATION に設定します。必要があれば、User、Password およびKerberosSPN を設定します。デフォルトでは、本製品 は指定されたUrl でSPN と通信しようと試みます。

  • SSL/TLS:

    デフォルトでは、本製品 はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL/TLS のネゴシエーションを試みます。別の証明書を指定するには、利用可能なフォーマットについてSSLServerCert プロパティを参照してください。

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.

ビルトイン接続文字列デザイナー

For assistance in constructing the JDBC URL, use the connection string designer built into the SQL Analysis Services JDBC Driver.Either double-click the JAR file or execute the jar file from the command-line.

java -jar cdata.jdbc.ssas.jar

Fill in the connection properties and copy the connection string to the clipboard.

A connection string for SQL Analysis Services will typically look like the following:

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

Use the configured JDBC URL to obtain an instance of the DAO interface.The particular method shown below will open a handle bound to the instance, so the instance needs to be closed explicitly to release the handle and the bound JDBC connection.

DBI dbi = new DBI("jdbc:ssas:User=myuseraccount;Password=mypassword;URL=http://localhost/OLAP/msmdpump.dll;"); MyAdventure_WorksDAO dao = dbi.open(MyAdventure_WorksDAO.class); //do stuff with the DAO dao.close();

SQL Analysis Services Data について

With the connection open to SQL Analysis Services, simply call the previously defined method to retrieve data from the Adventure_Works entity in SQL Analysis Services.

//disply the result of our 'find' method String sales_Amount = dao.findSales_AmountByFiscal_Year("FY 2008"); System.out.println(sales_Amount);

SQL Analysis Services Data の書き方

It is also simple to write data to SQL Analysis Services, using the previously defined method.

//add a new entry to the Adventure_Works entity dao.insert(newFiscal_Year, newSales_Amount);

Since the JDBI library is able to work with JDBC connections, you can easily produce a SQL Object API for SQL Analysis Services by integrating with the CData JDBC Driver for SQL Analysis Services.Download a free trial and work with live SQL Analysis Services data in custom Java applications today.

 
 
ダウンロード