クライアント アプリケーション開発者ガイド

     前へ 次へ   新しいウィンドウで目次を開く     
Content starts here

SQL を使用したデータ サービスへのアクセス

アプリケーションでは、SQL を通じてデータ サービスにアクセスできます。 これは、Crystal Reports、Hyperion、Business Objects など多くのレポート ツールで必要になります。 ただし、SQL を処理する機能は、他のコンテキストでも役立ちます。

たとえば、DbVisualizer などのツールを使用して、データ サービスに対してアドホック SQL クエリを実行できると便利です。 アプリケーション開発者は、XQuery と SQL の両方をサポートするスタンドアロン型の Query Plan Viewer のユーティリティも使用できます。

BEA AquaLogic Data Services Platform は、SQL-92 の拡張機能であるテーブル パラメータをサポートします。

SQL には、AquaLogic Data Services Platform JDBC ドライバを通じてアクセスできます。 このドライバは、JDK 1.4x の java.sql.* インタフェースを実装し、JDBC インタフェースを介した AquaLogic Data Services Platform サーバへアクセスを実現します。 JDBC ドライバを使用して SQL92 SELECT クエリまたはストアド プロシージャを AquaLogic Data Services Platform アプリケーションに対して実行できます。

この章では、SQL を使用してデータ サービスにアクセスする方法および AquaLogic Data Services Platform JDBC ドライバを設定して使用する方法について説明します。 この章の内容は以下のとおりです。

注意 : データ ソースおよびコンフィグレーション プールに関する情報は、WebLogic の『管理ガイド』を参照してください。
注意 : http://edocs.beasys.co.jp/e-docs/platform/docs81/admin/index.html

 


SQL としてのデータ サービス関数のパブリッシュ

SQL を通じてデータ サービスにアクセスするには、最初にデータ サービス関数を SQL のオブジェクトとして JDBC インタフェースを通じてパブリッシュする必要があります。 SQL オブジェクトには、テーブル、ストアド プロシージャ、関数などがあります。

注意 : AquaLogic Data Services Platform を通じてパブリッシュされた SQL オブジェクト名にハイフンが含まれる場合、そのオブジェクトを SQL クエリにおいて使用する際に二重引用符で囲む必要があります。

SQL オブジェクトとしてデータ サービス関数をパブリッシュするには、以下のタスクを行う必要があります。

  1. SQL オブジェクトとしてデータ サービス関数をモデリングする特別なスキーマに対して、同データ サービス関数をパブリッシュする。
  2. AquaLogic Data Services Platform アプリケーションを構築およびデプロイする。

新しく作成した SQL オブジェクトは、一度デプロイされると、標準的な JDBC を通じてユーザのアプリケーションで利用できます。

SQL としてデータ サービスをパブリッシュする手法については、『データ サービス開発者ガイド』の「SQLに使用するデータ サービス関数のパブリッシュ」を参照してください。

注意 : AquaLogic Data Services Platform JDBC ドライバに対するアクセスの詳細と、データ サービス アーティファクトと JDBC の関係については、「AquaLogic Data Services Platform JDBC ドライバについて」を参照してください。

AquaLogic Data Services Platform を通じたカスタム データベース関数の使用

ライブラリを通じた AquaLogic Data Services Platform への登録後は、データ サービスを通じて、ユーザのデータベース内の組み込み関数またはカスタム関数を利用できます。 AquaLogic Data Services Platform のデータベース関数の使用方法についての詳細は、『データ サービス開発者ガイド』の「XQuery 関数ライブラリの作成および使用」を参照してください。

 


AquaLogic Data Services Platform における SQL のサポート

この節では、AquaLogic Data Services Platform JDBC ドライバにおける SQL-92 のサポートについて概説します。

サポートされている機能

AquaLogic Data Services Platform JDBC ドライバにより、SELECT 文に対して SQL-92 のサポートが提供されます。 INSERT、UPDATE、DELETE 文は、サポートされていません。 DDL (Data Definition Language: データ定義言語) 文もサポートされていません。

AquaLogic Data Services Platform JDBC ドライバは、JDK 1.4x で指定される java.sql パッケージから以下のインタフェースを実装します。

付加情報

AquaLogic Data Services Platform JDBC ドライバには、以下の制約があります。

SQL 言語機能に適用される他の制限は、以下の表 (表 5-1) に示しています。

表 5-1 SQL 言語機能に適用される AquaLogic Data Services Platform JDBC の他の制約
サポートされていない機能
コメント
選択されている割り当て
未対応。
SELECT MYCOL = 2
FROM VTABLE
WHERE COL4 IS NULL
set 処理 (UNION、INTERSECTおよびEXCEPT) を伴う
CORRESPONDING BY 構文
SQL-92 で指定されている set 処理におけるデフォルト カラム序列がサポートされている。
テーブル式 (集合演算子のオペランド) は両方とも同一のリレーショナル スキーマに一致する必要がある。
(SELECT NAME, CITY FROM CUSTOMER1) UNION CORRESPONDING BY (CITY, NAME) (SELECT CITY, NAME FROM CUSTOMER2)
サポートされているクエリは以下のとおり。
(SELECT NAME, CITY FROM CUSTOMER1) UNION (SELECT NAME, CITY FROM CUSTOMER2)

テーブル パラメータのサポート

テーブル パラメータは、SQL FROM 句にパラメータを追加するための機能を提供し、SQL-92 を拡張します。 たとえば、SQL において、正確な数のパラメータ (強調表示) をクエリにコード化する必要が生じる場合があります。

以下のクエリでは、test.rtlall.CUSTOMER は、顧客テーブル全体を指します。

SELECT cust.CUSTOMER_ID, cust.FIRST_NAME, cust.LAST_NAME
FROM test.rtlall.CUSTOMER cust
where cust.CUSTOMER_ID in (?, ?, ?, ...)
and cust.LAST_NAME in (?, ?, ?, ... )

パラメータが多数関係する場合は、データ エントリが遅くなり、SQL 文の設定が退屈な作業となることがあります。

テーブル パラメータは、これに代わる手段となります。 テーブル パラメータ (強調表示) を使用するクエリを以下に示します。

SELECT cust.CUSTOMER_ID, cust.FIRST_NAME, cust.LAST_NAME
FROM ? as id_cust(id_cust_num), test.rtlall.CUSTOMER as cust ,
? as id_cust(last_name)
WHERE id_cust.id_cust_num = cust.CUSTOMER_ID
and cust.LAST_NAME = id_cust.last_name

テーブル パラメータは、同一のメカニズムによりパラメータとして指定されます。適切なテーブル名の代わりに疑問符 (「?」) が使用されています。

注意 : 現在の実装においては、単一のテーブル カラムのみをテーブル パラメータとして渡すことができます。 カラムを 1 つ以上指定した場合は、例外が送出されます。

テーブル パラメータの使用例

シナリオ: データ サービスには、顧客の最近の注文をすべて統合した情報が入っています。 販売マネージャは、欧州諸国の政府関係の顧客すべてに関する統合されたリストを持っています。 目標は、データ サービスを使用して、その特定の顧客の注文情報を取得することです。

上記の例はよくあるシナリオですが、販売責任者の顧客リストおよび注文情報が結合していることが分かります。 販売マネージャの顧客リストが長く、データベースを通じて利用できない状態になっている場合は、テーブル内カラムがあるものとして値のリストを渡すほうが便利です。

顧客リストは、上述の SQL では、単一カラム付きのテーブルとして渡されます。 以下の句

? as id_cust(id_cust_num)

上記の句により、仮想のテーブル値 (id_cust) および仮想のカラム名 (id_cust_num) が用意されます。

エイリアスは必須ではありませんが、一般的には推奨されています。これは、デフォルト パラメータ カラム名が数値のシーケンス (0、1 など) に従っているため、予測できない名前の衝突が発生する場合があるためです。

ワイルドカードが以下のように使用される場合は、デフォルトが適切です。

select * from ?

ワイルドカードに関する他の単純な例も該当します。

JDBC を使用するテーブル パラメータの設定

テーブル パラメータは、AquaLogic Data Services Platform JDBC ドライバの TableParameter クラスを通じてデータ サービスに渡されます。 このクラス (リスト 5-1 にその全体を表示) は、テーブル パラメータ全体と、それが表す行を示します。

コード リスト 5-1 テーブル パラメータ インタフェース
public class TableParameter implements Serializable {      
/**
* Constructor
*
* @schema the schema for the table
*/
public TableParameter(ValueType[] schema);

/**
* Creates a new a row and adds it to the list of rows in this table
*/
public Row createRow();
/**
* Gets the rows of this table
*/
public List/*Row*/ getRows();
/**
* Gets the schema of this table
*/
public ValueType[] getSchema();
/**
* Represents a row in the table
*/
public class Row implements Serializable {
/**
* Sets a value to a particular column
* @param colIdx the index of the column to set
* @param val the value for the column
* @exception if index is out of bounds
*/
public void setObject(int colIdx,Object val) throws SQLException;
Object getObject(int colIdx);
}
テーブル パラメータの作成

TableParameter クラスを作成するステップを以下に示します。

  1. TableParameter をユーザのテーブルのスキーマとともにインスタンス化します。
  2. 注意 : カラム1つのみが現在サポートされています。
  3. createRow( ) メソッドを TableParameter 上に呼び出し、そのテーブル内のタプルを表示する新しい Row オブジェクトを作成します。
  4. カラムすべてが設定されるまで、setObject(colIdx,val) 呼び出しを使用して Row オブジェクトに書き込みます。
  5. createRow( ) を再度呼び出し、テーブルに必要な数の行を作成します。
JDBC の用途

TableParameter は、他のパラメータと同様に、JDBC の PreparedStatement を通じて渡されます。

たとえば、クエリ付きの PreparedStatement を最初に作成します。

SELECT cust.CUSTOMER_ID, cust.FIRST_NAME, cust.LAST_NAME
FROM ? as id_cust(id_cust_num), test.rtlall.CUSTOMER as cust ,
? as id_cust(last_name)
WHERE id_cust.id_cust_num = cust.CUSTOMER_ID
and cust.LAST_NAME = id_cust.last_name
and cust.ORDER_AMT > ?
テーブル パラメータの例

テーブル パラメータの使用例を以下に概説します。 in-memory リストには、CUST_1、CUST_2 および CUST_3 の 3 種の顧客が入っています。

          SELECT cust.cust_num, order.item, order.price
          FROM ? as cust(cust_num), Order as order
          WHERE cust.cust_num = order.cust_id

サポートされる JDBC コードは、リスト 5-2 リストに示します。

コード リスト 5-2 テーブル パラメータをサポートされる JDBC コードの例 
//first create the table parameter
ValueType[] schemaList = new ValueType[1];
schemaList[0] = ValueType.REPEATING_VARCHAR_TYPE;
TableParameter tableParam = new TableParameter(schemaList);
// then create the rows in your virtual table
// (in practice you would read data in from a file
// or some other data stream)
TableParameter.Row row1 = tableParam.createRow();
row1.setObject(1," CUSTOMER _1");
TableParameter.Row row2 = tableParam.createRow();
Row2.setObject(1," CUSTOMER _2");

// 第 2 のテーブル パラメータに対して繰り返す
// (...)
// クエリの実行 
PreparedStatement objPreparedStatement = objConnection.prepareStatement(
 "SELECT cust.CUSTOMER_ID, cust.FIRST_NAME, cust.LAST_NAME
FROM ? as id_cust(id_cust_num), test.rtlall.CUSTOMER as cust , ? as id_cust(last_name)
WHERE id_cust.id_cust_num = cust.CUSTOMER_ID
and cust.LAST_NAME = id_cust.last_name
and cust.ORDER_AMT > ? ");

// およびテーブル パラメータの設定
objPreparedStatement.setObject(1,tableParam);
objPreparedStatement.setObject(2,tableParam2);
objResultSet = objPreparedStatement.executeQuery();

XML および SQL 型のマッピング

データ サービス情報に JDBC クライアントからアクセスした場合は、そのデータは XML スキーマのフォーマットから SQL 型にマッピングされます。

XML 型は、以下により定義されます。

xmlns:xs="http://www.w3.org/2001/XMLSchema"

Java 型は、以下により定義されます。

java.sql.Types

SQL Type Mappings にマッピングできる XML 型を 表 5-2 に示します。

表 5-2 XML および SQL 型のマッピング
XML 型
SQL 型
xdt:dayTimeDuration
Types.OTHER
xdt:yearMonthDuration
Types.OTHER
xs:boolean
Types.BOOLEAN
xs:byte
Types.SMALLINT
xs:dateTime
Types.TIMESTAMP
xs:date
Types.DATE
xs:decimal
Types.DECIMAL
xs:double
Types.DOUBLE
xs:duration
Types.OTHER
xs:float
Types.REAL
xs:hexBinary
Types.BLOB
xs:int
Types.INTEGER
xs.integer
Types.DECIMAL
xs:long
Types.BIGINT
xs:negativeInteger
Types.DECIMAL
xs:nonNegativeInteger
Types.DECIMAL
xs:nonPositiveInteger
Types.DECIMAL
xs:positiveInteger
Types.DECIMAL
xs:short
Types.SMALLINT
xs:string
Types.VARCHAR
xs:time
Types.TIME
xs:unsignedByte
Types.SMALLINT
xs:unsignedInt
Types.BIGINT
xs:unsignedLong
Types.DECIMAL
xs:unsignedShort
Types.INTEGER

 


JDBC を通じたデータ サービス関数へのアクセス

AquaLogic Data Services Platform JDBC ドライバにより、JDBC および ODBC のクライアントは、データ サービスから SQL を使用して使用できる情報にアクセスできるようになります。 DbVisualizer、Crystal Reports、Hyperion、Business Objects などのデータベース可視化ツールおよびレポート ツールからのアクセスが JDBC ドライバにより可能になり、AquaLogic Data Services Platform の統合レイヤーの柔軟性が高まります。 AquaLogic Data Services Platform の統合レイヤーは、クライアントに対しては、各データ サービス関数がテーブルを構成するリレーショナル データベースとして表示されます。 内部的には、AquaLogic Data Services Platform は、SQL クエリを XQuery クエリに変換します。

AquaLogic Data Services Platform JDBC ドライバに関連する制約をいくつか以下に示します。

JDBC ドライバから使用するフラット ビューを作成し、非フラット データ サービスを公開することができます。

この節では、SQL 関数を AquaLogic Data Services Platform 関数にマッピングするために使用される SQL Name Mapping テクニックと、Java および非 Java のアプリケーションを使用して JDBC ドライバ接続をコンフィグレーションする手順について説明します。 この章の内容は以下のとおりです。

AquaLogic Data Services Platform JDBC ドライバについて

AquaLogic Data Services Platform JDBC ドライバには、以下の機能があります。

AquaLogic Data Services Platform JDBC ドライバを使用すると、JDBC ドライバ レベルで設定したアクセス権に基づいて SQL を通じてアクセスしたメタデータをコントロールできます。 これにより、認可されたユーザは、アクセスを認可されたテーブルおよびプロシージャのみを見ることができます。 ただし、この機能を使用するには、AquaLogic Data Services Platform のコンソール コンフィグレーションがアクセス制御をチェックするように設定されている必要があります。 詳細は、『管理ガイド』の「Data Services Platform リソースの保護」を参照してください。

注意 :

データ サービス関数および対応する JDBC アーティファクト

AquaLogic Data Services Platform では、データベースから取得したデータをデータ ソースおよび関数として表示します。 以下の表 (表 5-3) に相当する用語を示します。

表 5-3 AquaLogic Data Services Platform および JDBC ドライバのアーティファクト
AquaLogic Data Services Platform
JDBC
AquaLogic Data Services Platform プロジェクト
データベース カタログ名
DSP プロジェクトのフォルダ
データベース構造 (Catalog.Schema.Table) および AquaLogic Data Services Platform の間の一貫性を維持するための仮想名
パラメータ付きの関数
ストアド プロシージャ
パラメータなしの関数
テーブル

たとえば、MySchema のスキーマで関数 getCustomers() が付いた TestDataServices および CUSTOMERS.ds プロジェクトがある場合は、getCustomers を SQL オブジェクトとして以下のようにマッピングできます。

TestDataServices.MySchema.getCustomer

上記の例では、TestDataServices はカタログ、MySchema はスキーマ フォルダ名です。 このマッピングは、SQL オブジェクトに対する AquaLogic Data Services Platform 関数のマッピングに基づいています。 AquaLogic Data Services Platform 関数の SQL オブジェクトとしてのマッピングの詳細は、『データ サービス開発者ガイド』の「SQLに使用するデータ サービス関数のパブリッシュ」を参照してください。

サポート関数

AquaLogic Data Services Platform では、さまざまなレポート ツールを通じて、データ サービスへのアクセスに使用できる多数の関数をサポートしています。 以下のテーブル関数は、以下の型に分けられます。

数値関数

表 5-4 数値関数
関数
シグネチャ
コメント
ABS
numeric ABS (numeric n)
ABS は、n の絶対値を戻す。 n が NULL の場合は、戻り値は NULL である。
CEIL
numeric ABS (numeric n)

CEIL は、n 以上の最小の整数値を戻す。 n が NULL の場合は、戻り値は NULL である。

FLOOR
numeric FLOOR(numeric n)
FLOOR は、n 以下の最大の整数値を戻す。 n が NULL の場合は、戻り値は NULL である。
ROUND
numeric ROUND (numeric n)
ROUND は、小数第 1 位で四捨五入された n を戻す。 n が NULL の場合は、戻り値は NULL である。

以下の数値演算関数が用意されています。

文字列関数

以下の文字列管理関数が用意されています。

表 5-5 文字列関数
関数
シグネチャ
コメント
CONCAT
varchar CONCAT(varchar s1, varchar s2)

CONCAT は、s2 と連結された s1 を戻す。 任意の引数が NULL の場合は、空文字列に相当すると見なされる。

LENGTH
numeric LENGTH(varchar s)
LENGTH は、s の長さを戻す。 s が NULL の場合は、関数は 0 を戻す。
LOWER
varchar LOWER(varchar s)
LOWER は、すべての小文字とともに s を戻す。 s が NULL の場合は、関数は空文字列を戻す。
LTRIM
varchar LTRIM(varchar s)
LTRIM は、先頭の空白を s から削除する。 s が NULL の場合は、関数は NULL を戻す。
RTRIM
varchar RTRIM(varchar s)
LTRIM は、末尾の空白を s から削除する。 s が NULL の場合は、関数は NULL を戻す。
SUBSTR
varchar SUBSTR(varchar s, numeric start)

引数が 2 つ付いている SUBSTR は、start で指定された位置を含めて s の部分文字列を戻す。 s の最初の文字は index 1. にある。s が NULL の場合は、関数は空文字列を戻す。

TRIM
varchar TRIM(varchar s)
LTRIM は、先頭および末尾の空白を s から削除する。 s が NULL の場合は、TRIM は NULL を戻す。
UPPER
varchar UPPER(varchar s)
UPPER は、大文字すべてとともに s を戻す。 s が NULL の場合は、UPPER は空文字列を戻す。

日付関数

以下の日付関数が用意されています。

表 5-6 日付関数
関数
シグネチャ
コメント
DAYS
numeric DAYS(T value)

DAYS は、value から日数のコンポーネントを戻す。 T は、日付、タイム スタンプまたは期間である。 value が NULL の場合は、結果は NULL である。

HOUR
numeric HOUR(T value)

HOUR は、value から時間のコンポーネントを戻す。 T は、時刻、タイム スタンプ、または期間のいずれかである。 value が NULL の場合は、結果は NULL である。

MINUTE
numeric MINUTE(T value)

MINUTE は、value から分のコンポーネントを戻す。 T は、時刻、タイム スタンプ、または期間である。 value が NULL の場合は、結果は NULL である。

MONTH
numeric MONTH(T value)

MONTH は、value から月のコンポーネントを戻す。 T は、日付、タイム スタンプ、または期間のいずれかである。 value が NULL の場合は、結果は NULL である。

SECOND
numeric SECOND(T value)

SECOND は、value から秒のコンポーネントを戻す。 T は、時刻、タイム スタンプ、または期間である。 value が NULL の場合は、結果は NULL である。

YEAR
numeric YEAR(T value)

YEAR は、value から年のコンポーネントを戻す。 T は、日付、タイム スタンプ、または期間のいずれかである。 value が NULL の場合は、結果は NULL である。

集約関数

以下の集約関数が用意されています。

表 5-7 集約関数
関数
シグネチャ
コメント
COUNT
numeric COUNT(ROWS r)
COUNT は、r 内の列数を戻す。
AVG
T AVG(T r)
AVG は、r 内のすべての値の平均値を戻す。 T は、数値型または期間型である。
SUM
T SUM(T r)
SUM は、r 内のすべての値の合計を戻す。 T は、数値型または期間型である。
MAX
T MAX(T r)

MAX は、r 内の他の各値以上の値を r から戻す。 T は、数値型、varchar 型、日付型、タイム スタンプ型、または期間型である。

MIN
T MIN(T r)

MIN は、r 内の他の各値以下の値を r から戻す。 T は、数値型、varchar 型、日付型、タイム スタンプ型、または期間型である。

JDBC メタデータ検索パターン

AquaLogic Data Services Platform JDBC ドライバは、表 5-8 に示すように、標準 JDBC API 検索パターンをサポートします。

表 5-8 JDBC ドライバ メタデータ検索パターン
パターン
目的
「文字列」
識別された文字列に一致
" "
デフォルトのカタログ/スキーマを使用
"%"
正規表現の * に相当するワイルドカード 
"_"
単一文字に一致、正規表現の . (ピリオド) に相当
null
「%」と同様のワイルドカード

default_catalog はカタログ 1 で default_schema はスキーマ 1 と仮定すると、表 5-9 は共通する一致パターンを表します。

表 5-9 JDBC メタデータ検索パターン
パターン
一致例
「AquaLogic」
識別された文字列、AquaLogic に一致
「abc%d」
一致:
  • abc10d
  • abcd
  • abc_practically anything_d
不一致:
  • abc10e
  • abc10def
abc%d_
一致:
  • abc10d
  • abcd
  • abc_practically anything_d
  • abc10dg
不一致:
  • abc10dgh
  • abc10dgPattern
""
and
null
以下への呼び出し:
DBDatabaseMetadata.getTables("",null,"abc%")
カタログ 1 の abc 以下、すべてのテーブルを戻す。

AquaLogic Data Services Platform JDBC ドライバについて

AquaLogic Data Services Platform JDBC ドライバは、ldjdbc.jar という名のアーカイブ ファイルにあり、BEA AquaLogic Data Services Platform をインストールした後に以下のディレクトリで利用できます。

<bea_home>\weblogic81\liquiddata\lib\

AquaLogic Data Services Platform JDBC ドライバをクライアント コンピュータで使用するには、クラスパス、クラス名、および JDBC ドライバ用の URL をコンフィグレーションする必要があります。 クライアント コンピュータでドライバをコンフィグレーションするには、以下の手順に従ってください。

  1. ldjdbc.jar および weblogic.jar をクライアント コンピュータにコピーします。
  2. ldjdbc.jar および weblogic.jar をコンピュータのクラスパスに追加します。
  3. %JAVA_HOME%\jre\bin をユーザのパスに追加して適切なサポート パスを設定します。
  4. JDBC ドライバをコンフィグレーションするには、以下を行います。
    1. ドライバのクラス名を以下に設定します。
    2. com.bea.dsp.jdbc.driver.DSPJDBCDriver
    3. ドライバの URL を以下に設定します。
    4. jdbc:dsp@<DSPServerName>:<DSPServerPortNumber>/<DSPApplicationName>]

      たとえば、ドライバ URL は以下のとおりです。

      jdbc:dsp@localhost:7001/RTLApp
    5. 以下の構文をドライバに接続しながら、デフォルトのカタログ名およびスキーマ名を URL に設定することもできます。
    6. jdbc:dsp@<DSPServerName>:<DSPServerPortNumber>/<DSPApplicationName>/<catalogname>/<schemaname>
      注意 : CatalogName および SchemaName を JDBC ドライバの URL に指定しない場合は、すべてのクエリについて 3 部構成の名前を指定する必要があります。 例えば、次のように指定します。
      select * from <catalogname>.<schemaname>.CUSTOMER
    7. logFile プロパティを使用してデバッグできます。 デバッグ情報をログするには、以下の JDBC ドライバの URL 構文を使用してください。
    8. jdbc:dsp@localhost:7001/test;logFile=c:\output.txt

      この例では、ログ ファイルは c:\output.txt に作成されます。 また、デバッグ プロパティを URL とともに指定するのではなく、個別に指定することもできます。

      注意 : レポート ツールを使用して SQL クエリをビルドする場合、生成される SQL では修飾されていない JDBC 関数名が使用されます。 アプリケーション開発者が XFL データベース関数を呼び出す場合は、デフォルトのカタログおよびスキーマ名は JDBC 接続 URL として定義する必要があります。 また、単一 SQL catalog:schema ペアの場所から使用できる関数を、任意の JDBC 接続により使用することも必要です。

      以下は、JDBC 接続のデフォルトのカタログとスキーマを定義した URL の例です。

      jdbc:dsp@localhost:7001/myApplication/myCatalog/mySchema

  5. AquaLogic Data Services Platform アプリケーション用に接続オブジェクトをコンフィグレーションするために、コンフィグレーション パラメータをプロパティ オブジェクトまたは JDBC URL の一部として指定できます。
注意 : applicationdefault_catalog、または default_schema が接続プロパティおよび URL の双方に表示される場合は、URL が優先されます。
プロパティ オブジェクトを使用する接続のコンフィグレーション

プロパティ オブジェクトを使用する JDBC ドライバの接続を以下のようにコンフィグレーションできます。

props.put("user", "weblogic");
props.put("password", " weblogic ");
props.put("application", "RTLApp");
Connection objConnection = DriverManager.getConnection("jdbc:dsp@localhost:7001", props);
注意 : デフォルトのスキーマおよびカタログ名をプロパティで指定しない場合は、default_catalog および default_schema のプロパティ フィールドで指定できます。

または、AquaLogic Data Services Platform のアプリケーション名の RTLApp を以下の抜粋コードのように接続オブジェクト自体に指定することができます。

props.put("user", " weblogic");
props.put("password", " weblogic ");
Connection objConnection = DriverManager.getConnection("jdbc:dsp@localhost:7001/RTLApp",props);
JDBC URL における接続のコンフィグレーション

以下のコードのように、JDBC ドライバの接続も、プロパティ オブジェクトを作成せずにコンフィグレーションできます。

Connection objConnection =
DriverManager.getConnection("jdbc:dsp@localhost:7001/RTLApp;logFile=c:\output.txt; ", <username>, <password>);

Java アプリケーションを使用した AquaLogic Data Services Platform JDBC ドライバへのアクセス

JDBC または SQL データ ソースとして AquaLogic Data Services Platform にアプリケーションを接続するステップは、JDBC または SQL の任意のデータ ソースに直接接続する場合とほぼ同一です。 データベースの URL では、「dsp」をサブプロトコルとして持つデータベース識別子として AquaLogic Data Services Platform のアプリケーション名を以下の形式で使用します。

jdbc:dsp@<WLServerAddress>:<WLServerPort>/<DSPApplicationName> 

例えば、次のように指定します。

jdbc:dsp@localhost:7001/RTLApp 

AquaLogic Data Services Platform JDBC ドライバ クラス名を以下に示します。

com.bea.dsp.jdbc.driver.DSPJDBCDriver 
注意 : WebLogic Administration Console を使用して、JDBC 接続プールをコンフィグレーションするには、初期の接続容量を 0 に設定してください。AquaLogic Data Services Platform JDBC ドライバは、接続プールをサポートしないからです。

接続の取得

この節では、クライアント アプリケーションにおいてドライバ クラスを使用して接続する方法について説明します。

JDBC クライアント アプリケーションは、任意のデータベースへの接続と同一の方法により、デプロイされた AquaLogic Data Services Platform アプリケーションに接続できます。 AquaLogic Data Services Platform JDBC ドライバをロードし、AquaLogic Data Services Platform に接続します。

例えば、次のように指定します。

Properties props = new Properties();
props.put("user", "weblogic");
props.put("password", "weblogic");
props.put("application", "RTLApp");

// Load the driver
Class.forName("com.bea.dsp.jdbc.driver.DSPJDBCDriver");

//get the connection
Connection con = DriverManager.getConnection("jdbc:dsp@localhost/7001", props);

preparedStatement インタフェースの使用

この節で説明する storedQueryWithParameters メソッドでは、接続オブジェクト (con) を使用する preparedStatement インタフェースの使用方法を示します。 これは、java.sql.Connection インタフェースを通じて取得した WebLogic Server への有効な接続で、これにより AquaLogic Data Services Platform がホストされます。

注意 : パラメータ化しないクエリの場合も、同様に preparedStatement を作成できます。 また、文も同一の方法で使用できます。

このメソッドでは、CUSTOMERCUSTOMER.ds を参照します。

public ResultSet storedQueryWithParameters() throws java.sql.SQLException
{
PreparedStatement preStmt =
con.prepareStatement (
"SELECT * FROM DataServices.MySchema.CUSTOMER WHERE CUSTOMER.LAST_NAME=?");
preStmt.setString(1,"SMITH");
ResultSet res = preStmt.executeQuery();
return res;
}

上記の SELECT クエリでは、DataServices はカタログ名、MySchema はスキーマ フォルダ名です。

注意 : CUSTOMER テーブルを SELECT クエリで使用するには、最初に SQL オブジェクトとしてマッピングする必要があります。 詳細は、「SQL としてのデータ サービス関数のパブリッシュ」を参照してください。

CallableStatement インタフェースの使用

デプロイされた AquaLogic Data Services Platform がサーバに接続した後は、パラメータ化されたデータ サービス関数の呼び出しを使用し、データ サービス関数を呼び出してデータを取得できます。

以下のメソッドでは、パラメータ付きの格納されたクエリの呼び出しています (ここで con は、java.sql.Connection インタフェースを通じて取得した AquaLogic Data Services Platform サーバへの接続を示す)。 この抜粋コードでは、dtaQuery という名の格納されたクエリは custid がパラメータ名、CUSTOMER2 がパラメータ値である場合に実行されます。

public ResultSet storedQueryWithParameters(String paramName) 
throws java.sql.SQLException {
	//実行するストアド クエリの準備
con.prepareCall("call DataServices.MySchema.getCustomerById(?) ");
call.setString(1, "CUSTOMER2");
ResultSet resultSet = call.executeQuery();
return resultSet;
注意 : prepareCall メソッドを以下のように使用することもできます。
con.prepareCall(" { call DataServices.MySchema.getCustomerById(?)}");

DbVisualizer からのデータ サービス関数へのアクセス

AquaLogic Data Services Platform JDBC ドライバをクライアントの Java アプリケーションで使用することもできます。 これは、AquaLogic Data Services Platform が JDBC または SQL ドライバを通じてアーティファクトを公開する方法を了解するのに適しています。

注意 : サポートされているレポート アプリケーションおよび接続ソフトの詳細については、『インストール ガイド』の「AquaLogic Data Services Platform インストール準備」の章の「レポーティング アプリケーション用の AquaLogic Data Services Platform JDBC ドライバについて」を参照してください。

この節は、DBVisualizer からのドライバへの接続方法について説明します。図 5-1 は、DbVisualizer から見たサンプル アプリケーションです。

図 5-1 DSP の DbVisualizer のビュー

DSP の DbVisualizer のビュー

DBVisualizer を使用するには、以下の手順に従ってください。

  1. [スタート] 矢印 [すべてのプログラム] 矢印 [BEA WebLogic Platform 8.1] 矢印 [Other Development Tools] 矢印 [DbVisualizer] をクリックします。
  2. DBVisualizer をコンフィグレーションします
    1. ldjdbc.jar がユーザの CLASSPATH に存在することを確認します。
    2. AquaLogic Data Services Platform への接続を確立するには、[Database] メニューから [Driver Manager] を選択します。
    3. [Driver Manager] ダイアログの [File] メニューから [Add CLASSPATH] を選択します。 ldjdbc.jar がリストに表示されます。
    4. リストから ldjdbc.jar を選択し、ドライバ マネージャの [Edit] メニューから [Find Drivers] を選択します。 ドライバ マネージャにより、com.bea.dsp.jdbc.driver.DSPJDBCDriver の JDBC ドライバが検出され、リスト ボックスに表示されます。

    5. DSP の DbVisualizer のビュー

    6. [Driver Manager] を閉じます。
  3. 接続パラメータを以下のステップに従って追加します。
    1. 右ペインで、ドロップ ダウン リストから com.bea.dsp.jdbc.driver.DSPJDBCDriver として JDBC ドライバを選択します。
    2. データベース URL には jdbc:dsp@<machine_name>:<port>/<app_name> を入力します。 例 : "jdbc:dsp@localhost:7001/RTLApp"
    3. AquaLogic Data Services Platform アプリケーションへの接続用にユーザ名およびパスワードを入力します。
  4. [Connect] をクリックします。 接続完了後、以下が表示されます。

  5. DSP の DbVisualizer のビュー

  6. ウィンドウの右のペイン (前の図を参照) にさまざまなタブが表示されます。 メタデータなどのテーブルに関する情報は、[Tables] タブで見ることができます。 [References] タブは、各テーブルのフィールド情報および主キーを表示します。
  7. 下図に示すように、[SQL Commander] タブを起動してアドホック クエリを実行します。 SQL クエリを入力し、[実行] アイコンをクリックします。

  8. DSP の DbVisualizer のビュー

ODBC JDBC ブリッジをコンフィグレーションした後は、アプリケーションを使用して AquaLogic Data Services Platform が提示するデータ ソースにアクセスできます。 ユーザが使用する必要があるレポート ツールに AquaLogic Data Services Platform を接続するためです。

注意 : サポートされているレポート アプリケーションおよび接続ソフトの詳細については、『インストール ガイド』の「AquaLogic Data Services Platform インストール準備」の章の「レポーティング アプリケーション用の AquaLogic Data Services Platform JDBC ドライバについて」を参照してください。

ODBC JDBC ブリッジを使用する非 Java の アプリケーションからの AquaLogic Data Services Platform クライアントへの接続

ODBC JDBC ブリッジを使用して非 Java アプリケーションから AquaLogic Data Services Platform JDBC ドライバに接続できます。 この節では、OpenLink および EasySoft ODBC JDBC ブリッジをコンフィグレーションして非 Java アプリケーションを AquaLogic Data Services Platform JDBC ドライバに接続する方法について説明します。

注意 : サポートされているレポート アプリケーションおよび接続ソフトの詳細については、『インストール ガイド』の「AquaLogic Data Services Platform インストール準備」の章の「レポーティング アプリケーション用の AquaLogic Data Services Platform JDBC ドライバについて」を参照してください。

OpenLink ODBC-JDBC ブリッジの使用

Openlink ODBC JDBC ドライバを AquaLogic Data Services Platform JDBC ドライバとのインタフェースに使用し、Crystal Reports 10、Business Objects 6.1、MS Access 2003 などのクライアント アプリケーションが付いた AquaLogic Data Services Platform アプリケーションにクエリを実行できます。

OpenLink ブリッジを使用するには、ブリッジをインストールし、ブリッジを使用するシステム DSN を作成する必要があります。 その 2 つのタスク用の手順を以下に示します。

  1. OpenLink ODBC JDBC ブリッジをインストールします (呼び出し先の ODBC JDBC Lite)。 OpenLink ODBC JDBC Lite のインストールに関する詳細については、以下を参照してください。
  2. http://www.openlinksw.com/info/docs/uda51/lite/installation.html

    警告 : Windows のプラットフォームでは、インストール前にユーザの CLASSPATH を保存してください。 そうしないと、インストーラにより上書きされます。
  3. 以下の手順に従って、システム DSN を作成し、それを AquaLogic Data Services Platform アプリケーション用にコンフィグレーションします。
    1. ODBC JDBC Lite に必要な以下の jar (ldjdbc.jar および weblogic.jar) が CLASSPATH に 入っていることを確認します。 一般的な CLASSPATH は、以下のようになります。
    2. D:\lddriver\ldjdbc.jar; D:\bea\weblogic81\server\lib\weblogic.jar;
      D:\odbc-odbc\openlink\jdk1.4\opljdbc3.jar; D:\odbc-jdbc\openlink\jdk1.4\megathin3.jar;
    3. jvm.dll を指定するためにユーザのシステムを更新します。これは、ユーザの %javaroot%\jre\bin\server ディレクトリにあります。
    4. 管理ツール データ ソース (ODBC) を開きます。 以下が表示されます。

    5. DSP の DbVisualizer のビュー

    6. [System DSN] タブをクリックした後、[追加] をクリックすします。
    7. JDK 1.4 (32 ビット) 用に [JDBC Lite] を選択し、[終了] をクリックします。

    8. DSP の DbVisualizer のビュー

    9. DSN 名を指定します。 たとえば、下図のような openlink-aldsp

    10. DSP の DbVisualizer のビュー

    11. [次へ] をクリックします。 次の画面で、JDBC ドライバ フィールドに以下を入力してください。
    12. com.bea.dsp.jdbc.driver.DSPJDBCDriver.

      URL 文字列フィールドに以下を入力します。

      jdbc:dsp@<machine_name>:<port>/<app_name>/<catalogname>/<schemaname>


      DSP の DbVisualizer のビュー

    13. [すぐに接続] を選択し、チェックボックスの設定がすべて正しいことを確認します。 ログインおよびパスワードを入力し、AquaLogic Data Services Platform WebLogic Server に接続します。
    14. [次へ] をクリックします。 以下の画面が表示されます。

    15. DSP の DbVisualizer のビュー

    16. [次へ] をクリックします。 以下の画面が表示されます。

    17. DSP の DbVisualizer のビュー

    18. [次へ] をクリックし、接続互換パラメータを下図のように指定します。

    19. DSP の DbVisualizer のビュー

    20. [次へ] をクリックした後、[データ ソースのテスト] をクリックします。 この画面は、設定が正常に完了したかどうかを確認します。

    21. DSP の DbVisualizer のビュー

    22. [完了] をクリックします。

EasySoft ODBC-JDBC ブリッジの使用

EasySoft の ODBC JDBC Gateway を使用する AquaLogic Data Services Platform JDBC ドライバとアプリケーションにより通信することもできます。 EasySoft ブリッジのインストールおよび使用は、前節で説明した OpenLink ブリッジと同様です。

EasySoft ブリッジの使用には、以下のステップに従ってください。

  1. EasySoft ODBC JDBC ブリッジをインストールします。 インストールについての詳細は、EasySoft の以下のサイトを参照してください。
  2. システム DSN を作成し、それを AquaLogic Data Services Platform 用に以下のステップに従ってコンフィグレーションします。
    1. 管理ツール矢印データ ソース (ODBC) を開きます。

    2. DSP の DbVisualizer のビュー

    3. [システム DSN] タブに移動し、[追加] をクリックします。
    4. [EasySoft ODBC JDBC ゲートウェイ] を下図のように選択し、[終了] をクリックします。

    5. DSP の DbVisualizer のビュー

    6. 次の画面で、フィールドに以下のように指定します。
    7. クラス パスには、ldjdbc.jar への絶対パスを入力します。

      URL には、以下を入力します。

      jdbc:dsp@<machine_name>:<port>/<app_name>/<catalogname>/<schemaname>

      例えば、次のように指定します。

      jdbc:dsp@localhost:7001/DataServices/Evaluation/NewSchema;logFile=c:\jdbc.log

      ドライバ クラスには、以下を入力します。

      com.bea.dsp.jdbc.driver.DSPJDBCDriver


      DSP の DbVisualizer のビュー

    8. [テスト] をクリックします。 接続が完了したことを示す以下の画面が表示されます。

    9. DSP の DbVisualizer のビュー

    10. [OK] をクリックし、設定シークエンスを完了します。

レポート ツールからのデータ サービス データへのアクセス

この節は、以下のレポート ツールをコンフィグレーションして AquaLogic Data Services Platform ODBC JDBC ドライバを使用する方法について説明します。

注意 : スクロール可能なカーソルが ODBC JDBC ブリッジによって実装されない場合、一部のレポート ツールでは、複数の SQL 文の実行命令が出されて、スクロール可能なカーソルがエミュレートされます。 一部のドライバではスクロール可能なカーソルが実装されないため、レポート ツールにより複数の SQL 文が発行されます。 これは、パフォーマンスに影響します。

Crystal Reports XI

この節は、AquaLogic Data Services Platform JDBC ドライバに Crystal Reports を接続するステップを解説し、AquaLogic Data Services Platform のインストールにより使用できる標準のコンフィギュレーション ファイルについて説明します。 AquaLogic Data Services Platform とともに Crystal Reports を使用する際の制約についても説明します。 この章の内容は以下のとおりです。

Crystal Reports のコンフィグレーション ファイルのサポート

Crystal Reports を AquaLogic Data Services Platform とともに使用する前に、デフォルトの Crystal Reports のコンフィグレーション ファイルである CRConfig.xml を変更し、Crystal Reports により JDBC を通じてデータ サービスにアクセスできることを確認する必要があります。

サンプルの AquaLogic Data Services Platform の CRConfig.xml フ ァイルは、AquaLogic Data Services Platform の標準インストールにより、用意されています。 コンフィグレーション ファイルのセクションは、「ALDSP」文字列を含めるために変更する必要があります。 このファイルは、以下の場所にあります。

<weblogic81>/LiquidData/resources/ReportingToolConfigs/CrystalReports

サンプルの CRConfig.xml で指定されたパスと同一のディレクトリに Crystal Reports がインストールされる場合と、サンプルの CRConfig.xml で指定されたパスと同一のディレクトリに AquaLogic Data Services Platform がインストールされる場合を除き、サンプルの CRConfig.xml を直接使用することはできません。 そのため、AquaLogic Data Services Platform とともに使用できるサンプルの CRConfig.xml ファイルに従って Crystal Reports とともに使用できるデフォルトの CRConfig.xml ファイルを変更する必要があります。

注意 : AquaLogic Data Services Platform のサンプル CRConfig.xml ファイルを変更することもできますが、AquaLogic Data Services Platform のサンプル ファイルに基き、デフォルトの Crystal Reports の CRConfig.xml ファイルを変更することをお勧めします。

表 5-10は、AquaLogic Data Services Platform JDBC ドライバを使用してデータにアクセスする際に Crystal Reports のコンフィグレーション ファイルへの制約の一部と、コンフィグレーション変更が必要な部分を表しています。

表 5-10 AquaLogic Data Services Platform 用の Crystal Reports コンフィグレーション ファイルのサポート
コンフィグレーション ファイル
説明
CRConfig.xml
  • weblogic.jar および ldjdbc.jar へのパスを CLASSPATH 環境変数の先頭に追加する。
  • <JDBC> 要素全体をサンプルの <JDBC> 要素に置換する。
  • AquaLogic Data Services Platform JDBC ドライバへの接続に使用する JDBC ドライバの URL および JDBC のユーザ名に基づき、<JDBCURL> および <JDBCUserName> 要素を変更する。

以下の抜粋コードは、DBC ドライバの URL およびユーザ名のコンフィグレーション設定に伴う <JDBC> 要素のサンプルです。

   <!-- ALDSP2.5 : 以下の <JDBC コンフィグレーションは    ALDSP 特定。 -->
<JDBC>
<CacheRowSetSize>100</CacheRowSetSize>
  <!-- ALDSP: <JDBCURL> をユーザの URL に変更してください。 -->
<JDBCURL>jdbc:dsp@localhost:7001/YOUR_APP</JDBCURL>
<JDBCClassName>com.bea.dsp.jdbc.driver.DSPJDBCDriver</JDBCClassName>
<!-- ALDSP:<JDBCUserName>をユーザの URL に変更してください。 -->
<JDBCUserName>ENTER_USER_NAME_HERE</JDBCUserName>
<JNDIURL></JNDIURL>
<JNDIConnectionFactory></JNDIConnectionFactory>
<JNDIInitContext>/</JNDIInitContext>
<JNDIUserName></JNDIUserName>
<GenericJDBCDriver>
<Option>Yes</Option>
<DatabaseStructure>catalogs,schemas,tables</DatabaseStructure>
<StoredProcType>Standard</StoredProcType>
<LogonStyle>Standard</LogonStyle>
</GenericJDBCDriver>

</JDBC>

制約

Crystal Reports を使用してデータ サービスにアクセスする前に、以下を考慮する必要があります。

JDBC を使用する Crystal Reports への接続

Crystal Reports を JDBC ドライバに接続し、データ サービスにアクセスしてレポートを生成するには、以下の手順を行います。

  1. Crystal Reports 11.0 には、AquaLogic Data Services Platform JDBC ドライバとの直接交信に使用できる直接 JDBC インタフェースが準備されています。 標準レポート作成ウィザードから JDBC (JNDI) 接続を選択し、JDBC 用の新規の接続を作成する必要があります。 これにより、以下の 図 5-2 のような [JDBC (JNDI) 接続] ダイアログ ボックスが表示されます。
  2. 図 5-2 [接続] ダイアログ ボックス


    [接続] ダイアログ ボックス

  3. Crystal Reports の JDBC インタフェース用の接続パラメータを 図 5-3 のように指定します。
  4. 図 5-3 [接続情報] ダイアログ ボックス


    [接続情報] ダイアログ ボックス

    注意 : 図 5-3 で示すように、ユーザ ID およびパスワード用に正しいパラメータを指定した後、データベースのドロップ ダウン ボックスは、使用可能なカタログ (AquaLogic Data Services Platform アプリケーション) で実装されます。
  5. [完了] をクリックし、標準レポート作成ウィザードに戻ります。
  6. 図 5-4 に示すように、レポートを生成するテーブルを右側にドラッグします。
  7. 図 5-4 メタデータ ブラウザ ウィンドウ


    [メタデータ ブラウザ] ウィンドウ

  8. または、[コマンドの追加] オプションを選択して SQL クエリを直接入力することもでき、これにより図 5-5 のようなウィンドウが表示されます。
  9. 図 5-5 コマンドの追加


    コマンドの追加

  10. [OK] をクリックすると、ウィンドウの右側にコマンドが追加されます。
  11. ウィザードの [次へ] をクリックすると、図 5-6 で示すようにレポート生成に使用できるビューが表示されます。
  12. 図 5-6 [リンク]画面


    [リンク]画面

  13. 図 5-7 に示すように、[次へ] をクリックして [カラム選択] ウィンドウに戻ります。 このウィンドウでは、最終レポートで参照するカラムを選択できます。
  14. 図 5-7 カラムの選択


    カラムの選択

    注意 : この例では、ユーザ生成コマンドおよび CUSTOMER ビューからカラムを選択します。
  15. [次へ] をクリックすると [グループ化] 画面が表示され (図 5-8 を参照)、グループ化するカラムを選択できます。 (このグループ化は、Crystal Reports により実行されます。 グループ化情報は、JDBC ドライバには渡されません。)
  16. 図 5-8 [グループ化]画面


    [グループ化]画面

  17. ここでは、次の画面をいくつかスキップします。 [テンプレートの選択] 画面が表示されるまで [次へ] をクリックします (図 5-9 を参照)。 適切なテンプレートを選択します。 この例では、[ブロック (青)] テンプレートを選択しています。
  18. 図 5-9 [テンプレートの選択]画面


    [テンプレートの選択]画面

  19. [完了] をクリックします。 図 5-10 と同様のレポートが表示されます。
  20. 図 5-10 生成されるレポート


    生成されるレポート

Business Objects XI-Release 2 (ODBC)

Business Objects により Universe を作成し、指定した Universe に基づくレポートを生成することができます。 Universe の作成が不要な Business Objects に対してパススルー SQL クエリを実行することもできます。

注意 : SELECT リストの 4 部の名 (<catalogname>.<scemaname>.<tablename>.<columnname> など) を指定する必要がある場合は、FROM 句を使用するテーブルのエイリアスを定義した後、SELECT リストの 2 つの部分 <tablealias>.<columnname> のみを使用してください。 AquaLogic Data Services Platform JDBC ドライバは、SELECT リスト項目から最後の 2 箇所のみを抽出し、残りを無視します。
注意 : 例えば、次のように指定します。
SELECT C.Name FROM DataServices.MySchema.CUSTOMER C
where
DataServices is the catalog name
MySchema is the schema name
CUSTOMER is the table name
Name is the column name
C is the table alias for CUSTOMER

この節では、Business Objects をコンフィグレーションし、AquaLogic Data Services Platform JDBC ドライバにアクセスする方法について説明します。 この章の内容は以下のとおりです。

Business Objects コンフィグレーション ファイルのサポート

標準的な BusinessObjects インストール環境で使用できる BusinessObjects コンフィグレーション ファイルには、odbc.prm および odbc.sbo があり、BusinessObjects を使用するデータ サービスにアクセスするために、AquaLogic Data Services Platform とともに利用可能な odbc.prm および odbc.sbo コンフィグレーション ファイルに代える必要があります。

BusinessObjects をインストールする時に、これらのファイルが以下の場所にコピーされます。

<Business Objects Home >\BusinessObjects Enterprise 11.5\
win32_x86\dataAccess\connectionServer\odbc

AquaLogic Data Services Platform のインストール環境では、これらのコンフィグレーション ファイルを以下の場所で使用できます。

<weblogic81>/LiquidData/resources/ReportingToolConfigs/BusinessObjects

AquaLogic Data Services Platform をインストールした後、BusinessObjects とともに利用可能な元のコンフィグレーション ファイルを別の場所に保存し、そのファイルを AquaLogic Data Services Platform とともにパッケージ化されたファイルと交換します。

AquaLogic Data Services Platform とともに提供されている BusinessObjects コンフィグレーション ファイルで、コメントを確認する必要があります。 (関連するコメントには、文字列 「ALDSP」 が入っています)。

ヒント : AquaLogic Data Services Platform とともに BusinessObjects を初めて使用する場合、含まれているコンフィグレーション ファイルを使用し、JDBC を通じたデータ サービスへのユーザのアクセス能力を確認することを推奨します。

表 5-11 は、AquaLogic Data Services Platform JDBC ドライバを使用してデータにアクセスする際に BusinessObjects コンフィグレーション ファイルへの制約の一部と、コンフィグレーション変更が必要な部分を表しています。

表 5-11 AquaLogic Data Services Platform 用の Business Objects コンフィグレーション ファイルのサポート
コンフィグレーション ファイル
説明
ODBC.PRM
特に以下をサポートしている。
  • EXT_JOIN (外部結合)
  • QUALIFIER (テーブル プレフィックス)
  • DISTINCT
  • ANSI_92
以下はサポートされていない。
  • INTERSECT
  • INTERSECT_IN_SUBQUERY
  • MINUS
  • MINUS_IN_SUBQUERY
ODBC.SBO
[トランザクション利用可能] オプションを [はい] に設定する。

前提条件および制約

Business Objects を使用してデータ サービスにアクセスする前に、以下を考慮する必要があります。

OpenLink のコンフィグレーションの詳細については、「OpenLink ODBC JDBC ブリッジの使用」を参照してください。

Business Objects レポートの生成

レポートを使用するには、以下の手順に従ってください。

  1. Universe を作成します。
    1. Business Objects Designer アプリケーションを実行し、[新規] をクリックして新しい Universe を作成します。
    2. ユーザの Universe 名を書き込み、適切な DSN 接続をドロップ ダウン リストから選択します。
    3. 使用する DSN がリストにない場合 (アプリケーションを最初に使用する場合)、[新規] をクリックして新しい接続を作成します。
    4. 新規接続の定義ウィザードにおいて、Generic ODBC3 Datasource をミドルウェアとして選択します。
    5. ユーザ名およびパスワードを指定して WebLogic Server に接続し、openlink-aldsp を DSN として選択します。 OpenLink ODBC JDBC ブリッジのコンフィグレーションの詳細については、「OpenLink ODBC JDBC ブリッジの使用」を参照してください。
    6. [次へ] をクリックし、サーバとの接続の成功をテストします。 ウィザードの手順に従い、接続の作成を完了します。
    7. 接続の作成後、その接続を Universe 内で指定し、[OK] をクリックします。 ブランク パネルが表示されます。
    8. [挿入] メニューから [テーブル] を選択します。 [テーブル ブラウザ] にテーブルのリストが表示された後、必要なテーブルをダブル クリックして Universe に入れます。 図 5-11 と同様の画面が表示されます。
    9. 図 5-11 テーブル ブラウザ


      テーブル ブラウザ

    10. Universe を保存し、終了します。
  2. 新しいレポートを以下により作成します。
    1. Desktop Intelligence アプリケーションを実行します。 [新規] をクリックし、新規レポート ウィザードを開きます。 [指定] を選択してデータにアクセスし、[開始] をクリックします。
    2. Universe を選択し、[次へ] をクリックします。 図 5-12 のように、テーブルおよびフィールド (カラム) の拡張が左のペインに表示されます。
    3. 図 5-12 クエリ パネル


      クエリ パネル

    4. 必要な Universe を選択し、[終了] をクリックします。 左のペインでカラム (テーブルフィールド) をダブル クリックし、それを結果で選択します。
    5. [実行] をクリックし、クエリを実行します。 図 5-13 のように結果が表示されます。
    6. 図 5-13 ビジネス オブジェクト パネル


      ビジネス オブジェクト パネル

  3. pass-through クエリを以下のように実行できます。
    1. Desktop Intelligence アプリケーションで [次へ] をクリックし、新規レポートを作成します。
    2. 新規レポート ウィザード で Universe の代わりに [その他] を選択します。
    3. [フリーハンド SQL] を選択し、[終了] をクリックします。
    4. Designer を使用して作成した接続を選択します。
    5. 図 5-14 に示すように、ユーザの SQL クエリを入力し、[実行] をクリックしてレポートを生成します。
    6. 図 5-14 SQL クエリの指定


      SQL クエリの指定

    7. [実行] をクリックします。 図 5-15 に示すレポートが表示されます。
    8. 図 5-15 ビジネス オブジェクト レポート


      ビジネス オブジェクト レポート

Hyperion-ODBC

Hyperion により、Interactive Reporting Studio および Production Reporting Studio を使用してインタラクティブおよびプロダクション レポートを生成できます。 この節では、ODBC JDBC ブリッジを使用して AquaLogic Data Services Platform データ ソースにアクセスし、インタラクティブおよびプロダクション レポートを生成する手順について説明します。

この章の内容は以下のとおりです。

制約

Hyperion を使用してデータ サービスにアクセスする前に、以下を考慮する必要があります。

Hyperion Production Reporting Studio の使用

Hyperion Production Reporting Studio を使用して接続を確立し、結果を表示するには、以下の手順に従ってください。

  1. Production Reporting Studio を開き、[新規レポート作成] ウィザードから表形式のレポートを選択します。
  2. [データ接続] ボックスから AquaLogic Data Services Platform への接続に使用するブリッジを選択し、[OK] をクリックします。
  3. 注意 : Hyperion Production Reporting Suite を使用してレポートを作成するには、AquaLogic Data Services Platform でパブリッシュされるテーブル用に小文字の名を使用する必要があります。 AquaLogic Data Services Platform でテーブルをパブリッシュする方法の詳細については、『データ サービス開発者ガイド』の「SQL で使用するためのデータ サービス関数のパブリッシュ」を参照してください。
  4. 新規接続を作成するには、[次へ] をクリックしてデータ接続作成ウィザードの手順に従います。 ODBC としてプロバイダを選択します。 OpenLink または EasySoft をユーザの常用の ODBC JDBC ブリッジとしてコンフィグレーションする方法の詳細については、「OpenLink ODBC JDBC ブリッジの使用」および「EasySoft ODBC JDBC ブリッジの使用」を参照してください。
  5. 手順に従い、新規データ接続を作成して ODBC および SQR データベースを選択します。 認証用にユーザ名およびパスワードを指定します。
  6. [クエリ ビルダ - テーブル] ダイアログ ボックスから、レポート生成に使用するテーブルを選択し、[次へ] をクリックします。
  7. レポート生成に使用するクエリ フィールドを選択し、クエリ ビルダ コンフィグレーションの手順に従います。
  8. [終了] をクリックすると、レポートのレイアウトが表示されます。 [処理] をクリックしてレポートを実行し、保存します。 図 5-16 のようにレポートが表示されます。
  9. 図 5-16 Hyperion Production Reporting Studio のレポート


    Hyperion Interactive Reporting Studio のレポート

Hyperion Interactive Reporting Studio の使用

Interactive Reporting Studio を使用してレポートを作成するには、以下の手順に従ってください。

  1. Interactive Reporting Studio を開き、新規データベース接続を作成するように選択します。 接続型およびデータベースとして ODBC を指定します。
  2. Easysoft または Openlink をブリッジとして選択し、データベース接続ウィザードを使用してデータ ソースへの接続資格を指定します。 新規接続を作成する残りのステップは、プロダクション レポートのステップと同一です。 接続の作成後、ブランク レイアウトが表示されます。
  3. クエリ エリアにテーブルを追加し、[リクエスト] フィールドにおいてデータを検索するカラムをドラッグ&ドロップします。 [フィルタ] フィールドを使用するクエリ用にフィルタを設定することもできます。
  4. 図 5-17 に示すように [現行処理] をクリックしてレポートを実行して保存します。
  5. 図 5-17 Hyperion Interactive Reporting Studio のレポート


    Hyperion Interactive Reporting Studio のレポート

Microsoft Access 2003-ODBC

この節は、ODJB JDBC ブリッジを通じて Microsoft Excel 2003 を AquaLogic Data Services Platform に接続するプロシージャについて説明します。 この章の内容は以下のとおりです。

制約および使用上の注意
MS Access を使用したレポートの生成

MS Access をブリッジに接続するには、以下の手順に従ってください。

  1. MS Access を実行し、[ファイル] 矢印 [開く] をクリックした後、図 5-18 に示すように [ODBC データベース] をファイル型として選択します。
  2. 図 5-18 Access における ODBC データベースの選択


    Access における ODBC データベースの選択

  3. [データ ソースの選択] ダイアログが表示されたら [取り消し] をクリックしてダイアログを閉じます。 図 5-19 に示すウィンドウが表示されます。
  4. 図 5-19 [OBDC23: データベース] 画面


    [OBDC23: データベース] 画面

  5. 図 5-19 に示すように、[クエリ] をクリックした後、[デザイン] をクリックします。 図 5-20 に示すウィンドウが表示されます。
  6. 図 5-20 [選択クエリ] および [テーブルの表示] 画面


    [選択クエリ] および [テーブルの表示] 画面

  7. [テーブルの表示] ダイアログ ボックスを閉じます。 [選択クエリ] ウィンドウが表示できます。
  8. ウィンドウを右クリックし、図 5-21 に示すように [SQL 指定] 矢印 [パス スルー] を選択します。
  9. 図 5-21 [SQL 指定] および [パス スルー]


    [SQL 指定] および [パス スルー]の選択

  10. 図 5-22 に示すように、ユーザの SQL クエリを入力し、[実行] をクリックします。
  11. 図 5-22 SQL クエリの実行


    SQL クエリの実行

  12. 表示されたダイアログボックス (図 5-23 を参照) で、[Machine Data Source] のタブへ行き、openlink-aldsp を選択して AquaLogic Data Services Platform JDBC ドライバに接続し、レポートを作成します。
  13. 図 5-23 データベース用の DSN の選択


    データベース用の DSN の選択

Microsoft Access 2003-ODBC

この節は、EasySoft を使用する ODJB JDBC ブリッジを通じて Microsoft Excel 2003 を AquaLogic Data Services Platform に接続するプロシージャについて説明します。

MS Excel を AquaLogic Data Services Platform に接続するには、以下の手順に従います。

  1. WebLogic 用の Workshop を 起動した後、WebLogic Server を起動します。
  2. AquaLogic Data Services Platform アプリケーションを構築およびデプロイします。
  3. Microsoft Excel を起動し、新しいワークシートを開きます。
  4. [データ] 矢印 [外部データ インポート] 矢印 [新規データベース クエリ] をクリックします。 [データ ソース選択] ダイアログ ボックスが表示されます。
  5. データ ソースのリストから [EasyDemo] を選択した後、[OK] をクリックします。 [クエリ ウィザード選択カラム] ダイアログ ボックスが表示されます。 EasySoft を使用する JDBC ドライバのコンフィグレーションの詳細については、「EasySoft ODBC JDBC ブリッジの使用」を参照してください。
  6. レポートを生成するテーブルを選択し、[次へ] をクリックします。
  7. クエリ ウィザードの手順に従い、[クエリ ウィザード終了] ダイアログ ボックスで [Microsoft Office Excel にデータを返却] を選択します。
  8. [終了] をクリックし、新規の MS Excel スプレッドシートにデータをインポートします。 図 5-24 に示すように、クエリ結果がスプレッドシートに表示されます。
  9. 図 5-24 MS Excel に表示されたクエリ結果


    MS Excel に表示されたクエリ結果

制約

生成された SQL 文字列を Excel に渡すときに、Excel がエイリアスの周囲に一重引用符を挿入する場合があり、その結果 AquaLogic Data Services Platform JDBC ドライバから例外が発生することがあります。 以下に例を示します。

SELECT Sum(CREDIT.AMOUNT) AS 'Sum of AMOUNT' FROM Xtreme.CREDIT CREDIT

クエリは、生成後に編集できますが、この問題に対応するためのパッチを Microsoft からインストールすることもできます。 この問題の詳細およびパッチにアクセスする現行の URL を以下に示します。


http://support.microsoft.com/kb/298955/en-us

 


クエリ プラン ビューア ユーティリティの使用

スタンドアロン型のクエリ プラン ビューア ユーティリティを使用する SQL クエリまたは XQuery の実行用のプランを参照できます。 その機能は、『データ サービス開発者ガイド』の「クエリ プラン関数のテストおよびクエリ プランの表示」の章の「クエリ プラン ビューの使用」に記載されている機能と同様です。

注意 : このユーティリティを使用するには、コンポーネントの一部をインストールして AquaLogic Data Services Platform 対応のアプリケーションへのログインの認可を受ける必要があります。

クエリ プラン ユーティリティ コンポーネントのインストール

AquaLogic Data Services Platform を完全にインストールしない場合は、特定のコンポーネント ファイルのセットをインストールしてクエリ プラン ビューア ユーティリティを実行する必要があります。 これらのデフォルトの場所は事前に設定されていますが、簡単に変更できます。

表 5-12 クエリ プラン ユーティリティ コンポーネント ファイルのデフォルトの場所
ファイル
デフォルトの場所
  • aldspqpv.cmd (windows)
  • aldspqpv.sh (unix/linux)
/liquiddata/bin
  • aldspqpv.jar
  • ldjdbc.jar
<weblogic_home>/liquiddata/lib
  • wlclient.jar
<weblogic_home>/server/lib

aldspqpv.cmd (Windows) または aldspqpv.sh (unix/linux) ファイルを編集してデフォルトの場所の設定を調整できます。

コマンド ライン構文

クエリ プラン ビューア ユーティリティのコマンド ライン構文を以下に示します。

Java -classpath [path1/]wlclient.jar;[path2/]ldjdbc.jar;[path3/]aldspqpv.jar
com.bea.dsp.client.ui.shell.Shell
[Server host name][Server port number][Application name]
[User id][Password]

デフォルト設定の例を以下に示します。

Java -classpath ../../server/lib/wlclient.jar;../lib/ldjdbc.jar;../lib/aldspqpv.jar

com.bea.dsp.client.ui.shell.Shell

localhost 7001 RTLApp weblogic weblogic

クエリ プラン ビューア ユーティリティの呼び出し

ユーザのクラス パスを適切に設定した後、以下のいずれかを使用するコマンド ラインからクエリ プラン ビューア ユーティリティを呼び出すことができます。

Windows のシステムでは、[スタート] メニュー オプションを aldspqpv.cmd に関連させ、呼び出しコマンドを簡単に関連付けることができます。

クエリ プラン ビューアの [ログイン] ダイアログ

クエリ プランを表示するには、AquaLogic Data Services Platform に対応するサーバにログ インする必要があります (図 5-25)。

図 5-25 クエリ プラン ビューアの [ログイン] ダイアログ
MS Excel に表示されたクエリ結果

ダイアログに以下の情報を入力します。

クエリ プラン ビューア にログインした後は、パスワード以外のすべての情報は、ユーザのシステムに保存されます。

SQL クエリまたは XQuery の入力

ユーザのサーバにログインした後は、SQL クエリ または XQuery のいずれかの入力を選択してクエリを入力できます。

図 5-26 クエリ型の選択

クエリ型の選択

注意 : 機能的には、XQuery または SQL クエリの選択は、データ サービス開発環境の Query Plan View でアドホック XQuery またはアド ホック SQL クエリを選択することと同じです。

XQuery または SQL クエリの入力および結果のクエリ プランの取り扱いの詳細については、『データ サービス開発者ガイド』の「アドホック クエリの作成」を参照してください。

その他のクエリ プラン ビューア ユーティリティ オプション

このユーティリティには、[ファイル] メニューから使用できるオプションがいくつかあります。 表 5-13 では、これらのオプションについて説明します。

表 5-13 クエリ プラン ビューア ユーティリティ オプション
オプション
使用方法
[ファイル] から [クエリ プラン] を開く。
このオプションは、前に保存したクエリ プラン名を入力できるダイアログを開く。
[接続]
クエリ プラン ビューアの [接続] ダイアログ ボックスをここで開くか、再び開く。
[接続解除]
現行のサーバ セッションを接続解除する。
[出力]
現行のクエリ プランを出力できる標準ダイアログ ボックスを開く。
[ファイルに保存]
現行のクエリを XML フォーマットのファイルに保存できる標準ダイアログ ボックスを開く。
[終了]
クエリ プラン ビューア ユーティリティを終了する。


  ページの先頭      前へ 次へ