Comments
Transcript
IBM Red Brick Warehouse バージョン 6.2 年 9 月 2002
IBM Red Brick Warehouse バージョン 6.2 2002 年 9 月 Part No. 000-9046-8 注意 : 本書の情報および該当製品をご利用になる前に、付録「特記事項」の内容をお読みください。 本書には、IBM の著作権情報が含まれます。本書は、使用許諾契約に基づいて提供され、著作権法により 保護されます。本書の内容には、いかなる製品の明示的または黙示的保証も含まれません。 お客様が IBM に情報をお送りなる場合は、IBM に当該情報を自由に使用、頒布するための権利を許諾され たものとみなされます。IBM が当該情報を利用することにより、お客様に責任が及ぶことはありません。 © Copyright International Business Machines Corporation 1996, 2002. All rights reserved. 米国政府機関ユーザーの権利の制限 - IBM Corporation との間の GSA ADP Schedule Contract により、使用、複 製、および開示が制限されます。 ii Client Installation and Connectivity Guide 目次 目次 まえがき この章について . . . . . まえがき . . . . . . . 対象読者 . . . . . . ソフトウェア要件 . . 本書で扱わない事項 . . 使用ロケールの仮定 . . 本書の表記法 . . . . . . 文字の表記規則 . . . キーワードと区切り文字 識別子と名前 . . . . 文中記号の表記規則 . . 関連文献 . . . . . . . その他のマニュアル . . . オンライン マニュアル . 印刷マニュアル . . . オンライン ヘルプ . . 第1章 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 3 4 4 5 5 6 6 6 8 10 10 10 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 1-3 1-4 1-4 1-4 1-5 1-5 1-7 1-8 1-9 Client Connector Pack のインストール この章について . . . . . . . . . . . . . Client Connector Pack のコンポーネント . . . . . ドライバ要件 . . . . . . . . . . . . . . ODBC ドライバ要件 . . . . . . . . . . JDBC ドライバ要件 . . . . . . . . . . クライアントの要件 . . . . . . . . . . . Client Connector Pack コンポーネントのインストール インストール エラー . . . . . . . . . . . Client Connector Pack のアンインストール . . . . Windows でのデータ ソースの設定 . . . . . . 第2章 Red Brick ODBC Driver の説明 この章について . . . . . . . . . . . . . . . . . . アーキテクチャ . . . . . . . . . . . . . . . . . . 要件 . . . . . . . . . . . . . . . . . . . . . . スタック サイズの要件 . . . . . . . . . . . . . SQL_ATTR_ODBC_VERSION でのバージョン レベルの設定 サポートされている関数 . . . . . . . . . . . . . . 環境属性 . . . . . . . . . . . . . . . . . . 接続属性 . . . . . . . . . . . . . . . . . . ステートメント属性 . . . . . . . . . . . . . . 記述子フィールド . . . . . . . . . . . . . . . 診断フィールド . . . . . . . . . . . . . . . . SQLGetInfo 情報タイプ . . . . . . . . . . . . . コア SQL 文法 . . . . . . . . . . . . . . . . . . エスケープ シーケンス . . . . . . . . . . . . . . . スカラ関数 . . . . . . . . . . . . . . . . . . . 文字列関数 . . . . . . . . . . . . . . . . . . 数値関数 . . . . . . . . . . . . . . . . . . 日付 / 時刻関数 . . . . . . . . . . . . . . . . システム関数 . . . . . . . . . . . . . . . . . データ型変換関数 . . . . . . . . . . . . . . . ODBC データ型 . . . . . . . . . . . . . . . . . . 第3章 2-3 2-4 2-5 2-5 2-5 2-6 2-12 2-12 2-13 2-15 2-18 2-19 2-32 2-33 2-33 2-33 2-34 2-35 2-36 2-36 2-37 . . . . . . . . . . . . . . . . 3-3 3-4 3-4 3-5 3-6 3-6 3-11 3-11 3-13 3-14 3-14 3-14 3-15 3-15 3-15 3-15 データウェアハウスの性能 この章について . . . . . . . . . . . . . . Red Brick ODBClib SDK の使用 . . . . . . . . C コンパイラ . . . . . . . . . . . . . ソフトウェア ファイル . . . . . . . . . ODBClib ライブラリとヘッダ ファイル . . . . Red Brick ODBClib によるコンパイルとリンク . UNIX での ODBC アプリケーションの実行 . . . . ファイル $HOME/.odbc.ini でのデータ ソース設定 プラットフォーム別環境変数の設定 . . . . . Red Brick と DataDirect SDK の機能の相違点 . . . . ヘッダ ファイル . . . . . . . . . . . . DSN 接続 . . . . . . . . . . . . . . ソースコードの移植性 . . . . . . . . . . ドライバ マネージャ機能のエミュレーション . SQLDataSources . . . . . . . . . . . . SQLDrivers . . . . . . . . . . . . . . iv . . . . . . . . . . . . . . . . . . . . . Client Installation and Connectivity Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SQLGetInfo . . . . . . . . . サンプル ODBC プログラム . . . . . サンプル プログラムの場所 . . . サンプル プログラムのセットアップ 第4章 第5章 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 3-17 3-17 3-17 この章について . . . . . . . . . . . . . . . . . . . JDBC とは . . . . . . . . . . . . . . . . . . . . . JDBC ドライバとは . . . . . . . . . . . . . . . . . . 二層コンフィグレーションと三層コンフィグレーション . . . . . 2 層構成 . . . . . . . . . . . . . . . . . . . . 3 層構成 . . . . . . . . . . . . . . . . . . . . ドライバのインストール . . . . . . . . . . . . . . . . 対話形式でのインストール . . . . . . . . . . . . . サイレント モードのインストール . . . . . . . . . . . ドライバとともにインストールされるファイル . . . . . . Java の CLASSPATH におけるドライバの組み込み . . . . . ドライバのアンインストール . . . . . . . . . . . . . アプレットでのドライバの使用 . . . . . . . . . . . . . HTTP プロキシ サーバの使用 . . . . . . . . . . . . . . プロキシ サーバの構成 (3 層構成の場合 ) . . . . . . . . . . Netscape、Apache、IBM の各 Web サーバに必要なソフトウェア Red Brick JDBC プロキシ サーブレットのインストール . . . . HTTP プロキシの指定 . . . . . . . . . . . . . . . 4-3 4-3 4-6 4-7 4-7 4-7 4-8 4-8 4-9 4-10 4-11 4-13 4-14 4-15 4-16 4-16 4-17 4-20 Red Brick JDBC Driver 入門 Red Brick JDBC Driver を使用したプログラミング この章について . . . . . . . . . . . . . . . . 接続の確立 . . . . . . . . . . . . . . . . . . DriverManager クラスを使用して接続を確立する . . . DataSource オブジェクトを介したデータベース接続 . . サポートされている Connection メソッド . . . . . . サポートされている DataSource メソッド . . . . . サポートされている ConnectionPoolDataSource メソッド サポートされている PooledConnection メソッド . . . サポートされている ConnectionEventListener メソッド . データベースのメタデータへのアクセス . . . . . . . データベースへのアクセス . . . . . . . . . . . . 文の実行 . . . . . . . . . . . . . . . . . ResultSet オブジェクトでのクエリ結果の受信 . . . . PreparedStatement オブジェクトを使用したクエリの例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3 5-3 5-4 5-9 5-10 5-11 5-12 5-12 5-12 5-13 5-14 5-14 5-15 5-18 目次 v データ型のマッピング . . . . . . . . . . . . . . . . IBM Red Brick Warehouse データ型と JDBC データ型のマッピング サポートされる ResultSet.getXXX() メソッド . . . . . . . SQLException クラスによるエラー処理 . . . . . . . . . . グローバル化 . . . . . . . . . . . . . . . . . . . グローバル化のサポート . . . . . . . . . . . . . . IBM Red Brick Warehouse におけるロケールのサポート . . . 取り消し処理 . . . . . . . . . . . . . . . . . . . スカラ関数 . . . . . . . . . . . . . . . . . . . . トランザクションの処理 . . . . . . . . . . . . . . . ドライバのバージョン番号の取得 . . . . . . . . . . . . サンプル コード ファイル . . . . . . . . . . . . . . . 第6章 5-19 5-19 5-21 5-23 5-24 5-24 5-25 5-27 5-28 5-31 5-31 5-32 Red Brick JDBC ツール この章について . . . . . . 環境設定 . . . . . . . . Data Source Administrator ツール JDBC Ping ツール . . . . . 特記事項 索引 vi Client Installation and Connectivity Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 6-4 6-6 6-7 まえがき まえがき この章について . . . . . . . . . . . . . . . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 4 4 本書の表記法 . . . . . 文字の表記規則 . . . キーワードと区切り文字 識別子と名前 . . . . 文中記号の表記規則 . . コメント記号 . . . プラットフォーム記号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 6 6 6 6 7 関連文献 . . . . . . . . . . . . . . . 8 . . . . . . . . 10 10 10 10 まえがき . . . . . 対象読者 . . . . ソフトウェア要件 . 本書で扱わない事項 使用ロケールの仮定 . . . . . . その他のマニュアル . . オンライン マニュアル 印刷マニュアル . . オンライン ヘルプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Client Installation and Connectivity Guide この章について この章では、本書の概要と表記法について説明します。 まえがき 本書で扱う内容は以下のとおりです。 ■ ■ ■ ■ Windows プラットフォーム上での IBM Red Brick Warehouse Client Connector Pack のインストール Red Brick ODBC Driver の使用 UNIX ODBC アプリケーションの作成 Red Brick JDBC Driver のインストールと使用 対象読者 本書の主な対象ユーザは、IBM Red Brick Warehouse データベースと通信する ODBC または JDBC 準拠アプリケーションを開発するプログラマです。 ソフトウェア要件 本書では、データベース サーバとして IBM Red Brick Warehouse バージョン 6.2 を使 用することを前提としています。ODBC と JDBC の具体的な要件については、 1-4 ページを参照してください。 まえがき 3 本書で扱わない事項 本書で扱わない事項 本書では、JDBC API のインターフェイス、クラス、およびメソッドをすべて網羅し ているわけではありません。また、JDBC API を使って Red Brick データベースに接 続する Java アプリケーションを記述する方法について、詳しい説明はしていませ ん。JDBC API の使用方法の詳細については、 『JDBC API Tutorial and Reference, Second Edition』(Seth White ほか著、Addison-Wesley Press 刊、1999 年発行 ) を参照し てください。 使用ロケールの仮定 IBM Red Brick Warehouse データベースは、多数の言語、地域情報、およびコード セットをサポートしています。これら地域固有の情報は、ロケールという 1 つの環 境にまとめられています。 本書中の例では、ファイル rbw.config の中でパラメータ NLS_LOCALE LOCALE を 使って以下のデフォルトのロケールを指定しているものとします。 English_UnitedStates.US-ASCII@Binary このロケールは、日付、時刻、および通貨に対して米国英語の書式規則をサポート しています。また、US-ASCII のコード ページとバイナリ ソートもサポートしてい ます。 データまたは SQL 識別子の中でデフォルト以外の文字を使用する場合、または、文 字データをデフォルト以外の規則に従って照合する場合は、デフォルト以外のロ ケールを指定する必要があります。 国際化の詳細については、第 5 章「Red Brick JDBC Driver を使用したプログラミン グ」を参照してください。 4 Client Installation and Connectivity Guide 本書の表記法 本書の表記法 ここでは、このマニュアルで使用される、以下の表記規則について説明します。表 記規則を覚えておくと、このマニュアル、およびほかのマニュアルの内容を理解す るのに役立ちます。 以下のような表記規則があります。 ■ ■ ■ ■ ■ ■ 文字の表記規則 構文の規則 構文図 キーワードと区切り文字 識別子と名前 文中記号の表記規則 文字の表記規則 このマニュアルは、新しい用語、画面表示、コマンド構文などを表記するのに、以 下の規則を使用します。 表記規則 意味 KEYWORD プログラミング言語の文中では、主要な要素 ( キーワード ) は、すべて大文字のセリフ フォントで表記されます。 Computer 製品の表示情報やユーザの入力情報はモノスペース フォント で表記されます。 ♦ この記号は、製品やプラットフォームなどに特有の情報の終 わりを表します。 ➞ この記号は、メニュー項目を表します。たとえば、"[ ツール ] ➞[ オプション ] を選択します。" は、[ ツール ] メニューの [ オプション ] を選択することを意味します。 ヒント : コマンドの入力、または実行の指示がある場合、入力後に ENTER キーを 押してください。コマンド以外の文字の入力やほかのキーを押す指示がある場合、 ENTER キーを押す必要はありません。 まえがき 5 キーワードと区切り文字 キーワードと区切り文字 キーワードとは、文およびコマンド ( システム レベルのコマンドを除く ) で使用す るために予約された単語のことです。キーワードは大文字で表記されます。ユーザ が実際にキーワードを記述する場合は、大文字 / 小文字のどちらを使用してもかま いません。ただし、スペルは正確でなければなりません。 識別子と名前 変数は、識別子および名前に対するプレースホルダです。変数は、文脈に応じて任 意の名前、識別子、またはリテラルに置き換えることができます。変数、構文ダイ アグラム、例、テキストでは、<>(山形かっこ)表記されます。 文中記号の表記規則 マニュアル内では、数種類の記号によってその内容が区別されるテキストがありま す。この節では、これらの記号について説明します。 コメント記号 コメント記号によって区別される情報には、次の表に示す 3 種類があります。 記号 ラベル 説明 警告 : 必須の情報、注意、重要な情報が含まれています。 重要 : 現在説明されている手順または機能に関する重要な 情報が含まれています。 ヒント : 現在説明されている機能に関する、詳細または ショートカットなどの追加情報が含まれます。 6 Client Installation and Connectivity Guide 文中記号の表記規則 プラットフォーム記号 機能記号、製品記号、およびプラットフォーム記号は、特定のプラットフォームに 関する情報を意味します。 記号 説明 UNIX WIN NT UNIX プラットフォームにのみ関係のある情報を意味しま す。 Windows NT 環境にのみ関係のある情報を意味します。 これらの記号は、節全体に適用される場合と、節内の一部のパラグラフにのみ適用 される場合があります。記号が節見出しの隣に付いている場合、その機能、製品、 またはプラットフォーム固有の情報の範囲は、同じレベルまたは上位レベルの節が 現れる直前までです。♦ 記号は、機能、製品、またはプラットフォーム固有の情報 が節内の一部のパラグラフにのみ記述されている場合に、その固有情報の範囲の末 尾を表します。 まえがき 7 関連文献 関連文献 IBM Red Brick Warehouse のマニュアルには、以下の文書が含まれています。 マニュアル 『Administrator's Guide』 本書 説明 ウェアハウスのアーキテクチャやサポートされる スキーマなど、データべースに関連した基本概念 のマニュアルです。データべースのインプリメン トや保守の手順について説明しています。システ ム テーブルとコンフィグレーション ファイルの説 明も含まれています。 ODBC、Red Brick JDBC Driver、RISQL エントリ ツール、RISQL レポータ をクライアント システム にインストールして構成するためのガイドです。C および C++ アプリケーション用 ODBC 製品と Java アプリケーション用 JDBC 製品を使用して、IBM Red Brick Warehouse にアクセスする方法を説明し ています。 『IBM Red Brick Vista User's Guide』 IBM Red Brick Vista の集約計算とマネジメントのシ ステムについて説明しています。集約を使用して クエリを自動的にリライトすることによって Vista クエリ パフォーマンスを向上させる方法、毎日集 められるデータをもとに最高の集約セットを作る よう推奨すること、詳細テーブルが更新されると きに集約テーブルがどのように保守されるかを説 明しています。 『Installation and Configuration Guide』 IBM Red Brick Warehouse のインストールと環境設 定に関する説明書と、プラットフォーム別マニュ アルです。UNIX および Linux ベースのシステム用 と、Windows ベースのシステム用があります。 (1/2) 8 Client Installation and Connectivity Guide 関連文献 マニュアル 説明 『Messages and Codes Reference Guide』 IBM Red Brick Warehouse 製品が出力するすべての 状態情報、警告、エラー メッセージとその考えら れる原因、対処方法が示されています。ログ ファ イルに書き込まれるイベント ログ メッセージも記 述されています。 『Query Performance Guide』 クエリ パフォーマンスの決定要因と、最適なクエ リ パフォーマンスを得るためのデータベースの チューニング方法について説明しています。Red Brick ツール (SET STATS、Dynamic Statistic Tables : 動的統計テーブル、EXPLAIN、および Query Performance Monitor) を使用してクエリ パフォーマ ンスを評価する方法についても、例を挙げて説明 しています。 『リリース ノート』 マニュアルの印刷後に判明した現リリースに関す る情報が含まれます。 『RISQL Entry Tool and RISQL Reporter User's Guide』 SQL 文の入力に使用するコマンドライン ツールで ある RISQL エントリ ツール と、RISQL エントリ ツール にレポートのフォーマット設定機能を付加 した RISQL レポータ の詳細なガイドです。 『SQL Reference Guide』 Red Brick SQL のインプリメントと RISQL (IBM Red Brick Warehouse データベースのための拡張機能 ) に 関する詳細な言語リファレンスです。 『SQL Self-Study Guide』 例題に基づいて SQL を復習し、RISQL 拡張機能、 マクロ関数、Aroma のサンプル データベースを紹 介します。 『Table Management Utility Reference Guide』 データのロード、管理、バックアップに関連した 機能をまとめた、Table Management Utility について 説明しています。データのコピーと rb_cm コピー 管理ユーティリティについても説明しています。 (2/2) このほか、以下の参考資料も必要に応じて参照してください。 ■ ■ ■ SQL に関する入門書 リレーショナル データベースの入門書 ご使用のハードウェア プラットフォームとオペレーティング システムの マニュアル まえがき 9 その他のマニュアル その他のマニュアル 上記以外の情報は、以下のマニュアルを参照してください。 ■ ■ ■ オンライン マニュアル 印刷マニュアル オンライン ヘルプ オンライン マニュアル Red Brick 製品には、各種の IBM Red Brick Warehouse マニュアルを電子フォーマット で収録した CD-ROM が同梱されています。収録されているマニュアルは、システム にインストールして使用することも、CD-ROM から直接アクセスすることも可能で す。 印刷マニュアル 印刷マニュアルを注文する場合は、担当販売員までご連絡ください。 オンライン ヘルプ IBM はグラフィカル ユーザ インタフェース (GUI) を用いたオンライン ヘルプを提 供します。これにより、各インタフェースや実行する関数についての情報を参照す ることができます。オンライン ヘルプを表示するには、GUI のヘルプ機能を利用し てください。 10 Client Installation and Connectivity Guide 第1章 の インストール この章について . . . . . . . . . . . . . . 1-3 Client Connector Pack のコンポーネント . . . . . . . . . . . 1-3 ドライバ要件 . . . . ODBC ドライバ要件 . JDBC ドライバ要件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 1-4 1-4 クライアントの要件 . . . . . . . . . 1-5 Client Connector Pack コンポーネントのインストール . . . . . . . 1-5 インストール エラー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 Client Connector Pack のアンインストール . . . . . . . . . . . 1-8 Windows でのデータ ソースの設定 . . . . . . . . . . . 1-9 . . 1-2 Client Installation and Connectivity Guide この章について この章では、IBM Red Brick Warehouse Client Connector Pack を Windows コンピュータ にインストールする方法、およびアンインストールする方法について説明します。 また、特定のデータベースへの接続に必要なデータ ソースを作成する方法について も説明します。 サポートされる Windows プラットフォームの一覧は、リリース ノートを参照してく ださい。 ソフトウェアをインストールして使用する前に、1-4 ページ「ドライバ要件」および 1-5 ページ「Client Connector Pack コンポーネントのインストール」を必ずお読みくだ さい。 Client Connector Pack のコンポーネント Windows 版 Client Connector Pack は以下のコンポーネントで構成されています。これ らのコンポーネントは、IBM Red Brick Warehouse ソフトウェア CD-ROM のディレク トリ ¥CCP¥Client32 に格納されています。 製品 説明 Red Brick ODBC Driver および RBPing Red Brick ODBC Driver を使用すれば、各種の ODBC 準拠データベース アプ リケーションが、IBM Red Brick Warehouse で動作します。ドライバをイン ストールすると、Microsoft Access などのアプリケーションを使って IBM Red Brick Warehouse データベースの情報にアクセスできます。 RBPing を使用することにより、データ ソースが接続されているか、および データを受信しているかをテストできます。 RISQL エントリ ツール RISQL エントリ ツールを使用すると、IBM Red Brick Warehouse データベー スにアクセスできます。 Client Connector Pack のインストール 1-3 ドライバ要件 RISQL レポータ RISQL レポータは、RISQL エントリ ツールの全機能に加え、データベース から抽出したデータを使ってレポートのフォーマットを設定する機能を備 えています。 Client TMU Client TMU (rb_ctmu) はクライアント側の実行可能ファイルであり、リモー ト サーバ マシン上で TMU (Table Management Utility) のロード処理を起動し ます。詳細については、 『Table Management Utility Reference Guide』を参照し てください。 ディレクトリ CCP の下には JDBC というディレクトリもあります。Red Brick JDBC Driver を使用すれば、各種の JDBC 準拠データベース アプリケーションが IBM Red Brick Warehouse で動作します。JDBC ドライバは、Java インターフェイスと Java ク ラスを実装しています。プログラマは、これらのインターフェイスとクラスを使用 してデータベースに接続し、特定のデータベース管理システム (DBMS) へクエリを 送信します。JDBC のインストール手順については、第 4 章を参照してください。 ドライバ要件 Windows 版 Red Brick ODBC Driver および Red Brick JDBC Driver はどちらも、IBM Red Brick Warehouse ソフトウェア CD-ROM のディレクトリ CCP からインストール します。UNIX/Linux 版の Red Brick ODBC Driver および Red Brick ODBClib SDK は、 IBM Red Brick Warehouse サーバとともに、ディレクトリ RBW からインストールし ます。 ODBC ドライバ要件 Client Connector Pack バージョン 2.20 および IBM Red Brick Warehouse 6.20 に同梱さ れている Red Brick ODBC Driver は、32 ビット バージョンのみで使用できます。こ のドライバと互換性のある Red Brick データベースのバージョンは、5.1.x、6.0.x、 6.1x、および 6.2x です。 JDBC ドライバ要件 Java が動作するオペレーティング システムでは、Red Brick JDBC Driver をインス トールして使用できます。JDBC Driver を使用するには、適切な Java ソフトウェア 開発キット (SDK) をシステムにインストールする必要があります。このリリースで サポートされている SDK については、『リリース ノート』を参照してください。 1-4 Client Installation and Connectivity Guide クライアントの要件 クライアントの要件 Client Connector Pack のコンポーネントをインストールするには、Windows クライア ント システムに以下のハードウェアとソフトウェアが必要です。 ■ ■ ■ ■ ■ TCP/IP ネットワークに接続されている IBM 互換 PC。 CD-ROM ドライブ。ソフトウェア CD のディレクトリ CCP には、必要に応 じて 3.5 インチ ディスケットにコピーできるディスク イメージが格納され ています。 6MB 以上の未使用領域があるハード ディスク。 適切なバージョンの Windows オペレーティング システム、ネットワーク ソフトウェア、および通信ソフトウェア。 WinSock 準拠の TCP/IP スタック。 Client Connector Pack コンポーネントのイン ストール 使用するコンピュータに、以前のバージョンの Client Connector Pack がインストール されている場合、IBM Red Brick Warehouse をインストールする前に、UnInstaller ユーティリティを使用してその Client Connector Pack をアンインストールします。詳 細については、1-8 ページ「Client Connector Pack のアンインストール」を参照して ください。 重要 : 同じ Windows コンピュータに Client Connector Pack と IBM Red Brick Warehouse をインストールした構成についてはサポートしていません。そのよう な構成では、クライアント ツールが応答を停止してしまう場合があります。 Client Connector Pack をインストールするには、Red Brick Setup ユーティリティを使 用します。このユーティリティを実行すると、インストール時に選択したオプショ ンに応じて、以下のファイルが Windows オペレーティング システムのディレクトリ にコピーされます。 ■ ■ ■ ■ ■ ■ IBM Red Brick Warehouse (RB32ODBC.DLL) および関連ファイル ODBC Administrator プログラム ファイル この Microsoft プログラムを使用すると、ODBC ドライバと DSN を追加ま たは削除できます。 RBPing および関連ファイル RISQL エントリ ツール ファイル RISQL レポータ ファイル Client TMU ファイル Client Connector Pack のインストール 1-5 Client Connector Pack コンポーネントのインストール ヒント : インストール中にインストール プロセスを中断して Windows に戻るには、 [Cancel] をクリックします。[Cancel] をクリックすると、ダイアログ ボックスが表 示されます。このダイアログ ボックスで、インストールを再開するか、Windows に 戻るかを選択できます。 インストールを開始する方法 1. 2. 3. 4. 5. 6. 7. 8. 1-6 実行中のアプリケーションをすべて終了します。 Windows を起動します。 IBM Red Brick Warehouse CD-ROM を挿入します。 [ スタート ]➞[ ファイル名を指定して実行 ] をクリックして、[ ファイル名 を指定して実行 ] ダイアログ ボックスを表示します。 <drive>:¥CCP¥Client32¥English¥Disk1¥Setup.exe と入力し、[OK] をクリックして Client Connector Pack (Client32) をインストールします。 Setup ユーティリティの [Welcome] 画面が表示されます。[Next] をクリック し、次に [Yes] をクリックしてライセンス契約条件に同意します。 [Select Components] 画面で、インストールする製品を選択します。 [Locale Components Specification] 画面で、デフォルト値をそのまま使用する か、または各カテゴリの下にあるメニューからほかの値を選択します。 [ODBC Data Source Administrator] 画面で、DSN を追加するには [Add] をク リックします。DSN をあとで作成する場合は、[Cancel] をクリックして ウィンドウを閉じます。 Client Installation and Connectivity Guide インストール エラー インストール エラー インストール中に以下のエラー メッセージが表示される場合があります。 Microsoft Setup:An error occurred while copying MSVCRT20.DLL.Restart Windows and try installing again (before running any application that uses ODBC). このエラー メッセージが表示された場合は、以下の操作を実行します。 1. 2. 3. [Cancel] をクリックして、Red Brick Setup を終了します。 Windows を終了します。 コンピュータを再起動します。 Setup ユーティリティを再実行してもこのエラー メッセージが表示される場合は、 ディレクトリ System32 (Windows NT、Windows 2000、および Windows XP の場合 ) ま たはディレクトリ System (Windows 95 または Windows 98 の場合 ) にある MSVCRT20.DLL および CTL3D32.DLL という 2 本の Microsoft ファイルの名前を変 更するか、あるいはこの 2 本のファイルをほかのディレクトリに移動したのち、 Setup ユーティリティを再実行してください。 Client Connector Pack のインストール 1-7 Client Connector Pack のアンインストール Client Connector Pack のアンインストール Client Connector Pack の Uninstaller プログラムを実行すると、インストール時にイン ストール先ディレクトリにコピーされたファイルが削除されます。また、Setup ユーティリティで指定されたレジストリ設定も、ほとんど削除されます。ただし、 以前に Client Connector Pack 製品をインストールしている場合や、32 ビットの ODBC ドライバをインストールし、その後 RISQL エントリ ツールをインストール している場合、以前にインストールしたファイルの一部が削除されないことがあり ます。たとえば、rbw.config ファイルが挙げられます。 こうしたファイルを削除するには、フォルダ RedBrick¥Client32 とそのフォルダ内 のファイルをシステムから手動で削除したあと、残りのインストールを実行しま す。また、フォルダ System32 内にある以下のファイルも削除します。 <windows_directory>¥system32¥rb32odbc.dll <windows_directory>¥system32¥rb32odin.dll Client Connector Pack をアンインストールする方法 1. 2. 1-8 [ スタート ]➞[ 設定 ]➞[ コントロール パネル ]➞[ アプリケーションの追加 と削除 ] をクリックし、レジストリ ファイルに Client Connector Pack が登録 されているか確認します。Client Connector Pack が登録されている場合、一 覧に Client32 が表示されます。 Windows NT、Windows 2000 Professional、または Windows XP から Client Connector Pack をアンインストールするには、[ スタート ]➞[ プログラム ] ➞[Red Brick Client (32)]➞[Uninstaller] をクリックします。 Windows 98 の Client Connector Pack をアンインストールするには、[ スター ト ]➞[ 設定 ]➞[ コントロール パネル ]➞[ アプリケーションの追加と削除 ] ➞[Red Brick Client (32)] をクリックします。 Client Installation and Connectivity Guide Windows でのデータ ソースの設定 Windows でのデータ ソースの設定 この節では、Windows プラットフォーム上でデータ ソース名 (DSN ) を追加、設定、 再設定、および削除する方法について説明します。DSN とは、ホスト システムに インストールされている特定のサーバ、そのホスト上にあるデータベース名、デー タベース ユーザ名を組み合わせた論理名のことです。 この節では、RBPing (Red Brick Ping) を使って DSN をテストする方法についても説 明します。 UNIX 上で DSN を追加、設定、および削除する方法については、3-11 ページ 「UNIX での ODBC アプリケーションの実行」を参照してください。 新しい DSN を追加および設定する方法 1. 2. 3. 4. [ スタート ]➞[ 設定 ]➞[ コントロール パネル ]➞[ODBCData Sources] をク リックし、[ODBC Data Source Administrator] ダイアログ ボックスを表示し ます。 DSN を変更するためのオプションを選択します。 ■ アクセス権と移行アクセス権を 1 ユーザにのみ付与するには、[User DSN] オプションを選択します。 ■ システムの全ユーザにアクセスを許可するには、[System DSN] オプ ションを選択します。 ■ ファイルへの書き込みアクセス権を持つユーザにアクセスを許可する には、[File DSN] オプションを選択します。 ステップ 1 で選択したオプションに対応するタブをクリックします。 [Add] をクリックして [Create New Data Source] ダイアログ ボックスを表示 します。 Client Connector Pack のインストール 1-9 Windows でのデータ ソースの設定 5. 6. 一覧からドライバを選択し、[OK] をクリックします。 [Red Brick ODBC Driver Data Source] ダイアログ ボックスが表示されます。 以下の情報をダイアログ ボックスに入力します。 ■ データ ソース名 データ ソース名とは DSN に対する論理識別子で、以下の文字を除く 任意の文字で構成できます。 () [] = ; {} , ? * ! @ ■ サーバ ( ホスト : ポート ) これは、( たとえば brick:7923 などの ) IBM Red Brick Warehouse を 実行するサーバのホスト名とポート番号です。 ■ データベース名 データベース名とは、( たとえば Aroma などの ) データベース管理者 が設定したホスト コンピュータ上の有効なデータベースの論理識別子 のことです。 ■ デフォルトのユーザ名 デフォルトのユーザ名とは、システム ユーザ名といった、データベー スへのアクセスを許可するデータベース ユーザ名のことです。 [OK] をクリックし、[ODBC Data Source Administrator] ダイアログ ボックス を表示します。 新しく定義した DSN が一覧に表示されます。 DSN を追加すると、データ ソース名は ODBC に準拠したツールのコネク ティビティ コンポーネントで表示されます。 CCP を初めてインストールする場合、DSN を追加した後に [Setup Complete] ダイア ログ ボックスが表示されます。コンピュータをすぐに再起動する場合は [Yes]、コ ンピュータをあとで再起動する場合は [No] をクリックします。 DSN を再設定する方法 1. 2. 3. 4. 1-10 [ スタート ]➞[ 設定 ]➞[ コントロール パネル ]➞[ODBC Data Sources] をク リックし、[ODBC Data Source Administrator] ダイアログ ボックスを表示し ます。 変更する DSN を選択します。 [Configure] をクリックし、[Red Brick ODBC Driver Data Source] ダイアログ ボックスを表示します。 DSN の設定情報を変更し、[OK] をクリックします。 Client Installation and Connectivity Guide Windows でのデータ ソースの設定 DSN を削除する方法 1. 2. 3. 4. [ スタート ]➞[ 設定 ]➞[ コントロール パネル ]➞[ODBC Data Sources] をク リックし、[ODBC Data Source Administrator] ダイアログ ボックスを表示し ます。 削除する DSN を選択します。 [Remove] をクリックして、[32-bit ODBC Administrator] 質問ボックスを表示 します。 削除を確定するには [Yes] を、キャンセルする場合は [No] をクリックしま す。 DSN をテストする方法 1. 2. [ スタート ]➞[ プログラム ] ( または [ プログラム マネージャ ]) ➞[Red Brick Client 32] をクリックします。 [RWPing] ダイアログ ボックスで、テストする DSN を選択し、[Ping] をク リックします。 [Status] ダイアログ ボックスに接続に関する情報が表示されます。RBPing が DSN との接続に失敗すると、エラーの原因を説明した「ドライバの ロードが正常に行われません」といったメッセージが表示されます。 Client Connector Pack のインストール 1-11 第2章 の 説明 この章について . . . . . . . . . . . . . . . . . . . . 2-3 アーキテクチャ . . . . . . . . . . . . . . . . . . . . 2-4 要件 . . . . . . . . . . . . . . . . . . . . . . スタック サイズの要件 . . . . . . . . . . . . . . SQL_ATTR_ODBC_VERSION でのバージョン レベルの設定 . . . . . . . 2-5 2-5 2-5 サポートされている関数 環境属性 . . . . . 接続属性 . . . . . ステートメント属性 . 記述子フィールド . . 診断フィールド . . SQLGetInfo 情報タイプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6 2-12 2-12 2-13 2-15 2-18 2-19 コア SQL 文法 . . . . . . . . . . . . . . . . . . . . 2-32 エスケープ シーケンス . . . . . . . . . . . . . . . . . 2-33 スカラ関数 . . . 文字列関数 . . 数値関数 . . . 日付 / 時刻関数 . システム関数 . データ型変換関数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-33 2-33 2-34 2-35 2-36 2-36 ODBC データ型 . . . . . . 2-37 . . . . . . . . . . . . . . 2-2 Client Installation and Connectivity Guide この章について この章では、UNIX および Windows プラットフォーム上で動作するアプリケーショ ン用の Red Brick ODBC Driver について説明します。Red Brick ODBC Driver は、 Microsoft のオープン データベース コネクティビティ (ODBC) インターフェイス、 バージョン 3.5 の実装です。このドライバを使用すると、ODBC に準拠した数多く のデータベース アプリケーションを IBM Red Brick Warehouse で利用できます。 ODBC の詳細については、『Microsoft ODBC 3.0 Programmer's Reference』を参照して ください。IBM Red Brick Warehouse でサポートされている関数、および変数の詳細 については、『SQL Reference Guide』を参照してください。 Red Brick ODBC Driver の説明 2-3 アーキテクチャ アーキテクチャ IBM Red Brick Warehouse は、データ ウェアハウス、データ マート、およびオンライ ン分析処理 (OLAP) の各アプリケーションを対象としたリレーショナル データベー ス管理システム (RDBMS) です。IBM Red Brick Warehouse データベースにアクセス するには、Red Brick ODBC Driver インターフェイスを通じて、RISQL エントリ ツー ル などのクライアント アプリケーションを使用します。以下の図は、IBM Red Brick Warehouse データベースにアクセスに関連した通信ソフトウェアの階層を示し たものです。 アプリケーション クライアント Red Brick ODBC Driver TCP/IP ネットワーク TCP/IP ネットワーク プロトコル ソフトウェア IBM Red Brick Warehouse サーバ 2-4 Client Installation and Connectivity Guide 要件 IBM Red Brick Warehouse のアーキテクチャと接続の詳細については、 『Administrator's Guide』を参照してください。 要件 この節では、Red Brick ODBC Driver に必要なシステム、スタック サイズ、および環 境変数について説明します。 以下の表は、オペレーティング システムに対して推奨される TCP/IP スタックを示 したものです。 クライアント側のオペレー ティング システム 推奨または必須の TCP/IP スタック UNIX サポートされている スタックの一覧については、 IBM 顧客サポートにお問い合わせください。 Windows 3.1 サードパーティ製の WinSock 準拠 TCP/IP スタック をサポートしています。 サポートされている スタックの一覧については、 IBM 顧客サポートにお問い合わせください。 Windows 95、Windows 98、 Windows 2000 Professional、 および Windows NT WinSock 準拠の内蔵 TCP/IP スタックが必要です。 スタック サイズの要件 Red Brick ODBC Driver は呼び出したアプリケーションとスタック領域を共有するた め、8KB 以上の未使用領域がアプリケーションに必要です。 SQL_ATTR_ODBC_VERSION でのバージョン レベ ルの設定 環境属性 SQL_ATTR_ODBC_VERSION は、Red Brick ODBC Driver が ODBC 2.x とし て動作するか、ODBC 3.0 として動作するかを特定します。SQLSetEnvAttr 関数を 使用すると、SQL_ATTR_ODBC_VERSION にバージョン レベルを設定できます。 ■ アプリケーションにおいて、ODBC 2.x として動作するとみなされる場合 は、SQL_ATTR_ODBC_VERSION を SQL_OV_ODBC2 に設定します。 Red Brick ODBC Driver の説明 2-5 サポートされている関数 ■ アプリケーションにおいて、ODBC 3.0 として動作するとみなされる場合 は、SQL_ATTR_ODBC_VERSION を SQL_OV_ODBC3 に設定します。 2 つのバージョン設定における動作の詳細については、『Microsoft ODBC 3.0 Programmer's Reference, Volume 2』の「SQLSetEnvAttr」を参照してください。 サポートされている関数 この節では、Red Brick ODBC Driver でサポートされている ODBC 関数について説明 します。また、ODBC 3.0 で廃止予定の ODBC 2.x の関数も示します。 Red Brick ODBC Driver は ODBC 3.0 レベル 1 API に完全に準拠しており、レベル 2 の 呼び出しもいくつか含まれます。以下の表は、Red Brick ODBC Driver でサポートさ れている ODBC 3.0 関数の一覧です。SQLAllocConnectD のように末尾に「D」とい う上付き文字が付いている関数は、ODBC 2.x 関数のうち、ODBC 3.0 で廃止予定に なっているものです。 ODBC 関数 インターフェイス 準拠レベル コメント SQLAllocConnectD ODBC 3.0 では SQLAllocHandle に置き換えられます。 SQLAllocEnvD ODBC 3.0 では SQLAllocHandle に置き換えられます。 SQLAllocHandle コア 以下に示す廃止予定の ODBC 2.x 関数を置き換えます。 ■ SQLAllocConnect ■ SQLAllocEnv ■ SQLAllocStmt SQLAllocStmtD ODBC 3.0 では SQLAllocHandle に置き換えられます。 SQLBindCol コア ODBC 2.x から機能の変更はあり ません。 SQLBindParameter コア ODBC 2.x から変更されました。 ODBC 2.x の SQLSetParam を置 き換えます。 (1/6) 2-6 Client Installation and Connectivity Guide サポートされている関数 ODBC 関数 インターフェイス 準拠レベル SQLCancel コア SQLCloseCursor コア SQLColAttribute コア ODBC 2.x の SQLColAttributes を 置き換えます。 SQLColumnPrivileges レベル 2 ODBC 2.x から機能の変更はあり ません。 SQLColumns コア ODBC 2.x から機能の変更はあり ません。 SQLConnect コア ODBC 2.x から機能の変更はあり ません。 SQLCopyDesc コア SQLDescribeCol コア SQLDescribeParam レベル 2 コメント ODBC 2.x から機能の変更はあり ません。 ODBC 2.x から機能の変更はあり ません。 SQLExecDirect のあとに呼び出 された場合、パラメータ記述ま たはパラメータ数を戻しません。 SQLDisconnect コア SQLDriverConnect コア SQLDrivers コア SQLEndTran コア SQLErrorD SQLExecDirect ODBC 2.x から機能の変更はあり ません。 ODBC 2.x の SQLTransact を置き 換えます。 ODBC 3.0 では SQLGetDiagRec に置き換えられます。 コア ODBC 2.x から機能の変更はあり ません。 (2/6) Red Brick ODBC Driver の説明 2-7 サポートされている関数 ODBC 関数 インターフェイス 準拠レベル SQLExecute コア ODBC 2.x から機能の変更はあり ません。 SQLFetch コア ODBC 2.x から機能の変更はあり ません。 SQLFetchScroll コア ( オプション SQL_FETCH_NEXT オプション SQL_FETCH_NEXT) のみサポートされています。 SQLForeignKeys レベル 2 コメント ODBC 2.x から機能の変更はあり ません。 SQLFreeConnectD ODBC 3.0 では SQLFreeHandle に置き換えられます。 SQLFreeEnvD ODBC 3.0 では SQLFreeHandle に置き換えられます。 SQLFreeHandle コア 以下に示す ODBC 2.x 関数を置 き換えます。 ■ SQLFreeConnect ■ SQLFreeEnv SQLFreeStmt コア ODBC 2.x から機能の変更はあり ません。 SQLGetConnectAttr コア ODBC 2.x の SQLGetConnectOption を置き換 えます。 2-12 ページ「接続属性」を参照 してください。 SQLGetConnectOptionD ODBC 3.0 では SQLGetConnectAttr に置き換え られます。 SQLGetCursorName コア ODBC 2.x から機能の変更はあり ません。 SQLGetData コア ODBC 2.x から機能の変更はあり ません。 (3/6) 2-8 Client Installation and Connectivity Guide サポートされている関数 ODBC 関数 インターフェイス 準拠レベル SQLGetFunctions コア SQLGetDescField コア SQLGetDescRec コア SQLGetDiagField コア SQLGetDiagRec コア SQLGetEnvAttr コア SQLGetFunctions レベル 1 SQLGetInfo コア SQLGetStmtAttr コア SQLGetStmtOptionD コメント ODBC 2.x の SQLError を置き換 えます。 ODBC 2.x の SQLGetStmtOption を置き換えます。 ODBC 3.0 では SQLGetStmtAttr に置き換えられます。 SQLGetTypeInfo コア ODBC 2.x から機能の変更はあり ません。 SQLMoreResults レベル 1 エラーが発生すると、次の Red Brick 固有のメッセージを戻しま す。 SQL_NO_DATA_FOUND SQLNativeSql コア ODBC 2.x から機能の変更はあり ません。 SQLNumParams コア SQLNumResultCols コア ODBC 2.x から機能の変更はあり ません。 SQLParamData コア ODBC 2.x から機能の変更はあり ません。 SQLPrepare コア ODBC 2.x から機能の変更はあり ません。 (4/6) Red Brick ODBC Driver の説明 2-9 サポートされている関数 ODBC 関数 インターフェイス 準拠レベル SQLPrimaryKeys レベル 1 ODBC 2.x から機能の変更はあり ません。 SQLPutData コア ODBC 2.x から機能の変更はあり ません。 SQLRowCount コア ODBC 2.x から機能の変更はあり ません。 SQLSetConnectAttr コア ODBC 2.x の SQLSetConnectOption を置き換 えます。 コメント 2-12 ページ「接続属性」を参照 してください。 SQLSetConnectOptionD ODBC 3.0 では SQLSetConnectAttr に置き換え られます。 SQLSetCursorName コア SQLSetDescField コア SQLSetDescRec コア SQLSetEnvAttr コア SQLSetParamD SQLSetStmtAttr ODBC 2.x から機能の変更はあり ません。 ODBC 3.0 では SQLBindParameter に置き換え られます。 コア SQLSetStmtOptionD ODBC 2.x の SQLSetStmtOption を置き換えます。 ODBC 3.0 では SQLSetStmtAttr に置き換えられます。 SQLSpecialColumns コア ODBC 2.x から機能の変更はあり ません。 SQLStatistics コア ODBC 2.x から機能の変更はあり ません。 (5/6) 2-10 Client Installation and Connectivity Guide サポートされている関数 ODBC 関数 インターフェイス 準拠レベル SQLTablePrivileges レベル 2 ODBC 2.x から機能の変更はあり ません。 SQLTables コア ODBC 2.x から機能の変更はあり ません。 SQLTransactD コメント ODBC 3.0 では SQLEndTran に 置き換えられます。 (6/6) 以下の表は、Red Brick ODBC 2.0 Driver ではサポートされていたが、ODBC 3.0 では 廃止予定の関数の一覧です。この表に記載されている廃止予定 ODBC 2.0 関数は、 ODBC 3.0 代替え関数にマップされます。 廃止予定関数 3.0 代替え関数 SQLAllocConnect SQLAllocHandle SQLAllocEnv SQLAllocHandle SQLAllocStmt SQLAllocHandle SQLColAttributes SQLColAttribute SQLError SQLGetDiagRec SQLFreeConnect SQLFreeHandle SQLFreeEnv SQLFreeHandle 引数 SQL_DROP を使用した SQLFreeStmt SQLFreehandle SQLGetConnectOption SQLGetConnectAttr SQLGetStmtOption SQLGetStmtAttr SQLParamOptions SQLSetStmtAttr SQLSetConnectOption SQLSetConnectAttr SQLSetParam SQLBindParameter (1/2) Red Brick ODBC Driver の説明 2-11 環境属性 廃止予定関数 3.0 代替え関数 SQLSetScrollOption SQLSetStmtAttr SQLSetStmtOption SQLSetStmtAttr SQLTransact SQLEndTran (2/2) 環境属性 以下の表は、SQLGetEnvAttr 関数および SQLSetEnvAttr 関数に対して Red Brick ODBC Driver でサポートされている環境属性の一覧です。 環境属性 デフォルト値 SQL_ATTR_ODBC_VERSION [ デフォルト値なし ] SQL_ATTR_OUTPUT_NTS SQL_TRUE Red Brick ODBC Driver では、SQL_ATTR_CONNECTION_POOLING および SQL_ATTR_CP_MATCH の各属性はサポートされていません。 接続属性 以下の表は、SQLGetConnectAttr 関数および SQLSetConnectAttr 関数に対して Red Brick ODBC Driver でサポートされている接続属性の一覧です。 2-12 接続属性 デフォルト値 SQL_ATTR_ACCESS_MODE SQL_MODE_READ_WRITE SQL_ATTR_ASYNC_ENABLE SQL_ASYNC_ENABLE_OFF SQL_ATTR_AUTO_IPD SQL_TRUE SQL_ATTR_AUTOCOMMIT SQL_AUTOCOMMIT_ON SQL_ATTR_CURRENT_CATALOG デフォルト値はありません。 SQL_ATTR_LOGIN_TIMEOUT 0 SQL_ATTR_METADATA_ID SQL_FALSE Client Installation and Connectivity Guide ステートメント属性 接続属性 デフォルト値 SQL_LOGIN_TIMEOUT 15 SQL_TRANSLATE_DLL Null (Not specified) SQL_TRANSLATE_OPTION 0 (FALSE) SQL_ATTR_TXN_ISOLATION デフォルト値はありません。 SQL_ATTR_TXN_ISOLATION を設定できる のは、データベース内に実行中のトランザ クションがない場合だけです。 ステートメント属性 以下の表は、SQLGetStmtAttr 関数および SQLSetStmtAttr 関数に対して Red Brick ODBC Driver でサポートされている文属性の一覧です。SQL_ASYNC_ENABLER の ように末尾に「R」という上付き文字が付いている属性は ODBC 2.x 属性であり、 ODBC 3.0 では別の属性に置き換えられます。 文属性 SQL_ASYNC_ENABLE デフォルト値 R ODBC 3.x では SQL_ATTR_ASYNC_ENABLE に置 き換えられます。 SQL_ATTR_APP_PARAM_DESC [ デフォルト値なし ] SQL_ATTR_APP_ROW_DESC [ デフォルト値なし ] SQL_ATTR_ASYNC_ENABLE ODBC 2.x 属性 SQL_ASYNC_ENABLE を置き換え ます。 デフォルト値は SQL_ASYNC_ENABLE_OFF です。 SQL_ATTR_CONCURRENCY SQL_CONCUR_READ_ONLY SQL_ATTR_CURSOR_TYPE SQL_CURSOR_FORWARD_ONLY SQL_ATTR_ENABLE_AUTO_IPD 接続属性 SQL_ATTR_AUTO_IPD の値 SQL_ATTR_IMP_PARAM_DESC 読み取り専用。デフォルト値はありません。 SQL_ATTR_IMP_ROW_DESC 読み取り専用。デフォルト値はありません。 (1/3) Red Brick ODBC Driver の説明 2-13 ステートメント属性 文属性 デフォルト値 SQL_ATTR_MAX_LENGTH ODBC 2.x 属性 SQL_MAX_LENGTH を置き換えま す。 *ValuePtr が 0 ( デフォルト値 ) の場合、ドライバは 使用可能なデータをすべて戻そうとします。 SQL_ATTR_MAX_ROWS ODBC 2.x 属性 SQL_MAX_ROWS を置き換えます。 0 ( デフォルト値 ) の場合、すべての行が戻されま す。 SQL_ATTR_METADATA_ID SQL_FALSE SQL_ATTR_NOSCAN SQL_NOSCAN_OFF SQL_ATTR_PARAM_BIND_OFFSET_PTR NULL SQL_ATTR_PARAM_BIND_TYPE SQL_PARAM_BIND_BY_COLUMN SQL_ATTR_PARAM_OPERATION_PTR [ デフォルト値なし ] SQL_ATTR_PARAM_STATUS_PTR [ デフォルト値なし ] SQL_ATTR_PARAMS_PROCESSED_PTR [ デフォルト値なし ] SQL_ATTR_PARAMSET_SIZE [ デフォルト値なし ] SQL_ATTR_QUERY_TIMEOUT 0 (= タイムアウトなし ) SQLExecDirect および SQLExecute に対してのみ有 効です。 SQL_ATTR_ROW_ARRAY_SIZE 1 SQL_ATTR_ROW_BIND_OFFSET_PTR [ デフォルト値なし ] SQL_ATTR_ROW_BIND_TYPE ODBC 2.x 属性 SQL_BIND_TYPE を置き換えます。 デフォルト値は SQL_BIND_BY_COLUMN です。 SQL_ATTR_ROW_NUMBER [ デフォルト値なし ] SQL_ATTR_ROW_OPERATION_PTR [ デフォルト値なし ] SQL_ATTR_ROW_STATUS_PTR [ デフォルト値なし ] QL_ATTR_ROWS_FETCHED_PTR [ デフォルト値なし ] (2/3) 2-14 Client Installation and Connectivity Guide 記述子フィールド 文属性 デフォルト値 SQL_BIND_TYPER ODBC 3.x では SQL_ATTR_ROW_BIND_TYPE に置 き換えられます。 SQL_MAX_LENGTHR ODBC 3.x では SQL_ATTR_MAX_LENGTH に置き 換えられます。 SQL_MAX_ROWSR ODBC 3.x では SQL_ATTR_MAX_ROWS に置き換 えられます。 SQL_QUERY_TIMEOUT 0 (3/3) 記述子フィールド 記述子とは、SQL 文のパラメータに関する情報、またはリザルト セットの列に関す る情報が格納される、データ フィールドのセットのことです。記述子フィールドを 取得および設定するには、以下の関数を使用します。 記述子関数 コメント SQLGetDescField 1 つの記述子レコードに 1 つのフィールドの値を戻しま す。 SQLGetDescRec 1 つの記述子レコードに複数のフィールドの値を戻しま す。 SQLSetDescField 1 つの記述子レコードに 1 つのフィールドの値を設定しま す。 SQLSetDescRec 1 つの記述子レコードに複数のフィールドの値を設定し ます。 さらに、任意の記述子ハンドルから別の記述子ハンドルに記述子情報をコピーする には、SQLCopyDesc 関数を使用できます。 Red Brick ODBC Driver の説明 2-15 記述子フィールド 記述子にはヘッダ フィールドとレコード フィールドがあります。以下の表は、Red Brick ODBC Driver でサポートされているヘッダ フィールドの一覧です。 記述子ヘッダ フィールド SQL_DESC_ALLOC_TYPE SQL_DESC_ARRAY_SIZE SQL_DESC_ARRAY_STATUS_PTR アプリケーション役割記述子 (ARD) およびアプリケーショ ン パラメータ記述子に対して、 SQL_DESC_ARRAY_STATUS_PTR は 1 しか設定できません。 それ以外の値は無視されます。 SQL_DESC_BIND_OFFSET_PTR SQL_DESC_BIND_TYPE SQL_DESC_COUNT 以下のヘッダ フィールドはサポートされていません。 SQL_DESC_ROWS_PROCESSED_PTR 以下の表は、Red Brick ODBC Driver でサポートされているレコード フィールドの一 覧です。 記述子レコード フィールド SQL_DESC_AUTO_UNIQUE_VALUE SQL_DESC_BASE_COLUMN_NAME SQL_DESC_BASE_TABLE_NAME SQL_DESC_CASE_SENSITIVE SQL_DESC_CATALOG_NAME SQL_DESC_CONCISE_TYPE SQL_DESC_DATA_PTR SQL_DESC_DATETIME_INTERVAL_CODE SQL_DESC_DISPLAY_SIZE (1/2) 2-16 Client Installation and Connectivity Guide 記述子フィールド 記述子レコード フィールド SQL_DESC_FIXED_PREC_SCALE SQL_DESC_INDICATOR_PTR SQL_DESC_LABEL SQL_DESC_LENGTH SQL_DESC_LITERAL_PREFIX SQL_DESC_LITERAL_SUFFIX SQL_DESC_LOCAL_TYPE_NAME SQL_DESC_NAME SQL_DESC_NULLABLE SQL_DESC_NUM_PREC_RADIX SQL_DESC_OCTET_LENGTH SQL_DESC_OCTET_LENGTH_PTR SQL_DESC_PARAMETER_TYPE SQL_DESC_PRECISION SQL_DESC_SCALE SQL_DESC_SCHEMA_NAME SQL_DESC_SEARCHABLE SQL_DESC_TABLE_NAME SQL_DESC_TYPE SQL_DESC_TYPE_NAME SQL_DESC_UNNAMED SQL_DESC_UNSIGNED SQL_DESC_UPDATABLE (2/2) Red Brick ODBC Driver の説明 2-17 診断フィールド 診断フィールド 診断レコードには、ヘッダ レコードと状態レコードの 2 種類があります。ヘッダ レ コードには、関数の実行に関する一般情報が格納されるヘッダ フィールドがありま す。状態レコードには、特定のエラーまたは警告に関する情報が格納される状態 フィールドがあります。 関数の診断情報を取得するには、SQLGetDiagField または SQLGetDiagRec を使用 できます。SQLGetDiagField は、1 つの診断フィールドに情報を戻します。 SQLGetDiagRec は、1 つの診断レコードの複数のフィールドに情報を戻します。 以下の表は、Red Brick ODBC Driver でサポートされている診断ヘッダ フィールドの 一覧です。 サポートされている診断ヘッダ フィールド SQL_DIAG_DYNAMIC_FUNCTION SQL_DIAG_DYNAMIC_FUNCTION_CODE SQL_DIAG_NUMBER SQL_DIAG_RETURNCODE ( ドライバ マネージャ内に実装 ) SQL_DIAG_ROW_COUNT 以下の表は、Red Brick ODBC Driver でサポートされている診断状態フィールドの一 覧です。 サポートされている診断状態フィールド SQL_DIAG_CLASS_ORIGIN SQL_DIAG_COLUMN_NUMBER SQL_DIAG_MESSAGE_TEXT SQL_DIAG_NATIVE SQL_DIAG_ROW_NUMBER SQL_DIAG_SQLSTATE 2-18 Client Installation and Connectivity Guide SQLGetInfo 情報タイプ サポートされている診断状態フィールド SQL_DIAG_SERVER_NAME SQL_DIAG_SUBCLASS_ORIGIN SQL_DIAG_CONNECTION_NAME SQLGetInfo 情報タイプ 以下の表は、SQLGetInfo 関数でサポートされている情報タイプの一覧です。 情報タイプ 戻り値 SQL_ACCESSIBLE_TABLES "N" SQL_ACCESSIBLE_PROCEDURES "N" SQL_ACTIVE_CONNECTIONS (ODBC 3.0 では名前を SQL_MAX_DRIVER_CONNECTIONS に変更 ) 0 SQL_ACTIVE_ENVIRONMENTS SQLUSMALLINT の値は、Red Brick Driver でサポートされて いるアクティブな環境の最大数 を表します。制限がない場合は 0 を戻します。 SQL_ACTIVE_STATEMENTS (ODBC 3.0 では名前を SQL_MAX_CONCURRENT_ACTIVITES に 変更 ) 1 SQL_AGGREGATE_FUNCTIONS SQL_AF_ALL、SQL_AF_AVG、 SQL_AF_COUNT、 SQL_AF_DISTINCT、 SQL_AF_MAX、SQL_AF_MIN、 SQL_AF_SUM SQL_ALTER_DOMAIN 0 SQL_ASYNC_MODE SQL_AM_STATEMENT ( 1 / 14 ) Red Brick ODBC Driver の説明 2-19 SQLGetInfo 情報タイプ 情報タイプ 戻り値 SQL_BATCH_ROW_COUNT 0 SQL_BATCH_SUPPORT 0 SQL_BOOKMARK_PERSISTENCE 0 SQL_CATALOG_LOCATION 0 SQL_CATALOG_NAME "N" SQL_CATALOG_NAME_SEPARATOR "" SQL_CATALOG_TERM "" SQL_CATALOG_USAGE 0 SQL_CONCAT_NULL_BEHAVIOR SQL_CB_NULL SQL_COLLATION_SEQ "" SQL_COLUMN_ALIAS "Y" SQL_CONVERT_BIGINT 0 SQL_CONVERT_BINARY 0 SQL_CONVERT_BIT 0 SQL_CONVERT_CHAR SQL_CVT_INTEGER、 SQL_CVT_DECIMAL、 SQL_CVT_REAL、 SQL_CVT_TIME、 SQL_CVT_DATE、 SQL_CVT_FLOAT、または SQL_CVT_TIMESTAMP SQL_CONVERT_DATE SQL_CVT_CHAR、 SQL_CVT_DATE SQL_CONVERT_DECIMAL SQL_CVT_CHAR、 SQL_CVT_INTEGER、 SQL_CVT_DECIMAL、 SQL_CVT_REAL または SQL_CVT_FLOAT ( 2 / 14 ) 2-20 Client Installation and Connectivity Guide SQLGetInfo 情報タイプ 情報タイプ 戻り値 SQL_CONVERT_DOUBLE SQL_CVT_CHAR、 SQL_CVT_FLOAT、 SQL_CVT_INTEGER、 SQL_CVT_DECIMAL、または SQL_CVT_REAL SQL_CONVERT_FLOAT SQL_CVT_CHAR、 SQL_CVT_INTEGER、 SQL_CVT_DECIMAL、 SQL_CVT_REAL、または SQL_CVT_FLOAT SQL_CONVERT_FUNCTIONS SQL_FN_CVT_CONVERT SQL_CONVERT_INTEGER SQL_CVT_CHAR、 SQL_CVT_INTEGER、 SQL_CVT_DECIMAL、 SQL_CVT_REAL、または SQL_CVT_FLOAT SQL_CONVERT_INTERVAL_DAY_TIME 0 SQL_CONVERT_INTERVAL_YEAR_MONTH 0 SQL_CONVERT_LONGVARBINARY 0 SQL_CONVERT_LONGVARCHAR 0 SQL_CONVERT_NUMERIC SQL_CVT_CHAR、 SQL_CVT_INTEGER、 SQL_CVT_DECIMAL、 SQL_CVT_REAL または SQL_CVT_FLOAT SQL_CONVERT_REAL SQL_CVT_CHAR、 SQL_CVT_DECIMAL、 SQL_CVT_FLOAT、 SQL_CVT_INTEGER、または SQL_CVT_REAL ( 3 / 14 ) Red Brick ODBC Driver の説明 2-21 SQLGetInfo 情報タイプ 情報タイプ 戻り値 SQL_CONVERT_SMALLINT SQL_CVT_CHAR、 SQL_CVT_INTEGER、 SQL_CVT_DECIMAL、 SQL_CVT_REAL または SQL_CVT_FLOAT SQL_CONVERT_TIME SQL_CVT_CHAR または SQL_CVT_TIME SQL_CONVERT_TIMESTAMP SQL_CVT_CHAR、 SQL_CVT_TIME または SQL_CVT_DATE SQL_CONVERT_TINYINT SQL_CVT_CHAR、 SQL_CVT_INTEGER、 SQL_CVT_DECIMAL、 SQL_CVT_REAL または SQL_CVT_FLOAT SQL_CONVERT_VARBINARY 0 SQL_CONVERT_VARCHAR SQL_CVT_INTEGER、 SQL_CVT_DECIMAL、 SQL_CVT_REAL、 SQL_CVT_FLOAT、 SQL_CVT_TIMESTAMP SQL_CORRELATION_NAME SQL_CN_DIFFERENT SQL_CREATE_ASSERTION 0 SQL_CREATE_CHARACTER_SET 0 SQL_CREATE_COLLATION 0 SQL_CREATE_DOMAIN 0 SQL_CREATE_SCHEMA 0 SQL_CREATE_TABLE SQL_CT_CREATE_TABLE SQL_CREATE_TRANSLATION 0 SQL_CREATE_VIEW SQL_CV_CREATE_VIEW ( 4 / 14 ) 2-22 Client Installation and Connectivity Guide SQLGetInfo 情報タイプ 情報タイプ 戻り値 SQL_CURSOR_COMMIT_BEHAVIOR SQL_CB_DELETE SQL_CURSOR_ROLLBACK_BEHAVIOR SQL_CB_DELETE SQL_CURSOR_SENSITIVITY SQL_SENSITIVE、 SQL_INSENSITIVE、または SQL_UNSPECIFIED SQL_DATA_SOURCE_NAME ログオン時に入力 SQL_DATA_SOURCE_READ_ONLY "N" SQL_DATABASE_NAME ログオン時に入力 SQL_DATETIME_LITERALS 0 SQL_DBMS_NAME "IBM Red Brick Warehouse" SQL_DBMS_VER 現在のサーバのバージョン SQL_DDL_INDEX SQL_DI_CREATE_INDEX また は SQL_DI_DROP_INDEX SQL_DEFAULT_TXN_ISOLATION 0 SQL_DESCRIBE_PARAMETER "Y" SQL_DM_VER ドライバ マネージャのバー ジョンを表す文字列。 SQL_DRIVER_HDBC ドライバ マネージャが値を処 理します。 SQL_DRIVER_HDESC SQLUINTEGER 値。ドライバの 記述子ハンドル。ドライバ マ ネージャ記述子ハンドルにより 特定されます。 SQL_DRIVER_HENV ドライバ マネージャが値を処 理します。 SQL_DRIVER_HLIB ドライバ マネージャが値を処 理します。 SQL_DRIVER_HSTMT ドライバ マネージャが値を処 理します。 ( 5 / 14 ) Red Brick ODBC Driver の説明 2-23 SQLGetInfo 情報タイプ 情報タイプ 戻り値 SQL_DRIVER_NAME "RB16ODBC.DLL" または "RB32ODBC.DLL" または "RBODBC" SQL_DRIVER_VER 現在のドライバのバージョン SQL_DROP_ASSERTION 0 SQL_DROP_CHARACTER_SET 0 SQL_DROP_COLLATION 0 SQL_DROP_DOMAIN 0 SQL_DROP_SCHEMA 0 SQL_DROP_TABLE SQL_DT_DROP_TABLE SQL_DROP_TRANSLATION 0 SQL_DROP_VIEW SQL_DV_DROP_VIEW SQL_DYNAMIC_CURSOR_ATTRIBUTES1 0 SQL_DYNAMIC_CURSOR_ATTRIBUTES2 0 SQL_EXPRESSIONS_IN_ORDERBY "N" SQL_FETCH_DIRECTION SQL_FD_FETCH_NEXT [ODBC 3.0 で廃止予定 ] SQL_FILE_USAGE SQL_FILE_NOT_SUPPORTED SQL_FORWARD_ONLY_CURSOR_ -ATTRIBUTES1 0 SQL_FORWARD_ONLY_CURSOR_ -ATTRIBUTES2 0 SQL_GETDATA_EXTENSIONS SQL_GD_ANY_COLUMN または SQL_GD_ANY_ORDER SQL_GROUP_BY SQL_GB_GROUP_BY_ CONTAINS_SELECT ( 6 / 14 ) 2-24 Client Installation and Connectivity Guide SQLGetInfo 情報タイプ 情報タイプ 戻り値 SQL_IDENTIFIER_CASE SQL_IC_UPPER SQL_IDENTIFIER_QUOTE_CHAR """ SQL_INDEX_KEYWORDS SQL_IK_NONE SQL_INFO_SCHEMA_VIEWS 0 SQL_INSERT_STATEMENT SQL_IS_INSERT_LITERALS または SQL_IS_SELECT_INTO SQL_INTEGRITY "N" SQL_KEYSET_CURSOR_ATTRIBUTES1 0 SQL_KEYSET_CURSOR_ATTRIBUTES2 0 SQL_KEYWORDS 予約されたすべてのキーワード の一覧 SQL_LIKE_ESCAPE_CLAUSE "N" SQL_MAX_ASYNC_CONCURRENT_ -STATEMENTS 1 SQL_MAX_BINARY_LITERAL_LEN 0 SQL_MAX_CATALOG_NAME_LEN 0 SQL_MAX_CHAR_LITERAL_LEN 1024 SQL_MAX_COLUMN_NAME_LEN 128 SQL_MAX_COLUMNS_IN_GROUP_BY 7280 SQL_MAX_COLUMNS_IN_INDEX 0 SQL_MAX_COLUMNS_IN_ORDER_BY 7280 SQL_MAX_COLUMNS_IN_SELECT 7280 SQL_MAX_COLUMNS_IN_TABLE 7280 SQL_MAX_CONCURRENT_ACTIVITES 1 ( 7 / 14 ) Red Brick ODBC Driver の説明 2-25 SQLGetInfo 情報タイプ 情報タイプ 戻り値 SQL_MAX_CURSOR_NAME_LEN 0 SQL_MAX_DRIVER_CONNECTIONS 0 SQL_MAX_IDENTIFIER_LEN 128 SQL_MAX_INDEX_SIZE 0 SQL_MAX_OWNER_NAME_LEN (ODBC 3.0 では名前を SQL_MAX_SCHEMA_NAME_LEN に変更 ) 0 SQL_MAX_PROCEDURE_NAME_LEN 0 SQL_MAX_QUALIFIER_NAME_LEN (ODBC 3.0 では名前を SQL_MAX_CATALOG_NAME_LEN に変更 ) 0 SQL_MAX_ROW_SIZE_INCLUDES_LONG "N" SQL_MAX_ROW_SIZE 0 SQL_MAX_SCHEMA_NAME_LEN 0 SQL_MAX_STATEMENT_LEN 0 SQL_MAX_TABLE_NAME_LEN 128 SQL_MAX_TABLES_IN_SELECT 0 SQL_MAX_USER_NAME_LEN 128 SQL_MULT_RESULT_SETS "N" SQL_MULTIPLE_ACTIVE_TXN "Y" SQL_NEED_LONG_DATA_LEN "N" SQL_NON_NULLABLE_COLUMNS SQL_NNC_NON_NULL SQL_NULL_COLLATION SQL_NC_HIGH ( 8 / 14 ) 2-26 Client Installation and Connectivity Guide SQLGetInfo 情報タイプ 情報タイプ 戻り値 SQL_NUMERIC_FUNCTIONS SQL_FN_NUM_ABS、 SQL_FN_NUM_CEILING、 SQL_FN_NUM_FLOOR、また は SQL_FN_NUM_SIGN SQL_ODBC_API_CONFORMANCE SQL_OAC_LEVEL1 [ODBC 3.0 で廃止予定 ] SQL_ODBC_INTERFACE_CONFORMANCE SQL_OIC_CORE SQL_ODBC_SAG_CLI_CONFORMANCE SQL_OSCC_COMPLIANT SQL_ODBC_SQL_CONFORMANCE SQL_OSC_MINIMUM [ODBC 3.0 で廃止予定 ] SQL_ODBC_SQL_OPT_IEF (ODBC 3.0 では名前を SQL_INTEGRITY に 変更 ) "N" SQL_ODBC_VER ドライバ マネージャが値を処 理します。 SQL_OJ_CAPABILITIES SQL_OJ_LEFT、 SQL_OJ_RIGHT、 SQL_OJ_FULL、 SQL_OJ_NESTED、 SQL_OJ_INNER、 SQL_OJ_ALL_ COMPARISON_OPS SQL_ORDER_BY_COLUMNS_IN_SELECT "N" SQL_OUTER_JOINS "F" SQL_OWNER_TERM (ODBC 3.0 では名前を SQL_SCHEMA_TERM に変更 ) "" SQL_OWNER_USAGE (ODBC 3.0 では名前を SQL_SCHEMA_USAGE に変更 ) 0 SQL_PARAM_ARRAY_ROW_COUNTS 0 ( 9 / 14 ) Red Brick ODBC Driver の説明 2-27 SQLGetInfo 情報タイプ 情報タイプ 戻り値 SQL_PARAM_ARRAY_SELECTS SQL_PAS_NO_SELECT SQL_PROCEDURE_TERM "" SQL_PROCEDURES "N" SQL_QUALIFIER_NAME_SEPARATOR (ODBC 3.0 では名前を SQL_CATALOG_NAME_SEPARATOR に変更 ) "" SQL_QUALIFIER_LOCATION (ODBC 3.0 では名前を SQL_CATALOG_LOCATION に変更 ) 0 SQL_QUALIFIER_TERM (ODBC 3.0 では名前を SQL_CATALOG_TERM に変更 ) "" SQL_QUALIFIER_USAGE (ODBC 3.0 では名前を SQL_CATALOG_USAGE に変更 ) 0 SQL_QUOTED_IDENTIFIER_CASE SQL_IC_SENSITIVE SQL_ROW_UPDATES "N" SQL_SCHEMA_TERM "" SQL_SCHEMA_USAGE 0 SQL_SCROLL_CONCURRENCY SQL_SCCO_READ_ONLY [ODBC 3.0 で廃止予定 ] SQL_SCROLL_OPTIONS SQL_SO_FORWARD_ONLY SQL_SEARCH_PATTERN_ESCAPE "¥" SQL_SERVER_NAME ログオン時に入力 SQL_SPECIAL_CHARACTERS "" SQL_SQL_CONFORMANCE SQL_OIC_CORE ( 10 / 14 ) 2-28 Client Installation and Connectivity Guide SQLGetInfo 情報タイプ 情報タイプ 戻り値 SQL_SQL92_DATETIME_FUNCTIONS SQL_SDF_CURRENT_DATE、 SQL_SDF_CURRENT_TIME、 SQL_SDF_CURRENT_ TIMESTAMP SQL_SQL92_FOREIGN_KEY_UPDATE_RULE 0 SQL_SQL92_GRANT SQL_SG_DELETE_TABLE、 SQL_SG_INSERT_TABLE、 SQL_SG_SELECT_TABLE、 SQL_SG_UPDATE_TABLE SQL_SQL92_FOREIGN_KEY_DELETE_RULE SQL_SFKD_CASCADE、 SQL_SFKD_NO_ACTION SQL_SQL92_NUMERIC_VALUE_FUNCTIONS 0 SQL_SQL92_PREDICATES SQL_SP_BETWEEN、 SQL_SP_COMPARISON、 SQL_SP_EXISTS、SQL_SP_IN、 SQL_SP_ISNOTNULL、 SQL_SP_ISNULL、 SQL_SP_LIKE、 SQL_SP_QUANTIFIED_ COMPARISON、 SQL_SP_UNIQUE SQL_SQL92_RELATIONAL_JOIN_OPERATORS SQL_SRJO_CROSS_JOIN、 SQL_SRJO_EXCEPT_JOIN、 SQL_SRJO_FULL_OUTER、 SQL_SRJO_FULL_OUTER_ JOIN、 SQL_SRJO_INNER_JOIN、 SQL_SRJO_INTERSECT_JOIN、 SQL_SRJO_LEFT_OUTER_ JOIN、 SQL_SRJO_NATURAL_JOIN、 SQL_SRJO_RIGHT_OUTER_ JOIN、 SQL_SRJO_UNION_JOIN ( 11 / 14 ) Red Brick ODBC Driver の説明 2-29 SQLGetInfo 情報タイプ 情報タイプ 戻り値 SQL_SQL92_REVOKE SQL_SR_DELETE_TABLE、 SQL_SR_INSERT_TABLE、 SQL_SR_SELECT_TABLE、 SQL_SR_UPDATE_TABLE SQL_SQL92_ROW_VALUE_CONSTRUCTOR SQL_SRVC_VALUE_ EXPRESSION、 SQL_SRVC_NULL、 SQL_SRVC_DEFAULT、 SQL_SRVC_ROW_ SUBQUERY SQL_SQL92_STRING_FUNCTIONS SQL_SSF_CONVERT、 SQL_SSF_LOWER、 SQL_SSF_UPPER、 SQL_SSF_SUBSTRING、 SQL_SSF_TRIM_BOTH、 SQL_SSF_TRIM_LEADING、 SQL_SSF_TRIM_TRAILING SQL_SQL92_VALUE_EXPRESSIONS SQL_SVE_CASE、 SQL_SVE_COALESCE、 SQL_SVE_NULLIF SQL_STANDARD_CLI_CONFORMANCE SQL_SCC_ISO92_CLI SQL_STATIC_CURSOR_ATTRIBUTES1 0 SQL_STATIC_CURSOR_ATTRIBUTES2 0 SQL_STRING_FUNCTIONS SQL_FN_STR_CONCAT、 SQL_FN_STR_LCASE、 SQL_FN_STR_LEFT、 SQL_FN_STR_LOCATE_2、 SQL_FN_STR_LTRIM、 SQL_FN_STR_RTRIM、 SQL_FN_STR_SUBSTRING、 または SQL_FN_STR_UCASE ( 12 / 14 ) 2-30 Client Installation and Connectivity Guide SQLGetInfo 情報タイプ 情報タイプ 戻り値 SQL_SUBQUERIES SQL_SQ_CORRELATED_ SUBQUERIES、 SQL_SQ_COMPARISON、 SQL_SQ_EXISTS、 SQL_SQ_IN、 SQL_SQ_QUANTIFIED SQL_SYSTEM_FUNCTIONS SQL_FN_SYS_IFNULL または SQL_FN_SYS_USER SQL_TABLE_TERM "Table" SQL_TIMEDATE_ADD_INTERVALS 0 SQL_TIMEDATE_DIFF_INTERVALS 0 SQL_TIMEDATE_FUNCTIONS SQL_FN_TD_CURDATE、 SQL_FN_TD_CURTIME、 SQL_FN_TD_DAYOFMONTH、 SQL_FN_TD_DAYOFWEEK、 SQL_FN_TD_DAYOFYEAR、 SQL_FN_TD_HOUR、 SQL_FN_TD_MINUTE、 SQL_FN_TD_MONTH、 SQL_FN_TD_NOW、 SQL_FN_TD_QUARTER、 SQL_FN_TD_SECOND、 SQL_FN_TD_WEEK、または SQL_FN_TD_YEAR SQL_TXN_CAPABLE SQL_TC_NONE または TXN_CAPABLE_ALL。 SQL_TXN_CAPABLE が ODBC アプリケーション名に設定され ている場合は TXN_CAPABLE_ALL です。 SQL_TXN_CAPABLE は、 Windows の場合はファイル rbodbc32.ini の中で指定します。 UNIX の場合は環境変数として 指定します。 SQL_TXN_ISOLATION_OPTION 0 ( 13 / 14 ) Red Brick ODBC Driver の説明 2-31 コア SQL 文法 情報タイプ 戻り値 SQL_UNION SQL_U_UNION、 SQL_U_UNION_ALL SQL_USER_NAME ログオン時に入力 SQL_XOPEN_CLI_YEAR "" ( 14 / 14 ) コア SQL 文法 Red Brick ODBC Driver では、ODBC コア SQL 文法がサポートされています。ただ し、以下の文法を除きます。 コア SQL 文法 サポートされていないドライバ オプション ALTER TABLE Red Brick SQL では、アプリケーションで列の追加を行う場 合に、DEFAULT 句が必要です。Red Brick ODBC Driver 文法 には、この句は含まれません。 2-32 CREATE INDEX UNIQUE および ASC/DESC DELETE 位置を指定した削除 (WHERE CURRENT OF カーソル名 ) DROP VIEW CASCADE | RESTRICT GRANT REFERENCES() REVOKE CASCADE | RESTRICT SELECT FOR UPDATE OF UPDATE 位置を指定した更新 (WHERE CURRENT OF カーソル名 ) Client Installation and Connectivity Guide エスケープ シーケンス エスケープ シーケンス Red Brick ODBC Driver では、以下の ODBC エスケープ シーケンスがサポートされて います。 ■ ■ ■ 日付、時刻、およびタイムスタンプ エスケープ シーケンス アウタージョイン エスケープ シーケンス スカラ関数エスケープ シーケンス スカラ関数 ODBC で規定されているスカラ関数は以下のとおりです。 ■ ■ ■ ■ ■ 文字列関数 数値関数 日付 / 時刻関数 システム関数 データ型変換関数 この節では、各タイプの関数下で Red Brick ODBC Driver でサポートされている SQL-92 スカラ関数について説明します。 文字列関数 以下の表は、Red Brick ODBC Driver でサポートされている ODBC/SQL-92 文字列関 数の一覧です。どの場合にも、ドライバは、この表の第 2 列に示されている同等の Red Brick 関数を呼び出して ODBC 関数を実行します。 ODBC/SQL-92 関数 同等の Red Brick 関数 CONCAT(s1, s2) CONCAT(s1, s2) LCASE(s) LOWER(s) LEFT SUBSTR(arg1, 1, arg2) LENGTH(s) LENGTH(RTRIM(s)) LOCATE(s1, s2)* POSITION(s1, s2) (1/2) Red Brick ODBC Driver の説明 2-33 数値関数 ODBC/SQL-92 関数 同等の Red Brick 関数 LTRIM(s) LTRIM(s) POSITION(s1, s2) DEC(POSITION(s1, s2)) RTRIM(s) RTRIM(s) SUBSTRING(s, st, ln) SUBSTR(s, st, ln) UCASE(s) UPPER(s) (2/2) LOCATE の *3 パラメータ バージョンはサポートされていません。 SQLGETINFO(SQL_STRING_FUNCTIONS) は SQL_FN_STR_LOCATE ではなく SQL_FN_STR_LOCATE_2 を戻します。 数値関数 以下の表は、Red Brick ODBC Driver でサポートされている ODBC/SQL-92 数値関数 の一覧です。どの場合にも、ドライバは、この表の第 2 列に示されている同等の Red Brick 関数を呼び出して ODBC 関数を実行します。 2-34 ODBC 関数 同等の Red Brick 関数 ABS(n) ABS(n) CEILING(n) CEIL(n) EXP EXP FLOOR(n) FLOOR(n) LOG LN LOG10(x) LN(x)/LN(10) POWER(x,y) EXP(y * LN(x)) SIGN(n) SIGN(n) SQRT SQRT Client Installation and Connectivity Guide 日付 / 時刻関数 日付 / 時刻関数 以下の表は、Red Brick ODBC Driver でサポートされている ODBC/SQL-92 日付 / 時 刻関数の一覧です。どの場合にも、ドライバは、この表の第 2 列に示されている同 等の Red Brick 関数を呼び出して ODBC 関数を実行します。 ODBC 関数 同等の Red Brick 関数 CURDATE CURRENT_DATE CURTIME CURRENT_TIME CURRENT_DATE CURRENT_DATE CURRENT_TIME CURRENT_TIME CURRENT_TIMESTAMP CURRENT_TIMESTAMP DAYNAME(d) DATENAME(dw, datetime_expression) DAYOFMONTH EXTRACT(DAY FROM datetime_expression) DAYOFWEEK EXTRACT(WEEKDAY FROM datetime_expression) DAYOFYEAR EXTRACT(DAYOFYEAR FROM datetime_expression) HOUR EXTRACT(HOUR FROM datetime_expression) MINUTE EXTRACT(MINUTE FROM datetime_expression) MONTH EXTRACT(MONTH FROM datetime_expression) MONTHNAME DATENAME(mm, datetime_expression) NOW CURRENT_TIMESTAMP(6) QUARTER EXTRACT(QUARTER FROM datetime_expression) SECOND EXTRACT(SECOND FROM datetime_expression) TIMESTAMPADD DATEADD TIMESTAMPDIFF DATEDIFF WEEK EXTRACT(WEEK FROM datetime_expression) YEAR EXTRACT(YEAR FROM datetime_expression) Red Brick ODBC Driver の説明 2-35 システム関数 システム関数 以下の表は、Red Brick ODBC Driver でサポートされている ODBC/SQL-92 システム 関数の一覧です。どの場合にも、ドライバは、この表の第 2 列に示されている同等 の Red Brick 関数を呼び出して ODBC 関数を実行します。 ODBC 関数 同等の Red Brick 関数 IFNULL(exp, val) IFNULL(exp, val) USER( ) CURRENT_USER データ型変換関数 以下の表は、Red Brick ODBC Driver でサポートされている ODBC/SQL-92 データ型 変換関数の一覧です。どの場合にも、ドライバは、この表の第 2 列に示されている 同等の Red Brick 関数を呼び出して ODBC 関数を実行します。 2-36 ODBC 関数とタイプ 同等の Red Brick 関数 CONVERT(value, SQL_CHAR) STRING(value) CONVERT(value, SQL_DATE) DATE(value) CONVERT(value, SQL_DECIMAL) DEC(expression) CONVERT(value, SQL_FLOAT) FLOAT(value) CONVERT(value, SQL_INTEGER) INT(value) CONVERT(value, SQL_REAL) REAL(value) CONVERT(value, SQL_TIME) TIME(value) CONVERT(value, SQL_TIMESTAMP) TIMESTAMP(value) Client Installation and Connectivity Guide ODBC データ型 ODBC データ型 以下の表は、Red Brick ODBC Driver によって実行される Red Brick のデータ型と Microsoft のデータ型のマッピングの一覧です。SQLGetData または SQLBindCol の呼 び出し時にユーザが別のデータ型変換規則を指定しなかった場合、Red Brick ODBC Driver では、Red Brick のデータ型はこの表に従って Red Brick ODBC Driver のデータ 型に変換されます。 Red Brick データ型 ODBC SQL データ型 デフォルトの ODBC C データ型 CHAR SQL_CHAR SQL_C_CHAR DATE SQL_DATE SQL_C_DATE DOUBLE、FLOAT SQL_DOUBLE、 SQL_FLOAT SQL_C_DOUBLE INTEGER SQL_INTEGER SQL_C_SLONG NUMERIC、DECIMAL SQL_DECIMAL、 SQL_NUMERIC SQL_C_CHAR REAL SQL_REAL SQL_C_FLOAT SERIAL SQL_INTEGER SQL_C_SLONG SMALLINT SQL_SMALLINT SQL_C_SSHORT TIME SQL_TIME SQL_C_TIME TIMESTAMP SQL_TIMESTAMP SQL_C_TIMESTAMP TINYINT SQL_TINYINT SQL_C_STINYINT VARCHAR SQL_VARCHAR SQL_C_VARCHAR Red Brick ODBC Driver の説明 2-37 第3章 データウェアハウスの性能 この章について . . . . . . . . . . . . . . . . . . . . 3-3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 3-4 3-5 3-6 3-6 3-7 3-7 UNIX での ODBC アプリケーションの実行 . . . . ファイル $HOME/.odbc.ini でのデータ ソース設定 プラットフォーム別環境変数の設定 . . . . . . . . . . . . . . . . . . . . . . . 3-11 3-11 3-13 Red Brick と DataDirect SDK の機能の相違点 . . ヘッダ ファイル . . . . . . . . . . DSN 接続 . . . . . . . . . . . . . ソースコードの移植性 . . . . . . . . ドライバ マネージャ機能のエミュレーション SQLDataSources . . . . . . . . . . SQLDrivers . . . . . . . . . . . . SQLGetInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14 3-14 3-14 3-15 3-15 3-15 3-15 3-15 . . . . . . . . . . . . . . . . . . . . . . . . 3-17 3-17 3-17 3-17 3-18 3-18 3-18 3-18 Red Brick ODBClib SDK の使用 . . . . . . C コンパイラ . . . . . . . . . . . ソフトウェア ファイル . . . . . . . . ODBClib ライブラリとヘッダ ファイル . . Red Brick ODBClib によるコンパイルとリンク プラットフォーム別標準ライブラリ . . コンパイルとリンク . . . . . . . . . . . . . . . . . . . . . . . サンプル ODBC プログラム . . . . . . . . . . . . サンプル プログラムの場所 . . . . . . . . . . . サンプル プログラムのセットアップ . . . . . . . . プラットフォームの定義 . . . . . . . . . . . Red Brick ODBClib SDK の定義 . . . . . . . . . インストール先ディレクトリの定義 . . . . . . . プリプロセッサ、アーカイバ、およびコンパイラの指定 プログラム rb_client の作成 . . . . . . . . . . 3-2 Client Installation and Connectivity Guide この章について この章では、UNIX 上で Red Brick ODBClib ソフトウェア開発キット (SDK) および DataDirect Technologies Connect ODBC SDK を使用して、ODBC ペースのカスタム ク ライアント アプリケーションを作成する方法について説明します。作成したクライ アント アプリケーションを使用して、IBM Red Brick Warehouse データベースにアク セスできます。このアプリケーションは、UNIX 上でも Windows 上でも実行できま す。 以下の場合は、DataDirect Technologies Connect ODBC SDK を使用します。 ■ ■ IBM Red Brick Warehouse に接続するカスタム ODBC アプリケーションを開 発する場合。 カスタム アプリケーションと Red Brick ODBC Driver を組み合わせて使う必 要があります。 UNIX ペースのアプリケーションを作成する場合。 DataDirect Technologies Connect ODBC SDK の詳細については、DataDirect マニュアル を参照してください。 重要 : Red Brick では、UNIX の 16 ビット プラットフォームはサポートされていま せん。 Windows ベースのアプリケーションを作成するには、Microsoft の ODBC SDK を使 用します。この SDK、および Red Brick ODBC Driver とインターフェイスをとるアプ リケーションの開発方法の詳細については、Microsoft のマニュアルを参照してくだ さい。 Red Brick ODBClib SDK に付属している UNIX プラットフォーム用のサンプル ODBC プログラムについては、3-17 ページ「サンプル ODBC プログラム」を参照してくだ さい。 重要 : 64 ビットのプラットフォームを使用している場合でも、32 ビット ODBC を 使用してください。 UNIX 上でのカスタム クライアント アプリケーションの作成 3-3 Red Brick ODBClib SDK の使用 Red Brick ODBClib SDK の使用 この節では、Red BrickODBClib SDK を使用して、カスタム ODBC プログラムをコ ンパイルおよびリンクする方法について説明します。 Red Brick ODBClib SDK は、ODBC プログラムへリンクするため複数のライブラリ を使用します。詳細については、第 2 章「Red Brick ODBC Driver の説明」にある ODBC レベルの準拠に関する説明を参照してください。 C コンパイラ Red Brick ODBClib SDK でサポートされている C コンパイラは以下のとおりです。 プラットフォーム コンパイラ Digital AlphaServer Digital UNIX C コンパイラ HP 9000 HP-UX C コンパイラ IBM RISC System/6000 AIX Compiler (XL C Compiler V1.3.0.19) i686 ベースの Linux システム GNU プロジェクトの C および C++ コンパイラ (egcs-1.1.2) Silicon Graphics IRIX MIPS コンパイラ Sun SPARC ベースのシステム Sun コンパイラ (SC V3.0.1 gcc V2.7) 3-4 Client Installation and Connectivity Guide ソフトウェア ファイル ソフトウェア ファイル redbrick_dir ディレクトリには、Red Brick のソフトウェア ファイルがすべて格納さ れています。以下の表は、DataDirect Connect ODBC Driver および Red Brick ODBC Driver でサポートされている各プラットフォームにおいて、これらのドライバで使 用されるファイルの一覧です。サブディレクトリ lib におけるサフィックス xx は、 各プラットフォームに対応するファイル拡張子を表します。 場所 ファイル名 ファイルの内容 lib サブディレクトリ libodbc.xx Connect ODBC ドライバ マネージャ lib サブディレクトリ libodbcinst.xx Connect ODBC インストーラ lib lib サブディレクトリ libivmback.xx SQLDriver Connect Motif lib lib サブディレクトリ libivmfront.xx SQLDriver Connect Motif lib lib サブディレクトリ vscnctdlg.so.1 SQLDriver Connect Motif lib (SunOS のみ ) lib サブディレクトリ odbctrac.xx Connect ODBC トレース lib lib サブディレクトリ odbccurs.so.1 Connect ODBC カーソル lib (SunOS のみ ) lib サブディレクトリ rbodbcdrv.xx Red Brick ODBC Driver redbrick_dir/messages/default/ odbc.m Connect ODBC エラー メッセージ redbrick_dir/locale/ *.nls Red Brick ODBC Driver のロケ−ル ファイル UNIX 上でのカスタム クライアント アプリケーションの作成 3-5 ODBClib ライブラリとヘッダ ファイル ODBClib ライブラリとヘッダ ファイル 以下の表は、ディレクトリ redbrick_dir に格納されている ODBClib のライブラリ ファイルとヘッダ ファイルの一覧です。サブディレクトリ lib におけるサフィック ス xx は、各プラットフォームに対応するファイル拡張子を表します。32 ビット シ ステムと 64 ビット システムの両方を備えたプラットフォームの中には、サブディ レクトリ lib が複数存在するものもあります。 場所 ファイル名 ファイルの内容 lib サブディレクトリ librbodbc.a Red Brick ODBClib 静的ライブラリ lib サブディレクトリ librbodbc.xx 非 AIX プラットフォーム対応 Red Brick ODBClib 共 有ライブラリ lib サブディレクトリ librbodbcshared.a AIX プラットフォーム専用 Red Brick ODBClib 共有 ライブラリ include サブディレクトリ rbsql.h Red Brick ODBC Driver の機能をすべて含む Red Brick ヘッダ ファイル include サブディレクトリ rbsqlext.h Red Brick ヘッダ ファイル Red Brick ODBClib によるコンパイルとリンク この節では、Red Brick ODBClib によるアプリケーション作成に必要なライブラリと ヘッダ ファイルについて説明します。IBM では共有ライブラリの使用を推奨してい ます。共有ライブラリを使用する利点は、実行可能ファイルのサイズを小さくでき ること、リンクを高速化できること、および、将来新しいバージョンのライブラリ を使うときにアプリケーションを再リンクする必要がないことです。さらに、静的 ライブラリは実行時には利用可能である必要はありません。 3-6 Client Installation and Connectivity Guide Red Brick ODBClib によるコンパイルとリンク プラットフォーム別標準ライブラリ 以下の表は、アプリケーションにリンクさせるプラットフォーム別標準ライブラリ の一覧です。 プラットフォーム ライブラリ Digital AlphaServer libpthreads.a、libm.a、libdb.a HP 9000 (32 ビット コンパイラ ) libm.a、libBSD.a HP 9000 (64 ビット コンパイラ ) libm.a IBM RISC System 6000 (32 ビットおよび 64 ビット コンパイラ ) libm.a i686 ベースの Linux システム libnsl.a、libm.a Silicon Graphics IRIX libm.a Sun SPARC ベースのシステム libsocket.a、libnsl.a、libm.a コンパイルとリンク この節では、ODBC の静的ライブラリとヘッダ ファイルを使ってファイルをコンパ イルし、リンクするためのプラットフォーム別の定義およびサンプル コマンドを説 明します。サンプル コマンドは以下のように定義されています。 # Directory where Red Brick ODBClib SDK is installed REDBRICK_DIR=/redbrick_dir #These compile examples assume the application C #code is in 'rb_client.c' and executable will be 'rb_client' Digital AlphaServer (Digital UNIX) 定義 CFLAGS=-I$(REDBRICK_DIR)/include # Define libraries to link LIBS=$(REDBRICK_DIR)/lib/librbodbc.a -lpthreads -lm #If you want to use Red Brick ODBClib shared library #define LIBS as follows #LIBS=$(REDBRICK_DIR)/lib/librbodbc.so -lpthreads -lm UNIX 上でのカスタム クライアント アプリケーションの作成 3-7 Red Brick ODBClib によるコンパイルとリンク サンプル コマンド $ cc $(CFLAGS) -I$(REDBRICK_DIR)/include -c rb_client.c $ cc $(CFLAGS) -o rb_client rb_client.o $(LIBS) HP 9000 (HP-UX 32 ビット コンパイラ ) 定義 CFLAGS=-Aa +z -I$(REDBRICK_DIR)/include # Define libraries to link LIBS=$(REDBRICK_DIR)/lib/librbodbc.a -lm -lBSD #If you want to use Red Brick ODBClib shared library #define LIBS as follows #LIBS=$(REDBRICK_DIR)/lib/librbodbc.so -lm サンプル コマンド $ cc $(CFLAGS) -I$(REDBRICK_DIR)/include -c rb_client.c $ cc $(CFLAGS) -o rb_client rb_client.o $(LIBS) HP 9000 (HP-UX 64 ビット コンパイラ ) 定義 CFLAGS=-Aa +DD64 -I$(REDBRICK_DIR)/include # Define libraries to link LIBS=$(REDBRICK_DIR)/lib/librbodbc.a -lm #If you want to use Red Brick ODBClib shared library #define LIBS as follows #LIBS=$(REDBRICK_DIR)/lib/librbodbc.sl -lm サンプル コマンド $ cc $(CFLAGS) -I$(REDBRICK_DIR)/include -c rb_client.c $ cc $(CFLAGS) -o rb_client rb_client.o $(LIBS) IBM RISC System/6000 (32 ビット コンパイラ ) 定義 CFLAGS=-I$(REDBRICK_DIR)/include # Define libraries to link LIBS=$(REDBRICK_DIR)/lib/librbodbc.a -lm #If you want to use Red Brick ODBClib shared library #define LIBS as follows #LIBS=$(REDBRICK_DIR)/lib/librbodbcshared.a -lm 3-8 Client Installation and Connectivity Guide Red Brick ODBClib によるコンパイルとリンク サンプル コマンド $ xlc $(CFLAGS) -I$(REDBRICK_DIR)/include -c rb_client.c $ xlc $(CFLAGS) -o rb_client rb_client.o $(LIBS) IBM RISC System/6000 (64 ビット コンパイラ ) 定義 CFLAGS= -q64 -I$(REDBRICK_DIR)/include # Define libraries to link LIBS=$(REDBRICK_DIR)/lib/librbodbc.a -lm #If you want to use Red Brick ODBClib shared library #define LIBS as follows #LIBS=$(REDBRICK_DIR)/lib/librbodbc.so -lm サンプル コマンド $ xlc $(CFLAGS) -I$(REDBRICK_DIR)/include -c rb_client.c $ xlc $(CFLAGS) -o rb_client rb_client.o $(LIBS) i686 ベースの Linux システム (32 ビット コンパイラ ) 定義 CFLAGS=-I$(REDBRICK_DIR)/include # Define libraries to link LIBS=$(REDBRICK_DIR)/lib/librbodbc.a -lnsl -lm #If you want to use Red Brick ODBClib shared library #define LIBS as follows #LIBS=$(REDBRICK_DIR)/lib/librbodbc.so -lnsl -lm サンプル コマンド $ cc $(CFLAGS) -I$(REDBRICK_DIR)/include -c rb_client.c $ cc $(CFLAGS) -o rb_client rb_client.o $(LIBS) Silicon Graphics Server (IRIX 64 ビット コンパイラ ) 定義 CFLAGS= -mips3 -DSGI -I$(REDBRICK_DIR)/include # Define libraries to link LIBS=$(REDBRICK_DIR)/lib/librbodbc.a -lm # Define CFLAGS for 64-bit compilation #If you want to use Red Brick ODBClib shared library #define LIBS as follows #LIBS=$(REDBRICK_DIR)/lib/librbodbc.so -lm UNIX 上でのカスタム クライアント アプリケーションの作成 3-9 Red Brick ODBClib によるコンパイルとリンク サンプル コマンド $ cc $(CFLAGS) -I$(REDBRICK_DIR)/include -c rb_client.c $ cc $(CFLAGS) -o rb_client rb_client.o $(LIBS) Silicon Graphics Server (IRIX 32 ビット新フォーマット コンパイラ ) 定義 CFLAGS= -n32 -mips3 -DSGI -I$(REDBRICK_DIR)/include # Define libraries to link LIBS=$(REDBRICK_DIR)/lib/librbodbc.a -lm # Define CFLAGS for 32-bit new-format compilation #If you want to use Red Brick ODBClib shared library #define LIBS as follows #LIBS=$(REDBRICK_DIR)/lib/librbodbc.so -lm サンプル コマンド $ cc $(CFLAGS) -I$(REDBRICK_DIR)/include -c rb_client.c $ cc $(CFLAGS) -o rb_client rb_client.o $(LIBS) Silicon Graphics Server (IRIX 32 ビット旧フォーマット コンパイラ ) 定義 CFLAGS=-32 -DSGI -I$(REDBRICK_DIR)/include # Define libraries to link LIBS=$(REDBRICK_DIR)/lib/librbodbc.a -lm # Define CFLAGS for 32-bit old-format compilation #If you want to use Red Brick ODBClib shared library #define LIBS as follows #LIBS=$(REDBRICK_DIR)/lib/librbodbc.so -lm サンプル コマンド $ cc $(CFLAGS) -I$(REDBRICK_DIR)/include -c rb_client.c $ cc $(CFLAGS) -o rb_client rb_client.o $(LIBS) Sun SPARC ベースのシステム (Solaris 32 ビット コンパイラ ) 定義 CFLAGS=-I$(REDBRICK_DIR)/include # Define libraries to link LIBS=$(REDBRICK_DIR)/lib/librbodbc.a -lnsl -lm #If you want to use Red Brick ODBClib shared library #define LIBS as follows #LIBS=$(REDBRICK_DIR)/lib/librbodbc.so -lnsl -lm 3-10 Client Installation and Connectivity Guide UNIX での ODBC アプリケーションの実行 サンプル コマンド $ cc $(CFLAGS) -I$(REDBRICK_DIR)/include -c rb_client.c $ cc $(CFLAGS) -o rb_client rb_client.o $(LIBS) Sun SPARC ベースのシステム (Solaris 64 ビット コンパイラ ) 定義 CFLAGS= -xarch=v9 -I$(REDBRICK_DIR)/include # Define libraries to link LIBS=$(REDBRICK_DIR)/lib/librbodbc.a -lnsl -lm #If you want to use Red Brick ODBClib shared library #define LIBS as follows #LIBS=$(REDBRICK_DIR)/lib/librbodbc.so -lnsl -lm サンプル コマンド $ cc $(CFLAGS) -I$(REDBRICK_DIR)/include -c rb_client.c $ cc $(CFLAGS) -o rb_client rb_client.o $(LIBS) UNIX での ODBC アプリケーションの実行 ODBC アプリケーションの作成が完了したら、データ ソース (DSN) を設定し、各プ ラットフォームに対応する共有ライブラリ環境変数が正しく設定されているか確認 する必要があります。 重要 : UNIX 上で ODBC アプリケーションを実行する方法の詳細については、 DataDirect マニュアルを参照してください。 ファイル $HOME/.odbc.ini でのデータ ソース設定 UNIX の DSN は、各ユーザのホーム ディレクトリにあるファイル $HOME/.odbc.ini に設定できます。 ファイル $HOME/.odbc.ini で DSN を設定するには、中央の .odbc.ini ファイルと各 ユーザのホーム ディレクトリにある .odbc.ini ファイルの間にシンボリック リンク を作成する必要があります。これは、DSN の定義を集中管理できるようにするため です。シンボリック リンクを作成しないと、DSN 指定の全コンポーネントをアプ リケーションの接続文字列に指定しない限り、データベースと接続できなくなりま す。 UNIX 上で Red Brick ODBC Driver を使用するアプリケーションと、Red Brick ODBClib SDK にリンクしているアプリケーションでは .odbc.ini ファイルが異なりま す。以下の節では、このファイル .odbc.ini について説明します。 UNIX 上でのカスタム クライアント アプリケーションの作成 3-11 ファイル $HOME/.odbc.ini でのデータ ソース設定 重要 : $HOME ディレクトリが複数のハードウェア プラットフォームで共有され ている場合は、.odbc.ini ファイルはプラットフォーム固有である可能性がありま す。たとえば、ファイル .odbc.ini の中に複数の InstallDir 指定があり、Red Brick ODBClib SDK のファイルの場所に対するディレクトリ パスがプラットフォームご とに指定されている場合があります。 Red Brick ODBC Driver を使用するアプリケーション用初期化ファイル # Sample $HOME/.odbc.ini file if you are using # the Connect ODBC Driver Manager # to load the Red Brick ODBC Driver for UNIX # # This section is to name your ODBC DSNs # One entry per DSN # [ODBC Data Sources] RBDSN=Red Brick Driver # This section defines the ODBC environment # [ODBC] Trace=<value> TraceFile=<filename> InstallDir=<redbrick_dir>/lib # This section is to define your ODBC DSNs # One set of entries per DSN # [RBDSN] Driver=<redbrick_dir>/lib/rbodbcdrv.so SERVER=<host>:<port> RB_CONFIG=<redbrick_dir> DATABASE=<database_name> UID=<username> PWD=<password (optional)> 3-12 Client Installation and Connectivity Guide プラットフォーム別環境変数の設定 Red Brick ODBClib SDK を使用するアプリケーション用初期化ファイル # Sample $HOME/.odbc.ini file if you are using # the Red Brick ODBClib SDK or if you are using # the RISQL Entry Tool or RISQL Reporter # # This section is to name your ODBC DSNs # One entry per DSN # [ODBC Data Sources] RBDSN=Red Brick Driver # This section defines the ODBC environment # [ODBC] InstallDir=<redbrick_dir>/lib # This section is to define your ODBC DSNs # One set of entries per DSN # [RBDSN] SERVER=<host>:<port> RB_CONFIG=<redbrick_dir> DATABASE=<database_name> UID=<username> PWD=<password (optional)> このサンプルのファイル .odbc.ini では、RBDSN という名前の DSN が定義されてい ます。 プラットフォーム別環境変数の設定 UNIX 上で ODBC アプリケーションを実行する前に、環境変数 RB_CONFIG を設定 する必要があります。ODBC アプリケーションは、この環境変数を使用してファイ ル rbw.config を見つけます。このファイルは、メッセージ ファイルの検索およびロ ケ−ル設定の識別に使用されます。 環境変数 RB_CONFIG は以下のように設定します。 setenv RB_CONFIG <redbrick_dir> redbrick_dir は、Red BrickODBClib SDK ファイルがインストールされているディレ クトリです。 UNIX 上でのカスタム クライアント アプリケーションの作成 3-13 Red Brick と DataDirect SDK の機能の相違点 Red Brick ODBClib 共有ライブラリを使用するアプリケーションを作成する場合、 以下の表に従ってプラットフォームごとに環境変数を設定する必要があります。こ の表の redbrick_dir は、Red Brick ODBClib SDK ファイルがインストールされてい るディレクトリです。 プラットフォーム 環境変数設定 Digital AlphaServer setenv LD_LIBRARY_PATH <redbrick_dir>/lib:$LD_LIBRARY_PATH HP 9000 setenv SHLIB_PATH <redbrick_dir>/lib:$SHLIB_PATH IBM RISC System/6000 setenv LIBPATH <redbrick_dir>/lib:$LIBPATH i686 ベースの Linux システム setenv LD_LIBRARY_PATH <redbrick_dir>/lib:$LD_LIBRARY_PATH Silicon Graphics IRIX setenv LD_LIBRARY_PATH <redbrick_dir>/lib:$LD_LIBRARY_PATH Sun SPARC ベースのシステム setenv LD_LIBRARY_PATH <redbrick_dir>/lib:$LD_LIBRARY_PATH Red Brick と DataDirect SDK の機能の相違点 この節では、Red Brick ODBClib SDK と DataDirect Technologies Connect ODBC SDK の、機能の相違点について説明します。Red Brick ODBClib ライブラリにリンクする アプリケーションを作成する場合、この情報を使用します。 ヘッダ ファイル Red Brick ODBClib SDK を使用するアプリケーションを作成する場合、その Red Brick ODBClib SDK に付属しているヘッダ ファイル rbsql.h を使用する必要があり ます。Microsoft または Connect ODBC SDK に応じたアプリケーションを作成する場 合は、Microsoft または DataDirect から入手可能なヘッダ ファイル sql.h を使用する 必要があります。 DSN 接続 DataDirect から DSN 用のドライバが提供されています。DataDirect Technologies Connect ODBC SDK を使用して ODBC アプリケーションを作成すると、そのアプリ ケーションは DataDirect ドライバを備えたあらゆる DSN に接続できます。 3-14 Client Installation and Connectivity Guide ソースコードの移植性 ソースコードの移植性 Red Brick ODBClib SDK アプリケーションを DataDirect Technologies Connect ODBC SDK に移植するには、DataDirect ヘッダ ファイルを使用してアプリケーションを再 コンパイルし、また DataDirect Driver Manager を使用してそのファイルをリンクしま す。 DataDirect Technologies Connect ODBC SDK アプリケーションを Red Brick ODBClib SDK に移植するには、Red Brick ヘッダ ファイルを使用してアプリケーションを再 コンパイルし、また Red Brick ODBClib ライブラリをそのファイルにリンクします。 ドライバ マネージャ機能のエミュレーション Red Brick ODBClib SDK は、Microsoft Driver Manager または DataDirect Driver Manager が実行する以下の機能をエミュレートします。 ■ ■ ■ SQLDataSources SQLDrivers SQLGetInfo SQLDataSources ディレクトリ $HOME の中にファイル .odbc.ini またはシンボリック リンクがある場 合、Red Brick ODBClib SDK が SQLDataSources を実装する方法は、DataDirect Technologies Connect ODBC SDK を使用して作成されたアプリケーションに対する SQLDataSources を DataDirect Driver Manager が実装する方法と同じです。 SQLDrivers Red Brick ODBClib SDK を使用してアプリケーションを作成した場合、そのアプリ ケーションでは Red Brick ODBC Driver しか使用できません。Red Brick ODBClib SDK でほかのドライバが使われることはありません。 SQLGetInfo DataDirect Technologies Connect ODBC SDK が戻す SQLGetInfo 関数の値は、 Microsoft ODBC SDK と同じです。 UNIX 上でのカスタム クライアント アプリケーションの作成 3-15 SQLGetInfo Red Brick ODBClib SDK が戻す SQLGetInfo 関数の値は、2-19 ページ「SQLGetInfo 情 報タイプ」で説明している値と同じですが、一部例外があります。以下の表はその 例外の一覧です。 情報タイプ 戻り値 SQL_DRIVER_HDBC アプリケーションに対して検索可能なデータを処理す る。 ドライバ マネージャは関係しません。 SQL_DRIVER_HDESC アプリケーションに対して検索可能なデータを処理す る。 ドライバ マネージャは関係しません。 SQL_DRIVER_HENV アプリケーションに対して検索可能なデータを処理す る。 ドライバ マネージャは関係しません。 SQL_DRIVER_HLIB 文字列値 "0" アプリケーションは、ドライバと直接通信します。 SQL_DRIVER_HSTMT アプリケーションに対して検索可能なデータを処理す る。 ドライバ マネージャは関係しません。 SQL_DRIVER_VER 文字列値 "03.00" この値は SQL_SPEC_MAJOR および SQL_SPEC_MINOR から派生したものです。 3-16 Client Installation and Connectivity Guide サンプル ODBC プログラム サンプル ODBC プログラム IBM Red Brick Warehouse の UNIX プラットフォーム用 Red Brick ODBClib SDK には、 rb_client というサンプルの ODBC C プログラムが付属しています。この節では、こ のサンプル プログラムの場所とセットアップ方法について説明します。 サンプル プログラムの場所 ディレクトリ redbrick_dir/lib/example には、サンプルの C プログラムのソース コー ドがあります。redbrick_dir は、Red Brick ODBClib SDK のファイルがインストール されているディレクトリです。 ディレクトリ example に格納されているファイルは以下のとおりです。 ■ ■ ■ サンプル プログラムの作成方法の概要を説明したファイル README.TXT。 サンプルの C コードを含むファイル rb_client.c。 プログラム作成環境を定義するために make ユーティリティと組み合わせ て使用されるファイル Makefile。 サンプル プログラムのセットアップ rb_client は、Red Brick データベースに対する SQL 文を実行する Red Brick ODBClib クライアント プログラムです。vi などのテキスト エディタを使って、使用するプ ラットフォームに合わせて Makefile の内容を修正します。次に、この Makefile を使 用してプログラムを作成します。 プラットフォームの定義 Makefile の先頭にある、使用するプラットフォームに対応する環境変数 RB_PLATFORM を見つけ、その行に付いている注釈記号 (#) を削除します。たとえ ば、使用しているプラットフォームが Solaris の場合、Makefile 中にある以下の行の 注釈記号を削除します。 # RB_PLATFORM=solaris 重要 : デフォルトでは、Makefile 中の環境変数 RB_PLATFORM にはすべて注釈記 号が付いています。 UNIX 上でのカスタム クライアント アプリケーションの作成 3-17 サンプル プログラムのセットアップ Red Brick ODBClib SDK の定義 Makefile に以下の行が指定されていることを確認してください。 RB_ODBC=1 インストール先ディレクトリの定義 Makefile 中の RB_INSTALL_DIR 環境変数を見つけ、redbrick_dir のフル ディレク トリ パスを参照するようにこの環境変数を定義します。たとえば、SDK を /redbrick/odbc ディレクトリにインストールした場合、RB_INSTALL_DIR 環境変数 を次のように定義します。 RB_INSTALL_DIR= /redbrick/odbc プリプロセッサ、アーカイバ、およびコンパイラの指定 Makefile を使用して、C プリプロセッサ、オブジェクト アーカイバ、C コンパイラ の各実行可能ファイルへのパスを指定できます。たいていの環境ではデフォルト値 のままで正しく動作しますが、これらのツールに対して別の実行可能ファイルを指 定したい場合は、CPP、AR、CC の各環境変数を修正します。CPP は C プリプロ セッサ、AR はオブジェクト アーカイバ、CC は C コンパイラにそれぞれ対応して います。たとえば、CPP、AR、CC の各環境変数のデフォルト値は以下のとおりで す。 CPP= /odbc/cpp.exe AR= /odbc/ar.exe CC= /odbc/cc.exe デフォルト値を実行可能ファイルへのパスに変更します。 プログラム rb_client の作成 使用するプラットフォームおよび環境に合わせて Makefile を修正したら、プログラ ム rb_client を作成します。プログラムを作成する前に、以下の作業を完了している か確認してください。 ■ ■ ファイル $HOME/.odbc.ini の中で DSN を定義しているか。 環境変数 RB_CONFIG を設定しているか。 プログラム rb_client を作成するには、ディレクトリを $RB_CONFIG/lib/example (Red Brick ODBClib のファイルが格納されているディレクトリ ) に変更し、以下の コマンドを入力します。 % make 3-18 Client Installation and Connectivity Guide サンプル プログラムのセットアップ make コマンドを入力すると、プログラム rb_client から rb_client という名前の実行 可能ファイルが作成されます。そして、DSN および SQL 文を入力するよう要求さ れます。次に、プログラム rb_client では、指定した DSN に対応するデータベース に対して SQL 文が実行されます。 UNIX 上でのカスタム クライアント アプリケーションの作成 3-19 第4章 入門 この章について . . . . . . . . . . . . . . . . . . . . 4-3 JDBC とは . . . . . . . . . . . . . . . . . . . . 4-3 . . . . . . . . . . . . . . . . . . 4-6 二層コンフィグレーションと三層コンフィグレーション 2 層構成 . . . . . . . . . . . . . . . . 3 層構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 4-7 4-7 ドライバのインストール . . . . . . . . . . . . . . 対話形式でのインストール . . . . . . . . . . . . サイレント モードのインストール . . . . . . . . . . ドライバとともにインストールされるファイル . . . . . Java の CLASSPATH におけるドライバの組み込み . . . . ドライバのアンインストール . . . . . . . . . . . . . . . . . . . . . . . . 4-8 4-8 4-9 4-10 4-11 4-13 アプレットでのドライバの使用 . . . . . . . . . . . . . . 4-14 HTTP プロキシ サーバの使用 . . . . . . . . . . . . . . . 4-15 プロキシ サーバの構成 (3 層構成の場合 ) . . . . . . . . . . Netscape、Apache、IBM の各 Web サーバに必要なソフトウェア Netscape Web サーバへの JRun のインストール . . . . . Apache HTTP Server または IBM HTTP Server への JServ のインストール . . . . . . . . . . . Red Brick JDBC プロキシ サーブレットのインストール . . . . Apache HTTP Server または IBM HTTP Server への サーブレットのインストール (UNIX の場合 ) . . . Apache HTTP Server または IBM HTTP Server への サーブレットのインストール (Windows の場合 ) . . サーブレットのプロパティ . . . . . . . . . . . . HTTP プロキシの指定 . . . . . . . . . . . . . . . . . . 4-16 4-16 4-16 . . 4-17 4-17 . 4-17 . . . 4-18 4-19 4-20 . . JDBC ドライバとは 4-2 Client Installation and Connectivity Guide この章について この章では以下の項目について説明します。 ■ ■ ■ ■ Red Brick JDBC Driver および JDBC API。 ドライバのインストール方法とアンインストール方法。 アプレットの中でドライバを使用する方法。 ミドル層で Red Brick JDBC プロキシ サーブレットが動作する場合に、3 層構成において必要となるソフトウェアをインストールする方法。 JDBC とは Java データベース コネクティビティ (JDBC) は、JavaSoft 仕様の標準アプリケーショ ン プログラミング インターフェイス (API) であり、Java プログラムを使用したデー タベース管理システムへのアクセスを可能にします。JDBC API は、Java プログラ ミング言語で記述されたインターフェイスとクラスのセットで構成されています。 プログラマはこの標準インターフェイスとクラスを利用することにより、データ ベースに接続し、構造化問い合わせ言語 (SQL) で記述したクエリを送信し、その結 果を処理するアプリケーションを作成することができます。 Red Brick JDBC Driver 入門 4-3 JDBC とは JDBC API は、java.lang や java.awt などの、コア Java のインターフェイスおよびク ラスのスタイルに準拠しています。以下の表は、JDBC API を構成しているイン ターフェイス、クラス、および例外 ( 例外として送出されるクラス ) の一覧です。 この表で、javax.sql パッケージに属するインターフェイスは標準 JDBC インター フェイスに対する拡張機能であり、Java 2 SDK、Enterprise Edition に付属していま す。 インターフェイス / クラス / 例外 説明 インターフェイス java.sql.Connection データベースへの接続を確立するためのイ ンターフェイス。SQL 文は接続状況に応 じて実行されます。 java.sql.DatabaseMetaData データベースに関する情報を戻すためのイ ンターフェイス。 java.sql.Driver 特定のデータベース管理システム用のドラ イバを検索するためのインターフェイス。 java.sql.PreparedStatement プリコンパイルされた SQL 文をデータ ベース サーバに送信して結果を取得する ためのインターフェイス。 java.sql.ResultSet SQL 文の実行結果を処理するためのイン ターフェイス。 java.sql.ResultSetMetaData ResultSet オブジェクトの列に関する情報 を戻すためのインターフェイス。 java.sql.Statement 静的 SQL 文をデータベース サーバに送信 して結果を取得するためのインターフェイ ス。 javax.sql.ConnectionEventListener PooledConnection オブジェクトによって生 成されるイベントを受信するためのイン ターフェイス。 javax.sql.ConnectionPoolDataSource PooledConnection オブジェクトのファクト リ。ConnectionPoolDataSource オブジェク トは通常、JNDI サービスに登録されます。 (1/2) 4-4 Client Installation and Connectivity Guide JDBC とは インターフェイス / クラス / 例外 説明 javax.sql.DataSource Connection オブジェクトのファクトリ。 DataSource オブジェクトは通常、JNDI サービス プロバイダに登録されます。 javax.sql.PooledConnection PooledConnection オブジェクトは、データ ソースへの物理的接続を表します。 クラス java.sql.Date SQL DATE のデータ型に使われる java.util.Date のサブクラス。 java.lang.DriverManager JDBC ドライバのセットを管理するための クラス。 java.sql.DriverPropertyInfo 接続に対するプロパティを検出および設定 するためのクラス。 java.sql.Time SQL TIME のデータ型に使われる java.util.Date のサブクラス。 java.sql.TimeStamp SQL TIMESTAMP のデータ型に使われる java.util.Date のサブクラス。 java.sql.Types CHAR、INTEGER、および DECIMAL など の標準 SQL データ型の識別に使用する定 数を定義するためのクラス。 java.sql.String CHAR などのテキスト データ型を識別す るためのクラス。 例外クラス java.sql.SQLException データベース エラーに関する情報を提供 する例外。 java.sql.SQLWarning データベースの警告に関する情報を提供す る例外。 (2/2) JDBC は標準仕様なので、JDBC API を使用する Java プログラムは、JDBC ドライバ が用意されている任意のデータベース管理システム (DBMS) に接続できます。 Red Brick JDBC Driver 入門 4-5 JDBC ドライバとは JDBC ドライバとは JDBC API は、データベースに接続してクエリを送信するときに使用する、Java の インターフェイスとクラスを定義したものです。JDBC ドライバは、個々の DBMS ベンダに対応して、Java のインターフェイスとクラスを実装します。 JDBC API を使用する Java プログラムは、特定の DBMS 用のドライバをロードして からデータベースに接続します。そのあと、JDBC DriverManager クラスにより、 すべての JDBC API 呼び出しがそのロードされたドライバに送られます。 JDBC ドライバは以下の 4 種類があります。 ■ ■ ■ ■ JDBC-ODBC ブリッジと ODBC ドライバ。タイプ 1 ともいいます。 JDBC API 呼び出しを Microsoft Open Database Connectivity (ODBC) 呼び出し に変換し、ODBC ドライバに渡します。このタイプのドライバを使うクラ イアント コンピュータには、ODBC バイナリ コードをロードする必要が あります。 ネイティブ API。部分的な Java ドライバで、タイプ 2 ともいいます。 JDBC API 呼び出しを DBMS 固有のクライアント API 呼び出しに変換しま す。ブリッジ ドライバと同様に、このタイプのドライバは各クライアント コンピュータにバイナリ コードを一部ロードする必要があります。 JDBC ネット。Pure Java ドライバで、タイプ 3 ともいいます。 JDBC API 呼び出しをミドル層の中継サーバに送ります。中継サーバはそ の呼び出しを DBMS 固有のネットワーク プロトコルに変換します。変換 された呼び出しは、特定の DBMS に送られます。 ネイティブ プロトコル。Pure Java ドライバで、タイプ 4 ともいいます。 JDBC API 呼び出しを、ミドル層を通さずに、DBMS 固有のネットワーク プロトコルに直接変換します。このため、クライアント アプリケーション をデータベース サーバに直接接続できます。 Red Brick JDBC Driver は、JDBC API のバージョン 2.0 に基づく Pure Java のタイプ 4 ドライバです。 4-6 Client Installation and Connectivity Guide 二層コンフィグレーションと三層コンフィグレーション 二層コンフィグレーションと三層コンフィグ レーション JDBC API と Red Brick JDBC Driver は、2 層構成と 3 層構成のどちらでも使用できま す。それぞれの構成について以下に説明します。 2 層構成 2 層構成の場合、Java アプレットとアプリケーションは、JDBC ドライバを介して データベースと通信します。2 層構成は通常、クライアント / サーバ構成をとりま す。クライアント システム上にはドライバとアプレットまたはアプリケーション、 サーバ上にはデータベースがそれぞれ配置されます。 図 4-1 に、二層コンフィグレーションの図を示します。ここでは、Red Brick JDBC Driver、および IBM Red Brick Warehouse を使用しています。 図 4-1 JDBC アプリケーション JDBC 二層コン フィグレーション Red Brick JDBC Driver IBM Red Brick Warehouse 3 層構成 3 層構成の場合、クライアント システム上の HTML ブラウザまたは Java アプレット が、ミドル層システム上の Java アプリケーションにコマンドを送信します。このミ ドル層システムは、クライアントともデータベース サーバとも異なる第 3 の層で す。ミドル層にある Java アプリケーションは、JDBC プロキシ サーブレットを介し てデータベースと通信します。このサーブレットは、アプリケーションと同じシス テム上にあります。3 層構成にした場合、2 層構成に比べて、データベースへのア クセスおよびデータベースの変更を行うときのセキュリティと制御能力が向上しま す。 Red Brick JDBC Driver 入門 4-7 ドライバのインストール 図 4-2 は 3 層構成の例です。この例では、ミドル層の Web サーバ上に Java サーブ レット エンジンと Red Brick JDBC プロキシ サーブレット、データベース サーバ上 に IBM Red Brick Warehouse が配置されています。 図 4-2 HTML ブラウザ または アプレット クライアント システム JDBC 三層コン フィグレーション HTTP、RMI、または CORBA サーブレット エンジン Web サーバ Red Brick JDBC プロキシ サーブレット IBM Red Brick Warehouse ドライバのインストール Red Brick JDBC Driver をインストールするには、ソフトウェア CD-ROM のディレク トリ CCP/JDBC にある JDBC SETUP プログラムを使用します。このドライバのイ ンストール方法には、対話形式とサイレント モードの 2 種類があります。この節で は、UNIX、Linux、Windows の各プラットフォームにドライバをインストールする 手順について説明します。 対話形式でのインストール UNIX UNIX 上でインストール プログラムを起動するには、Bourne シェルまたは Korn シェルで以下のコマンドを実行します。 sh SETUP デフォルトでは、UNIX のセットアップ スクリプトによって、Red Brick JDBC Driver がホーム ディレクトリの以下のディレクトリにインストールされます。 $HOME/RedBrick/JDBC 4-8 Client Installation and Connectivity Guide サイレント モードのインストール このスクリプトでは、ドライバを別のディレクトリにインストールすることもでき ます。♦ Windows CD-ROM に格納されているインストール プログラムを Windows 上で起動するには、 CD-ROM にある以下のコマンドを実行します。 SETUP Red Brick JDBC Driver を Web サイトからダウンロードした場合は、ドライバのダウ ンロード先ディレクトリにある SETUP コマンドを実行します。 デフォルトでは、SETUP プログラムによって、Red Brick JDBC Driver が C ドライブ の以下のディレクトリにインストールされます。 c:¥RedBrick¥jdbc この SETUP プログラムでは、ドライバを別のディレクトリにインストールするこ ともできます。♦ サイレント モードのインストール サイレント モードでは、ユーザに情報の入力をたずねるプロンプトが表示されるこ となく、製品がインストールされます。つまり、ユーザがインストール処理を意識 することはありません。たとえば、サードパーティが自社の製品に Red Brick JDBC Driver を組み込む場合、そのサードパーティはサイレント モードのインストールを 使うことにより、ドライバをその製品の一部として透過的にインストールできま す。 UNIX ドライバをサイレント モードで UNIX 上にインストールするには、以下のコマンド を実行します。 sh SETUP -s directory-name directory-name はオプションです。ディレクトリ名を入力しない場合、ドライバは ホーム ディレクトリの以下のディレクトリにインストールされます。 $HOME/RedBrick/JDBC ♦ Windows ドライバをサイレント モードで Windows 上にインストールするには、以下のコマン ドを実行します。 c:¥SETUP -s directory-name directory-name の指定は任意です。ディレクトリ名を入力しない場合、ドライバは C ドライブの以下のディレクトリにインストールされます。 c:¥RedBrick¥jdbc ♦ Red Brick JDBC Driver 入門 4-9 ドライバとともにインストールされるファイル ドライバとともにインストールされるファイル Red Brick JDBC Driver セットアップ プログラムにより、次のファイルがインストー ルされます。 ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ 4-10 copyright.txt サードパーティ製ソフトウェアの著作権とライセンス契約に関する情報が 記載されています。 demos/general/* demos/I18N/* demos/JDBCTestCancel/* demos/JDBCTestQueryProcessing/* demos/rmi/* JDBC API を使用するサンプル Java プログラムが格納されているディレク トリ。サンプル ファイルの説明は、5-32 ページ「サンプル コード ファイ ル」を参照してください。 JRbwUnInstall.class uninstall スクリプトおよび uninstall.bat スクリプトによって使用されるア ンインストール クラス ファイル。 JRbwVersion.class JDBC Driver のバージョンを識別するためのバージョン クラス ファイル。 proxy/RBWProtocol.class HTTP トンネル プロキシ クラス ファイル。 proxy/SocketState.class HTTP トンネル プロキシをサポートするセッション マネージャ クラス ファイル。 proxy/ConnectionPool.class IBM Red Brick Warehouse への接続を管理します。 proxy/Tracefile.class ログ記録が有効になっており、かつ、ログ ファイルが指定されている場 合、トレースを実行します。 proxy/Errors.class エラー処理を実行します。 redbrick.jar JDBC API のインターフェイス、クラス、およびメソッドが最適化された 形で実装されている JAR ファイル。 tools/*.gif JDBC ツール用のアイコン画像ファイル。 tools/jdbctoolshelp.jar JDBC ツールのオンライン ヘルプ ファイルが含まれている JAR ファイル。 Client Installation and Connectivity Guide Java の CLASSPATH におけるドライバの組み込み ■ ■ ■ ■ ■ ■ ■ ■ tools/jhall.jar JavaHelp のバイナリ ファイルが含まれている JAR ファイル。 tools/rbdsadmin.* JDBC Data Source Administrator ツールを実行します ( 6-6 ページを参照 )。 tools/rbjdbctools.jar JDBC ツールを実装したファイルが含まれている JAR ファイル。 tools/rbjping.* JDBC Ping ツールを実行します。詳細については、6-7 ページを参照してく ださい。 uninst.inf uninstall がドライバをアンインストールするために使用するファイル。 uninstall UNIX プラットフォームにインストールされているドライバをアンインス トールします。 uninstall.bat Windows プラットフォームにインストールされているドライバをアンイン ストールします。 readme.txt インストールとアンインストールに関する情報が記載されているテキスト ファイル。 Java の CLASSPATH におけるドライバの組み込み アプリケーションで Red Brick JDBC Driver を使用するには、そのドライバ ファイル を参照するように環境変数 CLASSPATH を設定するか、またはコマンド ラインで java コマンドを入力するときに classpath オプションを指定します。環境変数 CLASSPATH は、Java 仮想マシン (JVM) およびその他のアプリケーションに対し て、Java プログラムで使用される Java クラス ライブラリの場所を通知します。 Red Brick JDBC Driver 入門 4-11 Java の CLASSPATH におけるドライバの組み込み 環境変数 CLASSPATH を設定する方法は 2 とおりあります。1 つめの方法は、ファ イル redbrick.jar のフル パス名を環境変数 CLASSPATH に追加することです。以下 に例を示します。 C シェル UNIX setenv CLASSPATH $JDBC_DRIVER_HOME/redbrick.jar:$CLASSPATH $JDBC_DRIVER_HOME は、ドライバがインストールされているディレクトリへの パスです。 Bourne シェルまたは Korn シェル CLASSPATH=$JDBC_DRIVER_HOME/redbrick.jar:$CLASSPATH export CLASSPATH $JDBC_DRIVER_HOME は、ドライバがインストールされているディレクトリへの パスです。♦ Windows 以下の例は、Windows 上で環境変数 CLASSPATH を設定する方法を示しています。 set CLASSPATH= %RB_JDBC_HOME% ¥redbrick.jar;%CLASSPATH% %JDBC_DRIVER_HOME% は、ドライバがインストールされているディレクトリへ のパスです。♦ 環境変数 CLASSPATH を設定する 2 つめの方法は、ファイル redbrick.jar を展開し、 そのディレクトリを環境変数 CLASSPATH に追加することです。以下に例を示しま す。 UNIX C シェル cd $JDBC_DRIVER_HOME jar xvf redbrick.jar setenv CLASSPATH $JDBC_DRIVER_HOME:$CLASSPATH $JDBC_DRIVER_HOME は、ドライバがインストールされているディレクトリへの パスです。 Bourne シェルまたは Korn シェル cd $JDBC_DRIVER_HOME jar xvf redbrick.jar CLASSPATH =$JDBC_DRIVER_HOME:$CLASSPATH export CLASSPATH $JDBC_DRIVER_HOME は、ドライバがインストールされているディレクトリへの パスです。♦ 4-12 Client Installation and Connectivity Guide ドライバのアンインストール Windows 以下の例は、Windows 上で環境変数 CLASSPATH を設定する方法を示しています。 cd %RB_JDBC_HOME% jar xvf redbrick.jar set CLASSPATH= %RB_JDBC_HOME%;%CLASSPATH% %JDBC_DRIVER_HOME% は、ドライバがインストールされているディレクトリへ のパスです。♦ jar ユーティリティとこれに関連するアーカイブ ファイル形式を利用すれば、アプ リケーションに関連するクラス ファイルなど複数のファイルを 1 つのアーカイブ ファイルにまとめることができます。jar ユーティリティの詳細については、以下 の Web サイトにある JavaSoft のマニュアルを参照してください。 http://java.sun.com ドライバのアンインストール ここでは、UNIX 上および Windows 上にインストールされている Red Brick JDBC Driver をアンインストールする方法について説明します。 uninstall プログラムは、カレント ディレクトリにあるファイル uninst.inf からドラ イバの構成要素に関する情報を取得します。 Bourne シェルまたは Korn シェルで Red Brick JDBC Driver をアンインス トールするには 1. 2. UNIX ドライバがインストールされているディレクトリに移動します。 uninstall プログラムを起動します。 UNIX 上で uninstall プログラムを起動するには、以下のコマンドを実行します。 sh uninstall ♦ Windows Windows 上で uninstall プログラムを起動するには、以下のコマンドを実行します。 uninstall ♦ インストールされていたファイルはすべて削除されますが、ディレクトリに追加さ れたその他のファイルは削除されずにそのまま残ります。 Red Brick JDBC Driver 入門 4-13 アプレットでのドライバの使用 アプレットでのドライバの使用 アプレットで Red Brick JDBC Driver を使用すると、Netscape Navigator や Microsoft Internet Explorer などのブラウザからデータベースに接続できます。次に、アプレッ ト内でドライバを指定する方法、およびドライバが Web サーバから正しくダウン ロードされているか確認する方法について説明します。 アプレットで Red Brick JDBC Driver を使用するには 1. 2. ファイル redbrick.jar をアプレット クラス ファイルと同じディレクトリに インストールします。 HTML ファイルの中の APPLET タグの ARCHIVE 属性にファイル redbrick.jar を指定します。以下に例を示します。 <APPLET ARCHIVE=redbrick.jar CODE=my_applet.class CODEBASE=http://www.myhost.com WIDTH=460 HEIGHT=160> </APPLET> 重要 : 一部のブラウザでは、APPLET タグの ARCHIVE 属性がサポートされていま せん。アプレットをダウンロードするブラウザがこれに該当する場合は、ファイル redbrick.jar を展開し、使用する Web サーバのルート ディレクトリにインストール する必要があります。 ブラウザで JDBC API がサポートされていない場合は、java.sql パッケージに格納さ れているクラス ファイルも、使用する Web サーバのルート ディレクトリにインス トールする必要があります。 ファイルをルート ディレクトリにインストールする方法については、使用する Web サーバのマニュアルを参照してください。 4-14 Client Installation and Connectivity Guide HTTP プロキシ サーバの使用 HTTP プロキシ サーバの使用 以下に示す理由により、HTTP プロキシ サーバを使用しなければならない場合があ ります。 ■ ■ アプレット。Web ブラウザのセキュリティ上の制約により、アプレットが Red Brick JDBC Driver を使用している場合は、Web サーバと同じホストで 動作しているデータベースにしか接続できません。Web サーバとデータ ベース サーバは共に大量のシステム リソースを必要とすることがあるの で、この制約は必ずしも好ましいものではありません。 ファイアウォール。JDBC クライアントは、ファイアウォールの外側にあ るデータベースには接続できません。ファイアウォールによって、ブラウ ザからデータベースへの接続が拒否されます。 Red Brick の HTTP プロキシは、この 2 つの問題に対処するためのものです。HTTP プロキシは小さいサイズのサーブレットであり、JDBC クライアントと IBM Red Brick Warehouse サーバの間にあるミドル層で動作します。このプロキシは JDBC ク ライアントから HTTP パケットを受信して SQL 要求を抽出し、サーバに送信しま す。クライアント ( エンド ユーザ ) がこのミドル層を意識することはありません。 この HTTP プロキシ機能は、JDBC 2.0 仕様には含まれていません。 図 4-3 は、プロキシを使ってファイアウォールの外側にあるデータベースに接続す るしくみを示しています。 図 4-3 ファイアウォール 経由での接続 ファイアウォール Java クライアント Web サーバ 2 1 JDBC ドライバ プロキシ サーバ データベース 1 ドライバが、ターゲットの IP アドレスとポート番号をプロキシに送信する。 2 プロキシはその IP アドレスとポートを使って、データベースへの接続を確立する。 Red Brick JDBC Driver 入門 4-15 プロキシ サーバの構成 (3 層構成の場合 ) プロキシ サーバの構成 (3 層構成の場合 ) HTTP プロキシを使う場合、サーブレットをサポートしている Web サーバが必要で す。Red Brick JDBC HTTP プロキシ サーブレットは、以下の Web サーバに対応して います。 ■ ■ ■ JRun サーブレット エンジンを備えた Netscape Web Server JServ サーブレット エンジンを備えた Apache HTTP Server JServ サーブレット エンジンを備え、Apache によって機能拡張されている、 IBM HTTP Server IBM HTTP Server は、IBM WebSphere Application Server に同梱されています。また、 個別に購入することもできます。IBM HTTP Server の詳細については、以下の Web サイトを参照してください。 http://www.ibm.com/software/webservers/httpservers WebSphere Application Server の詳細については、以下の Web サイトを参照してくだ さい。 http://www.ibm.com/software/webservers/appserv Netscape、Apache、IBM の各 Web サーバに必要な ソフトウェア 3 層構成における Netscape Web Server 上で Red Brick JDBC プロキシ サーブレットを 使用するには、その Web サーバに JRun サーブレット エンジンをインストールする 必要があります。 Apache HTTP Server または IBM HTTP Server 上で Red Brick JDBC プロキシ サーブ レットを使用するには、その Web サーバに Apache JServ サーブレット エンジンをイ ンストールする必要があります。 Netscape Web サーバへの JRun のインストール JRun は、サーバ側で動作する Java 開発および導入用エンジンです。JRun を使うこ とにより、サーバ側 Java の機能を Web アプリケーションに追加できます。 JRun とその関連マニュアルは、以下の Web サイトからインストールできます。 http://www.macromedia.com/downloads/ Netscape 用の JRun コネクタをインストールするには、JRun に付属している Connector ウィザードを使用します。 4-16 Client Installation and Connectivity Guide Red Brick JDBC プロキシ サーブレットのインストール Apache HTTP Server または IBM HTTP Server への JServ のイ ンストール Apache HTTP Server 上または IBM HTTP Server 上で JDBC プロキシ サーブレットを 使用するには、Apache JServ をインストールする必要があります。JServ は Pure Java サーブレット エンジンであり、独立した要求サーバとして動作します。Apache JServ は、以下の Web サイトからダウンロードできます。 http://java.apache.org/jserv/dist/ JServ のインストール方法については、使用している Web サーバのマニュアル、ま たは以下の Web サイトを参照してください。 http://java.apache.org Red Brick JDBC プロキシ サーブレットのインス トール この節では、以下の HTTP サーバに Red Brick JDBC HTTP プロキシ サーブレットを インストールする方法について説明します。 ■ ■ UNIX 上で動作する Apache HTTP Server または IBM HTTP Server Windows NT 上で動作する Apache HTTP Server または IBM HTTP Server Netscape Web Server に JDBC プロキシ サーブレットをインストールする方法につい ては、以下の Web サイトにある Netscape のドキュメントを参照してください。 http://enterprise.netscape.com/docs/ UNIX Apache HTTP Server または IBM HTTP Server へのサーブレッ トのインストール (UNIX の場合 ) プロキシ サーブレットをインストールする前に、お使いの Web サーバのマニュア ルを読み、サーバ固有の要件があるか確認してください。プロキシ サーブレットを インストールするには、以下の手順を実行します。 1. Web サーバ構成における、プロキシ サーブレットに対する別名とディレク トリを定義します。 JDBC ドライバは、クライアントからの HTTP 要求を以下のプロキシ サー ブレットに振り向けます。 http://your-web-server:port/pathname/RBWProtocol RBWProtocol はプロキシ サーブレット、pathname はプロキシ サーブ レットへのパスです。サーブレットを正しく構成する方法については、使 用している Web サーバのマニュアルを参照してください。 Red Brick JDBC Driver 入門 4-17 Red Brick JDBC プロキシ サーブレットのインストール 2. 3. RBWProtocol.class、SocketState.class、ConnectionPool.class、 TraceFile.class、Errors.class の各ファイルを、ステップ 1 で定義したサー ブレット ディレクトリにコピーします。 これらのクラス ファイルは、JDBC 製品パッケージがインストールされる と、ディレクトリ proxy に格納されます。 必要に応じて、デフォルトのサーブレット プロパティを変更します。変更 するには、サーブレット プロパティ ファイルを修正します。以下のエン トリを追加します。 servlet.RBWProtocol.initArgs=<comma separated list of name=value pairs> 以下に例を示します。 servlet.RBWProtocol.initArgs=logfilename=/programs/ApacheGroup/ApacheJServ/ logs/RBWProtocol.log,logging=on,maxconnections=50,timeout=180 ♦ Windows Apache HTTP Server または IBM HTTP Server へのサーブレッ トのインストール (Windows の場合 ) プロキシ サーブレットをインストールする前に、お使いの Web サーバのマニュア ルを読み、サーバ固有の要件があるか確認してください。プロキシ サーブレットを インストールするには、以下の手順を実行します。 1. 2. 4-18 Web サーバ構成における、プロキシ サーブレットに対する別名とディレク トリを定義します。 JDBC ドライバは、クライアントからの HTTP 要求を以下のプロキシ サー ブレットに振り向けます。 http://<your-web-server:port>/<pathname>/RBWProtocol <RBWProtocol> はプロキシ サーブレット、<pathname> はプロキシ サーブレットへのパスです。サーブレットを正しく構成する方法について は、使用している Web サーバのマニュアルを参照してください。 RBWProtocol.class、SocketState.class、ConnectionPool.class、 TraceFile.class、Errors.class の各ファイルを、ステップ 1 で定義したサー ブレット ディレクトリにコピーします。 これらのクラス ファイルは、JDBC 製品パッケージがインストールされる と、ディレクトリ proxy に格納されます。 Client Installation and Connectivity Guide Red Brick JDBC プロキシ サーブレットのインストール 3. 必要に応じて、デフォルトのサーブレット プロパティを変更します。変更 するには、ファイル zone.properties を修正します。 ファイル zone.properties の中で、Servlet Init パラメータが指定されている 個所を見つけ、servlet.RBWProtocol.initArgs=<comma-separated list of name=value pairs> というリストを追加します。 以下の例は Servlet Init パラメータの構文です。 servlet.[classname].initArgs=[name]=[value],[name]=[value] ,... デフォルト値はありません。 たとえば以下のプロパティは、クラス名によって呼び出される各サーブ レットの初期化パラメータを定義しています。 servletservlet,RBWProtocol.initArgs=logfilename=C:¥Program Files¥ApacheGroup¥ApacheJServ¥logs¥RBWProtocol.log,logging=on, maxconnections=50,timeout=180 ♦ サーブレットのプロパティ サーブレットを使う場合、初期化パラメータを指定する機能など、いくつかの構成 作業を行う必要があります。以下の表は、サーブレットのプロパティの一覧です。 サーブレットの プロパティ 説明 logfilename ログ記録が有効になっている場合、このファイルにログ デー タが書き込まれます。 logging サーブレットによって処理されたコマンドのログが高水準で 記録されます。このプロパティは、オンかオフのどちらかに 設定します。デフォルト値はオフです。 maxconnections アクティブな接続の最大数。 timeout 分単位の値。サーブレットへの接続数が上限に達したときに 新しい接続要求が発生した場合、このタイムアウト時間を経 過してもアイドル状態にある接続が解除され、空いたスロッ トが接続要求元クライアントに割り当てられます。 Red Brick JDBC Driver 入門 4-19 HTTP プロキシの指定 HTTP プロキシの指定 JDBC プロキシ サーブレットの構成が完了したら、アプレットまたはアプリケー ションの URL の末尾に以下の指定を追加します。 PROXY=http://webserver-host:port-number 以下に例を示します。 jdbc:rbw:protocol:123.45.67.89:1533/testdb/?UID=john&PID=test& PROXY=http://9.87.65.432:9000 jdbc:rbw:protocol は Red Brick JDBC Driver に対する URL です。 123.45.67.89:1533/testdb/?UID=john&PID=test はデータベース サーバに対する接続 情報、PROXY は Red Brick JDBC Driver がサポートしている接続プロパティです。 一部の Web サーバでは、その Web サーバが起動されたとき、または、アプレット / アプリケーション接続オブジェクトの URL の中でその Web サーバが初めて参照さ れたときに、プロキシがロードされます。 プロキシ サーブレットの詳細については、以下の Web サイトを参照してください。 ■ ■ 4-20 http://www.javasoft.com http://www.apache.org Client Installation and Connectivity Guide 第5章 を 使用したプログラミング この章について . . . . . . . . . . . . . . . . 5-3 接続の確立 . . . . . . . . . . . . . . . . . DriverManager クラスを使用して接続を確立する . . . Red Brick JDBC Driver のロード . . . . . . . . 接続の作成 . . . . . . . . . . . . . . . サポートされる Red Brick 接続プロパティ . . . . DataSource オブジェクトを介したデータベース接続 . . サポートされている Connection メソッド . . . . . サポートされている DataSource メソッド . . . . . サポートされている ConnectionPoolDataSource メソッド サポートされている PooledConnection メソッド . . . サポートされている ConnectionEventListener メソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3 5-4 5-4 5-5 5-8 5-9 5-10 5-11 5-12 5-12 5-12 データベースのメタデータへのアクセス . . . . . 5-13 . . . . . . . . . . . . . . . . 5-14 5-14 5-15 5-15 5-16 5-17 5-18 5-19 データ型のマッピング . . . . . . . . . . . . . . . . . IBM Red Brick Warehouse データ型と JDBC データ型のマッピング . サポートされる ResultSet.getXXX() メソッド . . . . . . . . 5-19 5-19 5-21 . . . . . . . . . データベースへのアクセス . . . . . . . . . . . 文の実行 . . . . . . . . . . . . . . . . サポートされている Statement メソッド . . . . ResultSet オブジェクトでのクエリ結果の受信 . . . サポートされている ResultSet メソッド . . . . サポートされている ResultSetMetaData メソッド . PreparedStatement オブジェクトを使用したクエリの例 サポートされている PreparedStatement メソッド . . . . . . . . . . . . . . . . . . . . . . . . . . SQLException クラスによるエラー処理 . . . 5-23 グローバル化 . . . . . . . . . . . . . . . . . . . . グローバル化のサポート . . . . . . . . . . . . . . IBM Red Brick Warehouse におけるロケールのサポート . . . . . . . 5-24 5-24 5-25 取り消し処理 . . . . . . . . . . . . . . . . . . . . . 5-27 スカラ関数 . . . . . . . . . . . . . . . . . . . . 5-28 トランザクションの処理 . . . . . . . . . . . . . . . . . 5-31 . . . . . . . . . . . . . 5-31 . . . . . . . . . . . . . 5-32 . ドライバのバージョン番号の取得 サンプル コード ファイル . . 5-2 Client Installation and Connectivity Guide . . . . . . . . . . この章について この章では、JDBC API を使って以下の処理を行うための基本的なプログラミング 情報について説明します。 ■ ■ ■ Red Brick JDBC Driver を介して IBM Red Brick Warehouse データベースに接 続する。 データベースのデータを要求する。 データベースから戻された結果を処理する。 接続の確立 IBM Red Brick Warehouse データベースからデータを取得するには、事前にそのデー タベースとの接続を確立しておく必要があります。JDBC 2.0 では、接続を確立する 方法として以下の 2 種類があります。 ■ まず、DriverManager クラスを使って Red Brick JDBC Driver の Driver クラ スをロードおよび登録し、次に、DriverManager.getConnection() メソッド を使ってデータベースとの接続を確立します。 JDBC 1.x を使う場合、データベースとの接続を確立するにはこの方法しか ありません。5-4 ページ「DriverManager クラスを使用して接続を確立する」 を参照してください。 ■ JJava Naming and Directory Interface (JNDI) とともに javax.sql.DataSource イ ンターフェイスを実装します。 JDBC 2.0 を使う場合は、この方法のほうが適切です。5-9 ページ 「DataSource オブジェクトを介したデータベース接続」を参照してくださ い。 Red Brick JDBC Driver を使用したプログラミング 5-3 DriverManager クラスを使用して接続を確立する DriverManager クラスを使用して接続を確立する DriverManager クラスを使って IBM Red Brick Warehouse データベースとの接続を確 立するには 1. 2. Red Brick JDBC Driver をロードします。 特定のデータベースへの接続を作成します。 Red Brick JDBC Driver のロード このドライバをロードするには、以下のコード例のように Class.forName() メソッド を使用します。このコード例は、demo1.java プログラムの一部です。 try { Class.forName("redbrick.jdbc.RBWDriver"); } catch (Exception e) { System.out.println("Error:failed to load Redbrick JDBC driver"); // e.printStackTrace(); return; } Class.forName() メソッドは、Red Brick JDBC Driver における Driver クラスの実装で ある RBWDriver をロードします。RBWDriver クラスはドライバのインスタンスを 作成し、DriverManager クラスに登録します。 ドライバのロードが終了すると、データベースに接続できます。 Windows Microsoft Internet Explorer で表示するアプレットを作成する場合、プラットフォーム の非互換性に伴う問題を回避するため、Red Brick JDBC Driver を明示的に登録しな ければならないことがあります。 ドライバを明示的に登録するには DriverManager.registerDriver() メソッドを使用し ます。次はそのコードの例です。 DriverManager.registerDriver((Driver)Class.forName( "redbrick.jdbc.RBWDriver").newInstance()); ♦ 5-4 Client Installation and Connectivity Guide DriverManager クラスを使用して接続を確立する 接続の作成 DriverManager.getConnection() メソッドを使って、データベースへの接続を作成し ます。このメソッドによって Connection オブジェクトが作成されます。あとでこの オブジェクトを使って、SQL 文の作成、SQL 文のデータベースヘの送信、および結 果の処理を行います。 DriverManager クラスはどのドライバが使用可能かを管理し、対応するドライバと データベースの間の接続要求を処理します。getConnection() メソッドの url パラ メータはデータベースの URL で、サブプロトコル ( データベース コネクティビティ 機構 )、データベース識別子、およびプロパティの一覧を指定します。 getConnection() メソッドの 2 つ目のパラメータである property はプロパティの一覧 です。プロパティ リストの指定方法の例については、5-7 ページ「Properties クラス による接続プロパティの指定」を参照してください。 以下の例は、testDB というデータベースに接続するデータベース URL を示してい ます。 jdbc:rbw:protocol:123.45.67.89:5050/testDB/?UID=testuser&PWD=testpasswd 次の節では、データベース URL 構文の詳細について説明します。 以下のコードの例は Red Brick JDBC Driver を使用して testDB データベースに接続す る方法を示しています。簡略にするため、プログラムがコマンド ラインから実行さ れているときに、url 変数がパラメータとして渡されると想定しています。 try { conn = DriverManager.getConnection(url); } catch (SQLException e) { System.out.println( "ERROR:failed to connect!"); System.out.println( "ERROR: " + e.getMessage()); // e.printStackTrace(); return; } データベース URL のフォーマット Red Brick JDBC Driver は、以下のフォーマットの URL をサポートしています。 jdbc:rbw:protocol:[{ip-address|host-name}: portnumber][/dbName/][?UID=user&PWD=password][&name=value]... Red Brick JDBC Driver を使用したプログラミング 5-5 DriverManager クラスを使用して接続を確立する 上記の構文の説明は以下のとおりです。 ■ ■ ■ ■ 中カッコ ({}) と縦線 ( | ) の組み合わせは変数に複数の選択肢があることを 表します。 山形カッコ (< >) で囲んだ文字列は変数の値を表します。 角カッコ ([]) はオプションの値を表します。 かっこで囲まれていない語句や記号は必須です ( 例 : jdbc:rbw:protocol )。 重要 : データベース URL では空白のスペースは使用できません。 データベース URL の変数部分については、以下の表を参照してください。 データベース URL 変数 必須 説明 <ip-address> はい データベース サーバを実行しているコン ピュータの IP アドレスまたはホスト名 <host-name> IP アドレスの例は 123.45.67.89 ホスト名の例は [email protected] <port-number> はい データベース サーバのポート番号 <database> はい 接続先のデータベースの名前 UID=user はい データベースに接続するユーザの名前 PWD=password はい user によって指定されたユーザのパスワード <name>=<value> いいえ name 変数に含まれる Red Brick 接続プロパ ティの value を指定する名前−値ペア。name 変数は大文字と小文字を区別します。 Red Brick JDBC Driver は、データベース URL または接続プロパティの一覧から Red Brick 接 続プロパティを読み込みます。サポートされ る Red Brick 接続プロパティの一覧について は、5-8 ページの表を参照してください。 警告 : IBM Red Brick Warehouse バージョン 6.20 は、3 つのポート番号を使用しま す。この 3 つとは、指定されたポート番号、および rbw.config ファイルのローカル の各 SERVER エントリに対する 2 つのポート番号です。たとえば、rbw.config 内に RB_HOST SERVER 5050 というエントリがある場合、ポート 5050、5051、5052 が使 用されます。これらのポートの 1 つが他のアプリケーションにすでに割り当てられ ている場合、データベース サーバは正しく起動しません。 5-6 Client Installation and Connectivity Guide DriverManager クラスを使用して接続を確立する URL では以下の部分のみが必須です。 jdbc:rbw:protocol ほかの値はすべて Properties クラスを使用して指定できます。 Properties クラスによる接続プロパティの指定 Red Brick JDBC Driver は、接続データベース URL の名前−値ペア、または接続プロ パティの一覧のいずれかからだけ、Red Brick 接続プロパティを読み込みます。ドラ イバはユーザの環境を調べずに接続プロパティを決めます。サポートされる Red Brick 接続プロパティの一覧は、5-8 ページ「サポートされる Red Brick 接続プロパ ティ」を参照してください。 接続データベース URL の名前−値ペアに Red Brick 接続プロパティを指定する方法 は、5-5 ページ「データベース URL のフォーマット」を参照してください。 プロパティ一覧を使って Red Brick 接続プロパティを指定するには、 java.util.Properties クラスを使ってプロパティの一覧を作成します。このプロパ ティ一覧には、UID および PWD などの Red Brick 接続プロパティが指定されること もあります。プロパティ一覧ができたら、これを DriverManager.getConnection() に 2 つめのパラメータとして渡します。この場合、URL にプロパティ一覧を指定する 必要はありませんが、1 つめのパラメータとして、データベース URL を指定する必 要があります。 以下の例の DriverManager.getConnection() メソッドは、2 つのパラメータをとりま す。データベース URL とプロパティ一覧です。この例では、5-5 ページ「接続の作 成」の例に似た接続が作成されます。 try { Class.forName("redbrick.jdbc.RBWDriver"); } catch (Exception e) { System.out.println("ERROR:failed to load Red Brick JDBC Driver."); } try { Properties pr = new Properties(); pr.put("DATABASE","aroma"); conn = DriverManager.getConnection(newUrl, pr); } catch (SQLException e) { System.out.println("ERROR:failed to connect!"); } Red Brick JDBC Driver を使用したプログラミング 5-7 DriverManager クラスを使用して接続を確立する サポートされる Red Brick 接続プロパティ 以下の表は、Red Brick JDBC Driver がサポートしている Red Brick 接続プロパティの 一覧です。 サポートされる Red Brick 接続プロパティ 説明 UID データベースのユーザ名 PWD データベースのパスワード DATABASE 論理データベース名 SERVER IBM Red Brick Warehouse を実行しているコンピュータ のホスト名 PORT IBM Red Brick Warehouse を実行しているポート番号 PROXY 3 層接続のゲートウェイ アドレス HTTP プロトコルの場合は http://webhost:port/ 暗号化をサポートする HTTPS プロトコルの場合は https://webhost:port/ この URL にはデフォルトとして拡張子 servlet/RBWProtocol が追加されます。このため、サー ブレットの別名は常に servlets ディレクトリを参照して いる必要があります。また、RBWProtocol サーブレット は servlets ディレクトリに存在している必要がありま す。 CLIENT_LOCALE 5-8 Client Installation and Connectivity Guide サポートされているロケールの一つを含むことができ ます。 DataSource オブジェクトを介したデータベース接続 DataSource オブジェクトを介したデータベース接続 JDBC 2.0 では、Class.forName() および DriverManager.getConnection() の各メソッド を使用するより、DataSource オブジェクトを使用してデータベースと接続する方 が、アプリケーション コードの移植と保守が簡単です。 ■ ■ DataSource オブジェクトを使用してデータベースと接続する場合は、アプ リケーションでは、宛先データベースの論理名だけが必要です。 論理名を使用して、宛先データベースを調べ、そのデータベースとの接続 に必要な JDBC ドライバの名前を調べます。この結果、アプリケーション でコードを変更しなくても、JDBC ドライバの名前と宛先データベースの 名前をサーバ上で変更できます。 Class.forName()、および DriverManager.getConnection() の各メソッドを使 用して、データベースと接続する場合、アプリケーションでは、JDBC ド ライバの直接コーディング名、およびデータベースの直接コーディング URL が必要になります。 DataSource オブジェクトを通してアプリケーションがデータベースと接続する場合 は、接続する前に、システム管理者が、Java Naming and Directory Interface (JNDI) に DataSource オブジェクトを登録する必要があります。DataSource オブジェクトを JNDI サービスプロバイダに登録する方法、および DataSource オブジェクトを使っ てデータベースに接続する方法については、『JDBC API Tutorial and Reference, Second Edition』を参照してください。 アプリケーションでは、DataSource オブジェクトを通してデータベースと接続する 場合に、以下のコードを使用できます。 // Get an initial JNDI context for locating the driver and // database Context ctext = new InitialContext(); // Get a DataSource object for the driver and database // associated with a logical name DataSource ds = (DataSource)ctext.lookup("jdbc/logical_name_for_DB"); // Now, get the connection Connection conn = ds.getConnection("username","password"); Red Brick Datasource Administrator ツールを利用すれば、DataSource オブジェクトの 作成と管理を簡素化できます。詳細については、6-6 ページを参照してください。 Red Brick JDBC Driver を使用したプログラミング 5-9 サポートされている Connection メソッド サポートされている Connection メソッド DriverManager クラスを使用する場合でも、DataSource オブジェクトを使用する場 合でも、IBM Red Brick Warehouse との接続を確立すると、ユーザ セッションを表す Connection オブジェクトを取得します。そのあと、Connection オブジェクトを使用 して、データベースに送信する要求を定義し、この要求をデータベースに送信しま す。 Red Brick JDBC Driver は、Connection インターフェイスの以下のメソッドをサポー トしています。 サポートされている Connection メソッド void clearWarnings() void close() Statement createStatement() Statement createStatement(int resultSetType, int resultSetConcurrency) 制限 :resultSetType は TYPE_FORWARD_ONLY、 resultSetConcurrency は CONCUR_READ_ONLY の必要があります。 boolean getAutoCommit() String getCatalog() DatabaseMetaData getMetaData() int getTransactionIsolation() SQLWarning getWarnings() boolean isClosed() boolean isReadOnly() String nativeSQL(String sql) PreparedStatement prepareStatement(String sql) PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) 制限 :resultSetType は TYPE_FORWARD_ONLY、 resultSetConcurrency は CONCUR_READ_ONLY の必要があります。 void setReadOnly(boolean readOnly) 5-10 Client Installation and Connectivity Guide サポートされている DataSource メソッド サポートされている DataSource メソッド Red Brick JDBC Driver は、javax.sql.DataSource インターフェイスのメソッドをすべ てサポートしています。ただし、以下のメソッドは除きます。 [Unsupported:]public void setLoginTimeout(int seconds) さらに、Red Brick JDBC Driver が javax.sql.DataSource を実装すると、以下の表に示 すように、標準データ ソースと接続プロパティに getXXX() と setXXX() の各メソッ ドを使用できます。javax.sql.ConnectionPoolDataSource インターフェイスには、同 じ getXXX() メソッドと setXXX() メソッドが実装されます。 javax.sql.DataSource および javax.sql.ConnectionPoolDataSource の getXXX() メソッド javax.sql.DataSource および javax.sql.ConnectionPoolDataSource の setXXX() メソッド public String getDatabaseName() public void setDatabaseName(String database) public String getDescription() public void setDescription(String description) public void String getHostName() public void setHostName(String hostName) public String getLocale() public void setLocale(String clientLocale) public String getPassword() public void setPassword(String passwd) public int getPortNumber() public void setPortNumber(int port) public String getProxy() public void setProxy(String proxy) public String getTraceFile() public void setTraceFile(String traceFile) public String getTraceLevel() public void setTraceLevel(String traceLevel) public String getUser() public void setUser(String userName) Red Brick JDBC Driver を使用したプログラミング 5-11 サポートされている ConnectionPoolDataSource メソッド サポートされている ConnectionPoolDataSource メソッド Red Brick JDBC Driver は、javax.sql.ConnectionPoolDataSource インターフェイスのメ ソッドをすべてサポートしています。さらに、ドライバが javax.sql.ConnectionPoolDataSource を実装すると、標準データ ソースと接続プロパ ティに getXXX() と setXXX() の各メソッドを使用できます。またドライバは、前の 節の表に示されるとおり javax.sql.DataSource インターフェイス内のこれらのメ ソッドも実装しています。 サポートされている PooledConnection メソッド Red Brick JDBC Driver は、javax.sql.PooledConnection インターフェイスのメソッド をすべてサポートしています。 サポートされている ConnectionEventListener メソッド Red Brick JDBC Driver は、javax.sql.ConnectionEventListener インターフェイスで定 義されている以下の 2 つのメソッドをサポートしています。 public void connectionClosed(connectionEvent event) public void connectionErrorOccured(connectionEvent event) 5-12 Client Installation and Connectivity Guide データベースのメタデータへのアクセス データベースのメタデータへのアクセス DatabaseMetaData インターフェイスのメソッドは、データベースに関するメタ データを戻します。このデータにアクセスするには、データベースの IBM Red Brick Warehouse ACCESS_SYSINFO タスクの許可を受けている必要があります。 DatabaseMetaData インターフェイスは、多数のメソッドを含んでいます。以下の 表に、Red Brick JDBC Driver にサポートされていないメソッドを示します。これら のメソッドは実装されていますが、戻す値は NULL または FALSE です。 サポートされていない DatabaseMetaData メソッド ResultSet getCatalogs() ResultSet getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) ResultSet getProcedures(String catalog, String schemaPattern, String procedureNamePattern) ResultSet getSchemas() ResultSet getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) boolean supportsBatchUpdates() schema および catalog のパラメータが指定されたサポート済み DatabaseMetaData メ ソッドを使用する場合には、どちらのパラメータにも NULL 値を割り当てる必要が あります。 Red Brick JDBC Driver を使用したプログラミング 5-13 データベースへのアクセス データベースへのアクセス この節では、Red Brick JDBC Driver を使用して、データベースにアクセスし、結果 を処理する方法を説明します。 文の実行 Statement オブジェクトは、SQL 文をデータベースに送信します。また、文オブ ジェクトを作成して、SQL 文に対応した適切な方法で実行します。以下のコード は、Connection.createStatement() メソッドを使用して文オブジェクトを作成する方 法を示しています。 Statement stmt = conn.createStatement(); SELECT 文では、executeQuery() メソッドを使用して、Statement オブジェクトのク エリをデータベースに送信します。テーブルを作成、または変更する文の場合は executeUpdate() を使用します。 以下の例では、まず、単一列が指定されている testTable テーブルに、行を 1 行挿入 します。そのあと、このテーブルに対して SELECT 文を実行します。 int updateCount = stmt.executeUpdate("insert into testTable values(12);"); ResultSet results = stmt.executeQuery("select * from testTable;"); while (results.next()) { int no = results.getInt(1); System.out.println(no); } results.close(); stmt.close(); 前述の例と同様に、SQL 文の結果の処理が終了したら、必ず Statement.close() メ ソッドを使用して、この文を実行した Statement オブジェクトを明示的にクローズ します。この結果、この SQL 文に割り当てられたリソースの割り当てが解除されま す。 5-14 Client Installation and Connectivity Guide ResultSet オブジェクトでのクエリ結果の受信 サポートされている Statement メソッド Red Brick JDBC Driver は、Statement インターフェイスの主なメソッドをサポートし ています。以下の表に、サポートしていないメソッドを示します。これらのメソッ ドは実装されていますが、戻す値は NULL または FALSE です。 サポートされていない Statement メソッド void addBatch(String sql) void clearBatch() int[] executeBatch() int getFetchSize() void setFetchDirection(int direction) void setFetchSize(int rows) void setMaxFieldSize(int max) ドライバは Statement.execute() メソッドを部分的にサポートしています。Red Brick の実装では、Statement.execute() は単一の ResultSet オブジェクトだけ戻します。 JDBC 2.0 API 仕様では、Statement.execute() は、複数の ResultSet オブジェクトを戻 すこともできます。 ResultSet オブジェクトでのクエリ結果の受信 SELECT 文の結果は ResultSet オブジェクトが受け取ります。対応する getXXX メ ソッドを使用して、各行の列の値を検索します。ResultSet.next() メソッドを使用し て、以下の行を検索します。ResultSet.previous() メソッドは、JDBC 2.0 で採用され るため、Red Brick JDBC Driver ではサポートしていません。 リザルト セットの処理が終了したら、ResultSet.close() メソッドを使用して、明示 的に、ResultSet オブジェクトをクローズし、このオブジェクトに確定されたリソー スの割り当てを解除します。 Red Brick JDBC Driver を使用したプログラミング 5-15 ResultSet オブジェクトでのクエリ結果の受信 サポートされている ResultSet メソッド Red Brick JDBC Driver は、以下の表に示す ResultSet メソッドをサポートしていま す。 サポートされている ResultSet メソッド void clearWarnings() void close() int findColumn(String columnName) すべての getAsciiStream() メソッド 制限 : 文字 (CHAR) 型データだけ、サポートします。 BigDecimal getBigDecimal(int columnIndex) BigDecimal getBigDecimal(int columnIndex, int scale) ( 廃止予定 ) BigDecimal getBigDecimal(String columnName) BigDecimal getBigDecimal(String columnName, int scale) ( 廃止予定 ) すべての getBoolean() メソッド すべての getByte() メソッド すべての getCharacterStream() メソッド int getConcurrency() String getCursorName() すべての getDate() メソッド すべての getDouble() メソッド すべての getFloat() メソッド すべての getInt() メソッド すべての getLong() メソッド ResultSetMetaData getMetaData() (1/2) 5-16 Client Installation and Connectivity Guide ResultSet オブジェクトでのクエリ結果の受信 サポートされている ResultSet メソッド Object getObject(int columnIndex) Object getObject(String columnName) int getRow() すべての getShort() メソッド Statement getStatement() すべての getString() メソッド すべての getTime() メソッド Java の Time クラスの制限により、ドライバは、正確な値を取得できません。たと えば、列の型が Time (4) で、入力する値が 12:13:12.1234 の場合、time オブジェク トは 12:13:12 しか使用できません。これは、Java の制限であり、getString() メ ソッドは、Time 列型に応じて 12:13:12.1234 を戻すように拡張されています。 すべての getTimestamp() メソッド int getType() すべての getUnicodeStream() メソッド ( 廃止予定 ) 制限 : 文字 (CHAR) 型データだけ、サポートします。 SQLWarning getWarnings() boolean next() boolean wasNull() (2/2) サポートされている ResultSetMetaData メソッド ResultSetMetaData オブジェクトを使用すれば、ResultSet の列の型とプロパティに 関する情報を取得できます。Red Brick JDBC Driver は、ResultSetMetaData インター フェイスのメソッドをすべてサポートしています。ただし、以下のメソッドは除き ます。 String getCatalogName(int column) このメソッドは実装されていますが、空の文字列 ("") しか戻しません。これは、 IBM Red Brick Warehouse でカタログがサポートされていないからです。 Red Brick JDBC Driver を使用したプログラミング 5-17 PreparedStatement オブジェクトを使用したクエリの例 PreparedStatement オブジェクトを使用したクエリの 例 PreparedStatement オブジェクトを使用すると、同じ SQL 文をパラメータを変えて 何度も実行できます。また、このオブジェクトはパラメータのない文にも使用でき ます。 以下の例では、PreparedStatement オブジェクトを使用して、入力パラメータが 1 つある SELECT 文を実行する方法を示します。 try { PreparedStatement pstmt = conn.prepareStatement( "Select * from T where ColA = ?;"); pstmt.setInt(1, 11); ResultSet r = pstmt.executeQuery(); while(r.next()) { short i = r.getShort(1); System.out.println("Select:column ColA = " + i); } r.close(); pstmt.close(); } catch (SQLException e) { System.out.println("ERROR:" + e.getMessage()); } 前述の例と同様に、PreparedStatement オブジェクトを使用して SQL 文を実行した ら、必ず結果の処理が終了した時点で、PreparedStatement.close() メソッドを使用 して、明示的に PreparedStatement オブジェクトをクローズします。この結果、こ の SQL 文に割り当てられたリソースの割り当てが解除されます。 Red Brick JDBC Driver がサポートしている getXXX() メソッドについては、5-21 ペー ジ「サポートされる ResultSet.getXXX() メソッド」を参照してください。 5-18 Client Installation and Connectivity Guide データ型のマッピング サポートされている PreparedStatement メソッド Red Brick JDBC Driver は、PreparedStatement インターフェイスの大半のメソッドを サポートしています。以下の表に、サポートしていないメソッドを示します。これ らのメソッドは実装されていますが、戻す値は NULL または FALSE です。 サポートされていない PreparedStatement メソッド void setBinaryStream(int parameterIndex, InputStream x, int length) void setBytes(int parameterIndex, byte[] x) void setClob(int i, Clob x) void setRef(int i, Ref x) void setUnicodeStream(int parameterIndex, InputStream x, int length) データ型のマッピング この節では Java プログラムで定義されているデータ型と、IBM Red Brick Warehouse データベースでサポートされるデータ型の間のマッピングについて述べます。 IBM Red Brick Warehouse データ型と JDBC データ型 のマッピング データベース ベンダが異なると、サポートする SQL のデータ型も異なるため、 JDBC API では、java.sql.Types クラスで一般的な SQL データ型のセットが定義され ています。JDBC API を使用してデータベースに接続する Java プログラムでは、一 般的な SQL 型を基準とする JDBC API データ型を使用します。 Red Brick JDBC Driver を使用したプログラミング 5-19 IBM Red Brick Warehouse データ型と JDBC データ型のマッピング 以下の表は、各 JDBC API データ型がマップされるデータ型を示します。 JDBC API の データ型 Red Brick Server のデータ型 ARRAY サポートなし BIGINT サポートなし BINARY サポートなし BIT サポートなし BLOB サポートなし CHAR CHAR CLOB サポートなし DATE DATE DECIMAL DECIMAL DISTINCT サポートなし DOUBLE DOUBLE PRECISION, FLOAT FLOAT DOUBLE PRECISION, FLOAT INTEGER INTEGER INTEGER SERIAL JAVA_OBJECT サポートなし LONGVARBINARY サポートなし コメント Java INTEGER に Red Brick SERIAL データ型 が含まれているかどう か検出する場合は、 ResultSetMetaData.isA utoIncrement() メソッ ドを呼び出すことがで きます。データ型がシ リアル (SERIAL) 型の 場合、 ResultSetMetaData.isA utoIncrement() は true を戻します。 (1/2) 5-20 Client Installation and Connectivity Guide サポートされる ResultSet.getXXX() メソッド JDBC API の データ型 Red Brick Server のデータ型 LONGVARCHAR サポートなし NUMERIC DECIMAL OTHER サポートなし REAL REAL REF サポートなし SMALLINT SMALLINT STRUCT サポートなし TIME TIME TIMESTAMP TIMESTAMP TINYINT TINYINT VARBINARY サポートなし VARCHAR VARCHAR コメント (2/2) 重要 : IBM Red Brick Warehouse では拡張データ型はサポートされていません。 サポートされる ResultSet.getXXX() メソッド データベースからプログラムにデータを転送するには、ResultSet.getXXX() メソッ ドを使用します。たとえば、データ型 CHAR の列に格納されているデータを取得す るには、ResultSet.getString() メソッドを使用します。 以下の表に、Red Brick JDBC Driver がサポートしている ResultSet.getXXX() メソッ ドを示します。また、java.sql.Types クラスで定義された標準 JDBC API データ型と、 こうしたメソッドが対話する方法も示します。 Red Brick JDBC Driver を使用したプログラミング 5-21 サポートされる ResultSet.getXXX() メソッド この表では、Red Brick JDBC アプリケーションが特定 JDBC データ型の値を取得す るのに使用する推奨 getXXX() メソッドは、セル内の太字フォントの大文字 X で識 別されています。太字でない小文字の x は、getXXX() メソッドが、特定データ型で 使用される場合に、例外をスローせずに、その範囲を超える値を切り捨てることを 示します。たとえば、getByte() は、Java TINYINT データ型の列の値を取得する推奨 メソッドです。getByte() を使用しても、Java INTEGER データ型の列の値を取得で きます。ただし、最初のバイトを超える非ゼロ値は失われ、このとき例外は生成さ れません。 TIME TIMESTAMP x x getString()2 x x x x x x x x X x x x x getDate() x1 x X getTime() x1 x getTimestamp() x 1 x getAsciiStream() (deprecated) x x getUnicodeStream() x x VARCHAR x CHAR x NUMERIC x DECIMAL x DOUBLE x FLOAT x REAL x INTEGER x SMALLINT getBoolean() getXXX() メソッド TINYINT DATE java.sql の JDBC API データ型 getByte() X x x x x x x x x1 x getShort() x X x x x x x x x1 x getInt() x x X x x x x x x1 x 1 getLong() x x X x x x x x x x getFloat() x x x X x x x x x1 x getDouble() x x x x X X x x x1 x getBigDecimal() x x x x x x X X x1 x 1 x X x X (1/2) 5-22 Client Installation and Connectivity Guide SQLException クラスによるエラー処理 x x x x x x x x TIMESTAMP x x TIME x x DATE getObject() VARCHAR getCharacterStream() CHAR NUMERIC DECIMAL DOUBLE FLOAT REAL INTEGER SMALLINT getXXX() メソッド TINYINT java.sql の JDBC API データ型 x x2 x 1 列値内のバイト数が、getXXX() メソッドで予測されたバイト数と一致しない場 合、SQLException が生成されます。たとえば、複数の文字が指定された文字 (CHAR) 型列で getByte() を使用すると、このメソッドは、値を切り捨てるのでは なく、例外をスローします。 2 TIME および TIMESTAMP データ型のスケール値を取得するには、getString() メ ソッドを使用する必要があります。 (2/2) SQLException クラスによるエラー処理 Java プログラムでは、エラーの処理に JDBC API の SQLException クラスを使用しま す。 Red Brick JDBC Driver か、データベース サーバのどちらかでエラーが生じると SQLException が発生します。SQLException クラスの以下のメソッドを使用して、 エラー メッセージのテキスト、エラー コード、および SQLSTATE 値を検索しま す。 ■ ■ ■ getMessage() エラーの内容を返します。SQLException は java.util.Throwable クラスから このメソッドを受け継ぎます。 getErrorCode() データベース サーバ、またはエラー コードに対応する整数値を返します。 getSQLState() SQLSTATE 値を説明する文字列を返します。この文字列は X/Open SQLSTATE 規則に従います。 Red Brick JDBC Driver が生成するエラー メッセージ、および全データベース メッ セージの一覧については、『Messages and Codes Reference Guide』を参照してくださ い。 Red Brick JDBC Driver を使用したプログラミング 5-23 グローバル化 次に、try-catch ブロックを使用して Red Brick JDBC Driver やデータベース サーバの エラーを検出するための SQLException クラスの使用方法の例を示します。 try { PreparedStatement pstmt = conn.prepareStatement( "Select * from T where ColA = ?;"); pstmt.setInt(1, 11); ResultSet r = pstmt.executeQuery(); while(r.next()) { short i = r.getShort(1); System.out.println("Select:column ColA = " + i); } r.close(); pstmt.close(); } catch (SQLException e) { System.out.println("ERROR:" + e.getMessage()); } グローバル化 グローバル化によって、ユーザが所在する国やユーザの言語に関係なくソフトウェ アを開発し、これを複数の国や地域で使用できるようにローカライズできます。 Red Brick JDBC Driver では、ロケールやコード セットの異なるデータベースへのア クセスを可能にすることにより、Java JDK 1.2 の国際化機能を拡張します。 グローバル化のサポート Java には、グローバル アプリケーションの開発に対応した API のセットが豊富に装 備されています。これらグローバル化に対応した API は Unicode 2.0 のコード セッ トに基づいているため、テキスト、数字、日付、通貨、ユーザ定義のオブジェクト を、どの国の表記方法にも対応させることができます。 5-24 Client Installation and Connectivity Guide IBM Red Brick Warehouse におけるロケールのサポート グローバル化対応 API は以下の 3 つのパッケージに集約されています。 ■ ■ ■ java.text パッケージには、ロケールを区別してテキストを扱うためのクラ スやインターフェイスが収録されています。 java.io パッケージには、Unicode 以外の文字データをインポート、エクス ポートするための新規のクラスが収録されています。 java.util パッケージにはロケール クラス、ローカライゼーション サポート クラス、および日付と時刻を扱う新規クラスが収録されています。 JDK グローバル化サポートの詳細については、以下の Web サイトを参照してくださ い。 http://java.sun.com/ このサイトで globalization を検索してください。 警告 : JDK ロケールと JDK コード セットの間には何のつながりもありません。こ れらは必ず一致させておく必要があります。たとえば、日本のロケールである ja_JP を選んだ場合、SJIS コード セットがもっとも適していることを示す Java メ ソッドはありません。 IBM Red Brick Warehouse におけるロケールの サポート Java ではグローバルにクライアント ロケールを指定することはできませ ん。デフォルトのクライアント ロケールを使用するか、グローバル化関 連メソッドごとにパラメータとしてロケールを指定する必要があります。 Red Brick JDBC Driver は、接続パラメータとして CLIENT_LOCALE をと ります。CLIENT_LOCALE が指定されていない場合は、 Locale.getDefault() で獲得されたデフォルトのロケールを使用します。 CLIENT_LOCALE は、データベースのロケール指定とは異なり、言語とテリトリに 関する情報だけを含み、コード ページやソート順などに関する情報は含みません。 データベースのロケールは、rbw.config ファイルのエントリで指定されます。たと えば、デフォルト ロケール設定は以下のようになります。 NLS_LOCALE LOCALE English_UnitedStates.US-ASCII@Binary フォーマットは以下のようになります。 language_territory.code_page@sort_order CLIENT_LOCALE は、データベースに接続されているクライアントのロケールを指 定する接続パラメータのオプションです。ロケールを指定する場合、フォーマット は <language_code>_<country_code> となり、<language_code> には小文字 2 文字の コード、<country_code> には大文字 2 文字のコードを指定します。 Red Brick JDBC Driver を使用したプログラミング 5-25 IBM Red Brick Warehouse におけるロケールのサポート Red Brick JDBC Driver は CLIENT_LOCALE を使用して、対応するエラー メッセージ ファイルのみを選択します。たとえば、値が ja_JP であれば、日本語のエラー メッセージ ファイルが選択されます。 クライアント ツールのロケールはアプリケーションによって指定されるプロパティ から決定できます。上記のフォーマットでは、CLIENT_LOCALE がプロパティのエ ントリです。 以下の表に、Red Brick JDBC Driver がサポートしているロケールを示します。 サポートされているロケール ar_SA et_EE nl_BE be_BY en_US nl_BE_EURO bg_BG fi_FI nl_NL ca_ES fi_FI_EURO nl_NL_EURO cs_CZ fr_BE no_NO da_DK fr_BE_EURO pt_BR de_AT fr_CA pt_PT de_AT_EURO fr_CH pt_PT_EURO de_CH fr_FR ro_RO de_DE fr_FR_EURO ru_RU de_DE_EURO hr_HR sh_YU el_GR hu_HU sk_SK en_AU it_CH sl_SL en_CA it_IT sq_AL en_GB it_IT_EURO sr_YU en_ZA iw_IL th_TH es_AR ja_JP tr_TR es_CL ko_KR uk_UA (1/2) 5-26 Client Installation and Connectivity Guide 取り消し処理 サポートされているロケール es_ES lt_LT zh_CN es_ES_EURO lv_LV zh_TW es_MX mk_MK (2/2) 場合によっては、日付、または数字をデータベースのロケールのフォーマットから クライアントのロケールのフォーマットに変換するために、データベースのロケー ルに相当する Java ロケール名の取得が必要になることがあります。rbw.config ファ イルに指定され、RBW_OPTIONS テーブルの DB_LOCALE オプションから取得さ れるデータベースのロケールは Red Brick 形式です。Java がサポートする、Red Brick コード セットに相当するエンコード方法については、ソフトウェア CD-ROM の ディレクトリ relnotes にあるファイル locales.pdf を参照してください。 取り消し処理 JDBC の仕様では、保留事項の操作を取り消す機能である、取り消し処理をサポー トします。アプリケーションの観念としては、同じ Statement オブジェクト または ResultSet オブジェクトは、複数のスレッドを並行して使用する必要はありません。 ただし、クエリの取り消し中、この文オブジェクトは、複数のスレッドで並行して 共有でき、Statement.cancel() の実行に使用できます。 プロセスは以下の方法でクエリを非同期に取り消すことができます。主プロセスが スレッドのインスタンスを生成して、これを Statement オブジェクトに渡し、起動 します。クエリはこのスレッドによって実行されます。 ThreadQueryRunner threadQueryRunner = new ThreadQueryRunner( statement, sbuffQuery.toString() ); threadQueryRunner.start(); これで主プロセスが System.in を読み取って、取り消し要求を意味するキー操作が あったかどうかを判断できます。キー操作を読み取り、以下のように、文の取り消 しメソッドを呼び出します。 statement.cancel(); 重要 : 処理された取り消し要求が後続の取り消し処理に対するものである場合は、 この関数は何もせずに返されます。 取り消し処理の例については、demo ディレクトリのサンプル プログラム、 JDBCTestCancelApplet.java を参照してください。 Red Brick JDBC Driver を使用したプログラミング 5-27 スカラ関数 スカラ関数 Red Brick JDBC Driver は数値、文字列、時刻、日付、システム、および変換のスカ ラ関数をサポートします。スカラ関数の意味の詳細については X/Open CLI 仕様の 「SQL Escape Syntax in Statement Objects」を参照してください。以下の表はサポートさ れている数値、文字列、時刻と日付、およびシステム関数の一覧です。 数値関数の名前 関数の戻り値 ABS(number) number の絶対値 CEILING(number) 最小の整数 >= number FLOOR(number) 最大の整数 >= number LOG(float) float の自然対数 EXP(float) float の対数関数 SIGN(number) number が < 0 の場合、-1 number が = 0 の場合、0 number が > 0 の場合、1 5-28 SQRT(float) float の平方根 文字列関数の名前 関数の戻り値 CONCAT(string1, string2) string2 を string1 に追加して形成される文字列 LCASE(string) string の大文字の文字をすべて小文字に変換 LEFT(string, count) string の左端から count 文字数分を切り出した文 字列 LENGTH(string) 末尾の空白を除く string の文字数 LTRIM(string) 先頭の空白を除く string の文字列 RIGHT(string, count) string の右端から count 文字数分を切り出した文 字列 Client Installation and Connectivity Guide スカラ関数 文字列関数の名前 関数の戻り値 RTRIM(string) 末尾の空白を除く string の文字列 SUBSTRING(string, start, length) string の start 番めの文字から length 文字数番めま でを切り出した文字列 UCASE(string) string の小文字の文字をすべて大文字に変換 時刻日付関数の名前 関数の戻り値 CURDATE() 現在の日付を表す日付値 CURTIME() 現在の現地時間を表す時間値 DAYNAME(date) date の曜日を表す文字列 DAYOFMONTH(date) date がその月の何日目かを表す 1 から 31 までの 整数 DAYOFWEEK(date) date がその週の何日目かを表す 1 から 7 までの 整数 DAYOFYEAR(date) date がその年の何日目かを表す 1 から 366 まで の整数 HOUR(time) time 中の時間の要素を表す 0 から 23 までの整数 MINUTE(time) time 中の分の要素を表す 0 から 59 までの整数 MONTH(date) date 中の月の要素を表す 1 から 12 までの整数 NOW() 現在の日付と時刻を表すタイムスタンプの値 MONTHNAME(date) date 中の月の名前を表す文字列 QUARTER(date) date がその年の第何四半期かを表す 1 から 4 ま での整数。1 は 1 月から 3 月 31 日まで。 SECOND(time) time 中の秒の要素を表す 0 から 59 までの整数 TIMESTAMPADD(interval, count, timestamp) interval の count 数を timestamp に加えて計算した タイムスタンプ。interval は以下のどれか 1 つ。 SQL_TSI_FRAC_SECOND、SQL_TSI_SECOND、 SQL_TSI_MINUTE、SQL_TSI_HOUR、 SQL_TSI_DAY、SQL_TSI_WEEK、 SQL_TSI_MONTH、SQL_TSI_QUARTER、また は SQL_TSI_YEAR Red Brick JDBC Driver を使用したプログラミング 5-29 スカラ関数 時刻日付関数の名前 関数の戻り値 TIMESTAMPDIFF(interval, timestamp1, timestamp2) timestamp1 の値を timestamp2 が上回る差の interval の数値を表す整数。interval は以下のどれ か 1 つ。SQL_TSI_FRAC_SECOND、 SQL_TSI_SECOND、SQL_TSI_MINUTE、 SQL_TSI_HOUR、SQL_TSI_DAY、 SQL_TSI_WEEK、SQL_TSI_MONTH、 SQL_TSI_QUARTER または SQL_TSI_YEAR 正常終了時に、TIMESTAMPDIFF() は値 61 を 戻し、対応する Red Brick SQL datediff() 関数が 61 を戻します。この違いは、2 つの異なる標準 に準拠したために生じます。IBM Red Brick Warehouse (datediff()) は Microsoft ODBC 規格を 実装しており、Red Brick JDBC Driver は JDBC 規 格に準拠しています。 5-30 WEEK(date) date がその年の何週目かを表す 1 から 53 までの 整数 YEAR(date) date 中の年の要素を表す整数 システム関数の名前 関数の戻り値 IFNULL(expression, value) expression が NULL のときは value。expression が NULL でないときは expression。 USER() DBMS のユーザ名 変換関数の名前 関数の戻り値 CONVERT(value, SQLtype) SQLtype に変換した値。SQLtype は以下の SQL タイプの 1 つ。CHAR、VARCHAR、DATE、 TIME、FLOAT、REAL、INTEGER、 TIMESTAMP、DECIMAL、SQL_CHAR、 SQL_VARCHAR、SQL_DATE、SQL_TIME、 SQL_FLOAT、SQL_REAL、SQL_INTEGER、 SQL_TIMESTAMP、SQL_DECIMAL Client Installation and Connectivity Guide トランザクションの処理 ドライバでどの関数がサポートされているかを調べるには、metadata メソッドを呼 び出します。たとえば、以下の呼び出しでは、サポートされている数値、文字列、 およびシステムの各関数の一覧を取得できます。 String funcList = dbmd.getNumericFunctions(); String funcList = dbmd.getStringFunctions(); String funcList = dbmd.getSystemFunctions(); トランザクションの処理 Red Brick JDBC Driver では、接続は常に AutoCommit モードで行われます。IBM Red Brick Warehouse では、COMMIT および ROLLBACK 機能はサポートされていないた め、COMMIT、ROLLBACK、または setAutoCommit() 関数は無視されます。 ドライバのバージョン番号の取得 Red Brick JDBC Driver の Version X.Y を検索する場合、JDBC API の Driver.getMajorVersion() メソッド、および DatabaseMetaData.getDriverMajorVersion() メソッドが X の値を返します。また、 Driver.getMinorVersion() メソッド、および DatabaseMetaData.getDriverMinorVersion() メソッドが Y の値を返します。 Red Brick JDBC Driver を使用したプログラミング 5-31 サンプル コード ファイル サンプル コード ファイル この節では、Red Brick JDBC Driver に付属するコードの例題を一覧にまとめて説明 します。例題は以下のディレクトリに格納されています。 $JDBC_DRIVER_HOME¥demo UNIX $JDBC_DRIVER_HOME は、Red Brick JDBC Driver がインストールされるディレク トリへのパスです。♦ %RB_JDBC_HOME%¥demo Windows %JDBC_DRIVER_HOME% は、Red Brick JDBC Driver がインストールされるディレ クトリへのパスです。♦ demo ディレクトリにある README ファイルには、さまざまなデモンストレーショ ン ファイル、および例題の実行方法が説明されています。 以下の表では、コードの例を一覧にまとめ、Java プログラムの名前をあげて、プロ グラムの動作を簡単に説明します。 デモンストレーション プログラム名 5-32 説明 DateSelect.java ロケール固有の日付フォーマットを使用。関連ファイル と手順の一覧については、README ファイルを参照し てください。 demo1.java Red Brick JDBC Driver を使ってサンプル テーブルを作成 し、パラメータを割り当てた SQL 文 (java.sql.PreparedStatement) を使ってデータを格納します。 demo2.java 簡単な SQL クエリ (SELECT *...) を実行し、 ResultSetMetaData とリザルト セットのナビゲーション方 法を使用して結果を表の形式にまとめます。 demo3.java 接続するデータベースのメタデータ情報 ( データベース 名、バージョン、テーブルなど ) を取得します。 demo4.java プロパティ一覧を使用してデータベース サーバに接続し ます。 demo5.java データベースに接続してクエリを実行する Java アプレッ トです。 demo6.java demo1.java が作成したテーブルを削除します。 Client Installation and Connectivity Guide サンプル コード ファイル デモンストレーション プログラム名 説明 JDBCTestCancelApplet.java Red Brick JDBC Driver の取り消し処理能力をテストしま す。 JDBCTestQueryProcessing.java 文の実行方法を説明し、それがクエリか更新かを判断し ます。クエリの場合、そのリザルト セットを表示しま す。更新の場合、その更新カウントを表示します。 JR.java RMI 接続による Red Brick JDBC Driver の使用方法を説明 します。関連ファイルと手順の一覧については、 README ファイルを参照してください。 Red Brick JDBC Driver を使用したプログラミング 5-33 第6章 ツール この章について . . . . . . . . . . . . . . . . . . . . 6-3 環境設定 . . . . . . . . . . . . . . . . . . . 6-4 Data Source Administrator ツール . . . . . . . . . . . . . . 6-6 JDBC Ping ツール . . . . . . . . . . . . . . 6-7 . . . . . . . . 6-2 Client Installation and Connectivity Guide この章について Red Brick JDBC Driver をインストールすると、以下に示す GUI 形式の JDBC ツール もインストールされます。 ■ ■ JDBCData Source Administrator (rbdsadmin) - JDBC データ ソースを定義およ び管理するためのプログラム JDBC Ping (rbjping) - Red Brick データベースへの接続状態を検査するため のプログラム どちらのツールも、UNIX プラットフォームの場合はディレクトリ $JDBC_DRIVER_HOME/tools、Windows プラットフォームの場合はディレクトリ %JDBC_DRIVER_HOME%¥tools にインストールされます。 この章では、この 2 つのツールの概要とセットアップ要件について説明します。こ の章は以下の 3 つの節に分かれています。 ■ ■ ■ 環境設定 Data Source Administrator ツール JDBC Ping ツール 各ツールの使用方法の詳細については、ツールを起動し、[Help] メニューの [Contents] をクリックしてください。 Red Brick JDBC ツール 6-3 環境設定 環境設定 JDBC ツールを使用するには、以下のファイルが Java の環境変数 CLASSPATH で指 定されている必要があります。この環境変数の設定方法については、4-11 ページを 参照してください。 jndi.jar JNDI API。http://java.sun.com/products/jndi からダウンロー ドできます。 jdbc2_0-stdext.jar JDBC 2.0 Standard Extension。 http://java.sun.com/products/jdbc からダウンロードできま す。 fscontext.jar または ldap.jar File System Context Service Provider が含まれている JAR ファイ ル または LDAP Service Provider が含まれている JAR ファイル どちらのファイルも http://java.sun.com/products/jndi/serviceproviders.html からダ ウンロードできます。 providerutil.jar このファイルは、fscontext.jar または ldap.jar とともにダウ ンロードされます。 Data Source Administrator ツールを使ってデータ ソースを保存または管理するには、 事前にファイル java.home/lib/jndi.properties の中で JNDI サービス プロバイダを定 義しておく必要があります。なお、ファイル jndi.properties を作成するには、ディ レクトリ java.home/lib に対する書き込み権限が必要です。このファイルは、サービ ス プロバイダの場所 (File System Context の URL または LDAP の URL)、ファクトリ クラス名、認証タイプなどの情報を定義するものです。 ファイル jndi.properties の内容を変更するには 1. 2. 3. 6-4 Data Source Administrator を起動します。 [Edit] メニューの [Properties] をクリックします。 JNDI File System Context Server または JNDI LDAP Server に関する以下の フィールドの値を指定し、[Save] をクリックします。 Client Installation and Connectivity Guide 環境設定 JNDI File System Context Server [JNDI Server URL] file:///directory_path 例 :file:///temp (UNIX の場合 ) [JNDI Service Provider] com.sun.jndi.fscontext.RefFSContextFactory ( リスト ボックスから選択 ) ディレクトリ jdbc および jdbc/pool は、[JNDI Server URL] で指定したディレクトリ の下に作成されます。 JNDI LDAP Server [JNDI Server URL] ldap://host_pc_name:host_port/o=root_DN host_pc_name:host_port は LDAP Server の場所、 root_DN は LDAP ディレクトリ ツリーのルートの 名前です。 [JNDI Service Provider] com.sun.jndi.ldap.LdapCtxFactory ( リスト ボックスから選択 ) [Authentication] simple [Username] LDAP のユーザ名 例 :cn=Directory Manager [Password] LDAP のパスワード JNDI プロパティの保存と取得 Data Source Administrator ツールを使用した場合、以下のファイルに対してデータ ソースのプロパティが排他的に読み書きされます。 $JAVA_HOME/jre/lib/jndi.properties Red Brick JDBC Driver (redbrick.jar) によって使用される Java コードでは、以下の優 先順位に従ってプロパティの取得方法がより包括的に定義されています。 1. 2. 3. 4. コンストラクタに設定されたプロパティ アプレットのパラメータ システム プロパティ ファイル jndi.properties の中で設定されたプロパティ このような優先順位になっているので、たとえば Web サーバで設定されたシステム プロパティは、ファイル jndi.properties の中で設定された値よりも優先されます。 Red Brick JDBC ツール 6-5 Data Source Administrator ツール Data Source Administrator ツール 管理者はこのツールを利用することにより、JDBC アプリケーションで使うデータ ソース オブジェクトを作成および管理できます。アプリケーションでは、 DriverManager.getConnection() メソッドを使う代わりにこれらのデータ ソースを介 してデータベースに接続できます。 このツールを起動するには、UNIX プラットフォームの場合はシェル スクリプト rbdsadmin.sh、Windows プラットフォームの場合はファイル rbdsadmin.bat を実行 します。以下のウィンドウが表示されます。 このツールでは、プールされたデータ ソースおよびプールされていないデータ ソースに対して、追加、削除、編集、ping コマンド発行の各操作を行うことができ ます。これらの機能の詳細については、オンライン ヘルプを参照してください。 6-6 Client Installation and Connectivity Guide JDBC Ping ツール JDBC Ping ツール JDBC Ping ツールは、Red Brick データベースへの接続状態を検査するものです。こ のツールを起動するには、UNIX プラットフォームの場合はシェル スクリプト rbjping.sh、Windows プラットフォームの場合はファイル rbjping.bat を実行します。 以下のウィンドウが表示されます。 Red Brick JDBC ツール 6-7 JDBC Ping ツール このツールは、データベース セッション中でも、データベースに接続する前の状態 でも使用できます。この Ping ツールでは、以下の 3 つの指定のいずれかに基づい て、Red Brick サーバが稼動しているかどうかを検査します。 ■ ■ ■ 完全な JDBC URL 事前に定義された JDBC データ ソース データベース サーバ情報 詳細については、オンライン ヘルプを参照してください。 6-8 Client Installation and Connectivity Guide 特記事項 特記事項 本書に記載されている製品、サービス、または機能は、国によっては 提供されない場合があります。各地域で現在利用可能な IBM 製品およ びサービスについては、該当地域の担当者にお問い合わせください。 IBM 製品、プログラム、またはサービスのすべての記述箇所は、対象 の IBM 製品、プログラム、またはサービスのみが使用されることを明 示的または暗示的に示すものではありません。IBM の知的所有権を侵 害しない、同等の機能を有する製品、プログラム、またはサービスを 使用できる場合があります。ただし、IBM 以外の製品、プログラム、 またはサービスの操作に関する評価および確認は、お客様の責任の元 に行ってください。 本書に記載の各事項は、特許または特許出願により保護されている場 合があります。本書の提供は、これらの特許の使用許諾をお客様に付 与するものではありません。使用許諾に関する質問は、下記に書面に てお問い合わせください。 IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A. ダブル バイト (DBCS) に関する使用許諾については、各国 IBM の知的 財産部門にお問い合わせいただくか、下記まで書面にてお問い合わせ をご送付ください。 IBM World Trade Asia Corporation Licensing 〒 106 - 0032 東京都港区六本木 3 丁目 2 - 31 以下の段落の記述は、英国、または記述の内容が地域法に合致しない国には適用さ れません。International Business Machines Corporation は、本書を「現状のまま」提供 し、明示的または黙示的を問わずいかなる保証の責任も負わないものとし、第三者 の権利侵害のないことへの保証、商品性の保証、または特定目的への適合性の保証 などを含み、かつこれらに限定されない、いかなる黙示的な保証の責任も負わない ものとします。特定の取引における明示的または黙示的な保証の制限が国または地 域によって禁じられる場合、この記述は適用されないものとします。 この情報には、技術上不正確な点や誤植が含まれている可能性があります。本書の 情報は定期的に見直され、必要な変更は本書の改訂版に反映されます。IBM は本書 に記載されている製品またはプログラムに対して、随時、予告なしに変更または改 良を加えることがあります。 本書において参照されている IBM 以外の Web サイトは、単に便宜上の理由で記載 されているだけであり、それらのサイトに対する IBM の保証または支持を示すもの ではありません。それらの Web サイトで提供される内容は、本 IBM 製品には関係 ありません。これらの利用は、お客様の責任の元で行ってください。 お客様により提供された情報は、IBM が適切と判断するすべての方法で、使用また は頒布される場合があります。これにより、お客様に責任が発生することはありま せん。 本プログラムのライセンス保持者で、次の事項を可能にするための情報を希望する 方は、下記にお問い合わせください。(i) 独自に作成されたプログラムと、他のプロ グラム ( 本製品を含む ) との間の情報交換、(ii) 交換された情報の共用 IBM Corporation J46A/G4 555 Bailey Avenue San Jose, CA 95141-1003 U.S.A. 上記の情報は、適切な使用条件の元で利用可能ですが、有償の場合もあります。 本書で説明されるライセンス プログラムおよびこれに関して利用できるライセンス 資料は、IBM Customer Agreement、IBM International Program License Agreement、また はそれと同等の合意の各条項に基づいて、IBM より提供されます。 2 Client Installation and Connectivity Guide この文書に含まれるすべての実行データは、管理環境下で決定されたものです。こ のため、操作環境によって実行結果が大きく変化する場合があります。開発レベル のシステムで測定が行われた可能性がありますが、その測定値が一般に利用可能な システムのものと同じである保証はありません。さらに、一部の測定値には推定値 が含まれている場合があります。このため、実際の結果とは異なる可能性がありま す。本書を利用されるお客様は、それぞれの特定の環境に適したデータを検証する 必要があります。 IBM 以外の製品に関する情報は、各製品の供給者、出版物、または公的に入手可能 な情報源から取得されたものです。IBM ではこれらの製品をテストしておらず、 IBM 以外の製品のパフォーマンス、互換性、またはその他の要件については確認し ていません。IBM 以外の製品の機能に関する質問については、各製品の供給者にお 問い合わせください。 特記事項 3 商標 AIX、DB2、DB2 Universal Database、Distributed Relational Database Architecture、NUMA-Q、OS/2、OS/390、および OS/400、IBM Informix、 C-ISAM、Foundation.2000TM、IBM Informix 4GL、IBM Informix DataBlade Module、Client SDKTM、CloudscapeTM、CloudsyncTM、 IBM Informix Connect、IBM Informix Driver for JDBC、Dynamic ConnectTM、IBM Informix Dynamic Scalable ArchitectureTM (DSA)、 IBM Informix Dynamic ServerTM、IBM Informix Enterprise Gateway Manager (Enterprise Gateway Manager)、IBM Informix Extended Parallel ServerTM、i.Financial ServicesTM、J/FoundationTM、MaxConnectTM、Object TranslatorTM、Red BrickTM、IBM Informix SE、IBM Informix SQL、InformiXMLTM、RedBack、SystemBuilderTM、U2TM、UniData、UniVerse、 wintegrate は、International Business Machines Corporation の商標または登録商標で す。 Java および Java ベースの商標およびロゴは、米国およびその他の国における Sun Microsystems, Inc の商標または登録商標です。 Windows、Windows NT、および Excel は、米国およびその他の国における Microsoft Corporation の商標または登録商標です。 UNIX は、米国およびその他の国における、X/Open Company Limited が独占的にラ イセンスしている登録商標です。 本書におけるその他の会社、製品およびサービスの名称は、それぞれ各社の商標ま たはサービス マークです。 4 Client Installation and Connectivity Guide 記号 数字 A B C あ行 か行 さ行 D た行 E F な行 G H は行 I J ま行 K L や行 M N O ら行 P Q R S T U V W X Y Z わ行 索引 索引 A Apache HTTP Server 4-16 C Class.forName() メソッド 5-4, 5-9 CLASSPATH 環境変数 JDBC ツール使用時に必要 6-4 設定 4-11, 4-12 Client Connector Pack アンインストール 1-8 インストール 1-5 インストール エラー メッセー ジ 1-7 コンポーネント 1-3 システムの要件 1-5 Client Connector Pack のアンインス トール 1-8 Client Connector Pack のインストー ル エラー メッセージ 1-7 開始 1-5 中断 1-6 Client TMU インストール 1-5 説明 1-4 CLIENT_LOCALE 接続プロパ ティ 5-25 Connect ODBC SDK 3-3 ∼ 3-15 ConnectionEventListener インター フェイス サポートされているメソッ ド 5-12 ConnectionPoolDataSource インター フェイス 5-11 サポートされている getXXX() メ ソッドと setXXX() メソッ ド 5-11 サポートされているメソッ ド 5-12 Connection インターフェイス 5-5 createStatement() メソッド 5-14 Red Brick ODBC Driver でサポート されているメソッド 5-10 C コンパイラ Red Brick ODBClib SDK Driver で サポート 3-4 D Data Source Administrator、 JDBC 6-3 DatabaseMetaData インターフェイ ス 5-13 getDriverMajorVersion() メソッ ド 5-31 getDriverMinorVersion() メソッ ド 5-31 Red Brick JDBC Driver のバージョ ン番号の取得 5-31 サポートされているメソッ ド 5-13 DataDirect Technologies Connect ODBC SDK 3-3 ∼ 3-15 DataSource インターフェイス 5-3, 5-9 Red Brick ODBC Driver でサポート されているメソッド 5-11 DriverManager クラス 4-6, 5-3, 5-5 getConnection() メソッド 5-3, 5-5, 5-7, 5-9, 6-6 記号 数字 A B C あ行 か行 さ行 D た行 E F G な行 H は行 I J ま行 K L M や行 N O ら行 P L F LDAP Server、JNDI 6-5 LDAP Service Provider 6-4 ldap.jar ファイル 6-4 fscontext.jar ファイル 6-4 H HTTP プロキシ サーブレット 4-15, 4-20 I IBM HTTP Server 4-16 J Java Naming and Directory Interface (JNDI) 5-3, 5-9 javax.sql.DataSource インターフェイ ス。「DataSource インターフェ イス」を参照 Java 仮想マシン 4-11 JDBC API 4-3 JDBC Ping ツール 6-3 jdbc2_0-stdext.jar ファイル 6-4 JDBC 接続プロパティの設定 5-7 JDBC ツール 6-3 JDBC データ型、サポート対 象 5-20 JDBC ドライバ。「Red Brick JDBC Driver」を参照 JDBC ドライバ、種類 4-6 JDBC ドライバのグローバル化のサ ポート 5-24 JDBC プロキシ サーブレット 3 層構成 4-8 インストール 4-17 JNDI File System Context Server 6-5 JNDI LDAP Server 6-5 jndi.jar ファイル 6-4 jndi.properties ファイル 6-4 JRun エンジン、インストール 4-16 M Microsoft Internet Explorer、アプ レットの表示 5-4 O ODBC 2.x として動作、 SQL_ATTR_ODBC_VERSION で設定 2-5 ODBC Driver でサポートされてい る環境属性 2-12 ODBC Driver でサポートされてい る記述子関数 2-15 ODBC Driver でサポートされてい る記述子ヘッダ フィールドとレ コード フィールド 2-16 ODBC Driver でサポートされてい るシステム関数 2-36 ODBC Driver でサポートされてい る診断フィールド 2-18 ODBC Driver でサポートされてい る文属性 2-13 .odbc.ini ファイル ODBC データ ソース 3-11 サンプル 3-13 ODBClib SDK 3-3 ∼ 3-19 ODBC 関数、ODBC 3.0 で廃止予 定 2-11 ODBC ドライバ。 「Red Brick ODBC Driver」を参照 P Ping ツール JDBC 6-3 ODBC 1-3 PooledConnection インターフェイス 2 Client Installation and Connectivity Guide R S T U V W X Y わ行 JServ サーブレット エンジン、イン ストール 4-17 Red Brick JDBC Driver の登録 5-4 registerDriver() メソッド 5-4 接続の確立 5-4 DriverManager での Red Brick JDBC Driver の登録 5-4 Q サポートされているメソッ ド 5-12 PreparedStatement インターフェイス close() メソッド 5-18 クエリの実行 5-18 サポートされているメソッ ド 5-19 Properties クラス 5-7 properties ファイル、JNDI 6-4 providerutil.jar ファイル 6-4 PROXY 接続プロパティ 5-8 R rb_ctmu プログラム 1-4 rbdsadmin プログラム 6-3 rbjping プログラム 6-3 RBPing、定義 1-3 rbw.config ファイル ポート番号 5-6 ロケールの指定 5-25 RBWDriver クラス 5-4 Red Brick JDBC Driver Connection メソッド 5-10 DataSource オブジェクトを使った データベース接続 5-9 DriverManager を使ったデータ ベース接続 5-5, 5-7 uninstall プログラム 4-13 アプレットでの使用 4-14, 5-4 インストール 4-8 概要 4-10 サポートされている DataSource メソッド 5-11 サポートされているデータ 型 5-20 サンプル コード ファイル 5-32 システムの要件 1-4 数値関数 5-28 スカラ関数 5-28 接続プロパティ 5-7, 5-8 説明 4-6 データ型マッピング 5-19 登録 5-4 トランザクション処理 5-31 取り消し処理 5-27 バージョン番号の取得 5-31 日付 / 時刻関数 5-29 Z 記号 数字 A B C あ行 か行 さ行 D た行 E F な行 ファイル 4-10 ポート番号 5-6 文字列関数 5-28 ロード 5-4 ロケールのサポート 5-25 Red Brick JDBC Driver のインストー ル 4-8 Red Brick JDBC Driver のロード 5-4 Red Brick JDBC ツール 6-3 Red Brick ODBC Driver API に準拠 2-6 アプリケーション、環境変数の設 定 3-13 記述子関数 2-15 記述子ヘッダ / レコード フィール ド 2-16 コア SQL 文法のサポート 2-32 サポートされている環境属 性 2-12 サポートされている関数 2-6 サンプル プログラム 3-17 システム関数 2-36 システムの要件 2-5 診断フィールド 2-18 数値関数 2-34 スカラ関数 2-33 接続属性 2-12 説明 1-3, 2-3 データ型変換関数 2-36 データ型マッピング 2-37 日付 / 時刻関数 2-35 文属性 2-13 文字列関数 2-33 要件 1-4 Red Brick ODBClib SDK 3-3 ∼ 3-19 C コンパイラ 3-4 環境変数 3-14 コンパイルとリンク 3-6 使用 3-4 情報タイプの戻り値 3-16 ソフトウェア ファイル 3-5 ヘッダ ファイル 3-6 ライブラリ ファイル 3-6 ResultSetMetaData インターフェイ ス isAutoIncrement() メソッド 5-20 サポートされているメソッ ド 5-17 ResultSet インターフェイス 5-15 G H は行 I J ま行 K L や行 M N O ら行 P Q R S T U V W X Y Z わ行 close() メソッド 5-15 getString() メソッド 5-17 getTime() メソッド 制限 5-17 getXXX() メソッド サポート対象 5-21 next() メソッド 5-15 previous() メソッド 5-15 サポートされているメソッ ド 5-16 RISQL エントリ ツールと RISQL レ ポータ、説明 1-3 RISQL レポータ、説明 1-4 S Setup ユーティリティ 説明 1-5 ファイルをコピー 1-5 SQLException クラス エラー処理 5-23 サポートされているメソッ ド 5-23 SQLGetInfo ODBC Driver でサポートされてい る情報タイプ 2-19 SQL 文、JDBC を使ったデータベー スへの送信 5-14 SQL 文法のサポート 2-32 Statement インターフェイス cancel() メソッド 5-27 close() メソッド 5-14 executeQuery() メソッド 5-14 executeUpdate() メソッド 5-14 execute() メソッド 5-15 サポートされているメソッ ド 5-15 データベースへの SQL 文の送 信 5-14 U Unicode 5-24 uninstall プログラム Client Connector Pack 1-8 JDBC ドライバ 4-13 W WebSphere Application Server 4-16 あ アプレット Microsoft Internet Explorer で表 示 5-4 Red Brick JDBC Driver の使用 5-4 データベースへのアクセス 4-15 い インターフェイス。 「クラスとイン ターフェイス」を参照 え エラー処理、JDBC 5-23 お オンライン マニュアル 10 か 環境変数 CLASSPATH 4-11, 4-12 ODBC アプリケーションに対する 設定 3-13 T Types クラス 一般的な SQL データ型 5-19 く クラスとインターフェイス ConnectionEventListener 5-12 ConnectionPoolDataSource 5-11 DatabaseMetaData 5-13, 5-31 索引 3 記号 数字 A B C あ行 か行 さ行 D た行 DataSource 5-3, 5-9 DriverManager 4-6, 5-3, 5-4, 5-5 PooledConnection 5-12 PreparedStatement 5-18 Properties 5-7 RBWDriver 5-4 ResultSet 5-15 ResultSetMetaData 5-17 SQLException 5-23 Types 5-19 接続 5-5 ドライバ 5-4, 5-31 文 5-14 こ コア SQL 文法 2-32 コード セット、ロケールとの同 期 5-25 コード例 JDBC 5-32 ODBC 3-17 さ サンプル プログラム JDBC 5-32 ODBC 3-17 し システムの要件 Client Connector Pack 1-5 JDBC ドライバ 1-4 ODBC ドライバ 1-4 準拠、Red Brick ODBC Driver 2-6 E F な行 G H は行 I J ま行 K L や行 M N O ら行 せ 接続属性 Q R S T U V W X Y わ行 Red Brick ODBC Driver でサポー ト 2-12 接続プロパティ 5-7 CLIENT_LOCALE 5-25 PROXY 5-8 Red Brick ODBC Driver でサポー ト 5-8 設定 5-7 取り消し処理 5-27 は 廃止予定関数、ODBC 2-11 ひ 日付 / 時刻関数、ODBC 2-35 つ ツール、Red Brick JDBC 6-3 て データ型 Red Brick ODBC Driver によるマッ ピング 2-37 Red Brick ODBC Driver 変換関 数 2-36 Red Brick と JDBC のマッピン グ 5-19 データ ソース、ODBC UNIX の .odbc.ini ファイルで設 定 3-11 Windows システム上で設定 1-9 データベース、リモート アクセス オプション (JDBC) 4-15 データベースに接続する URL 構文 (JDBC) 5-5 データベースへの接続 DataSource オブジェクトを使 用 5-9 DataSource のコード例 5-9 DriverManager クラスの使用 5-4 DriverManager のコード例 5-5, 5-7 データベースへのリモート アクセ ス (JDBC) 4-15 す スカラ関数 JDBC 5-28 ODBC 2-33 P と ドライバ インターフェイス 5-4 getMajorVersion() メソッド 5-31 getMinorVersion() メソッド 5-31 Red Brick JDBC Driver のバージョ ン番号の取得 5-31 トランザクション処理 5-31 4 Client Installation and Connectivity Guide ふ ファイアウォール、データベース アクセス 4-15 プロキシ サーブレット 4-15 ほ ポート番号 (JDBC) 5-6 ま マニュアル IBM Red Brick Warehouse のリス ト 8 オンライン 10 め メソッド Class.forName() 5-4, 5-9 Connection.createStatement() 5-14 DatabaseMetaData.getDriverMajorV ersion() 5-31 DatabaseMetaData.getDriverMinorV ersion() 5-31 Driver.getMajorVersion() 5-31 Driver.getMinorVersion() 5-31 DriverManager.getConnection() 5-3, 5-5, 5-7, 5-9 DriverManager.registerDriver() 5-4 PreparedStatement.close() 5-18 ResultSet.close() 5-15 ResultSet.getString() 5-17 ResultSet.getTime() 5-17 ResultSet.getXXX() 5-21 Z 記号 数字 A B C あ行 か行 さ行 D た行 E F な行 G H は行 I J ま行 K L や行 M N O ら行 P Q R S T U V W X Y Z わ行 ResultSet.next() 5-15 ResultSet.previous() 5-15 ResultSetMetaData.isAutoIncrement () 5-20 Statement.cancel() 5-27 Statement.close() 5-14 Statement.execute() 5-15 Statement.executeQuery() 5-14 Statement.executeUpdate() 5-14 メタデータ、DatabaseMetaData イ ンターフェイスを使ったアクセ ス 5-13 り リモート データベース アクセ ス 4-15 ろ ロケール rbw.config ファイルでの指定 5-25 Red Brick ODBC Driver でのサポー ト 5-25 コード セットとの同期 5-25 例の中で使用されるロケール 4 索引 5