Comments
Transcript
クライアントインストールおよび接続ガイド バージョン6.3 (日本語版) (PDF:800KB)
IBM Red Brick Warehouse クライアント インストールおよび接続ガイド バージョン 6.3 GC88-9939-00 (英文原典:GC18-7393-00) IBM Red Brick Warehouse クライアント インストールおよび接続ガイド バージョン 6.3 GC88-9939-00 (英文原典:GC18-7393-00) 注 本書および本書で紹介する製品をご使用になる前に、109 ページの『特記事項』に記載されている情報をお読み ください。 本書には、IBM の専有情報が含まれています。その情報は、使用許諾条件に基づき提供され、著作権により保護されて います。本書に記載される情報には、いかなる製品の保証も含まれていません。また、本書で提供されるいかなる記述 も、製品保証として解釈すべきではありません。 IBM は、お客様が提供するいかなる情報も、お客様に対してなんら義務も負うことのない、自ら適切と信ずる方法で、 使用もしくは配布することができるものとします。 本マニュアルに関するご意見やご感想は、次の URL からお送りください。今後の参考にさせていただきます。 http://www.ibm.com/jp/manuals/main/mail.html なお、日本 IBM 発行のマニュアルはインターネット経由でもご購入いただけます。詳しくは http://www.ibm.com/jp/manuals/ の「ご注文について」をご覧ください。 (URL は、変更になる場合があります) お客様の環境によっては、資料中の円記号がバックスラッシュと表示されたり、バックスラッシュが円記号と表示され たりする場合があります。 原 典: GC18-7393-00 IBM Red Brick Warehouse Client Installation and Connectivity Guide Version 6.3 発 行: 日本アイ・ビー・エム株式会社 担 当: ナショナル・ランゲージ・サポート 第1刷 2004.3 この文書では、平成明朝体™W3、平成明朝体™W9、平成角ゴシック体™W3、平成角ゴシック体™W5、および平成角ゴ シック体™W7を使用しています。この(書体*)は、 (財)日本規格協会と使用契約を締結し使用しているものです。フォ ントとして無断複製することは禁止されています。 注* 平成明朝体™W3、平成明朝体™W9、平成角ゴシック体™W3、 平成角ゴシック体™W5、平成角ゴシック体™W7 © Copyright International Business Machines Corporation 1996, 2004. All rights reserved. © Copyright IBM Japan 2004 目次 本書について . . . . . . . . . . . . v 本書の対象読者 . . . . . . . . . . . v ソフトウェアの要件 . . . . . . . . . . v 本書の表記規則 . . . . . . . . . . . v 文字の表記規則 . . . . . . . . . . v キーワードと区切り文字 . . . . . . . vi 識別子と名前 . . . . . . . . . . . vi コメント . . . . . . . . . . . . vi プラットフォーム記号 . . . . . . . vii ソフトウェア サポート . . . . . . . . vii 問題の報告 . . . . . . . . . . . vii 既存のケース . . . . . . . . . . viii トラブルシューティングのヒント. . . . viii 関連文献 . . . . . . . . . . . . . ix その他のマニュアル . . . . . . . . . xi ご意見の送付方法 . . . . . . . . . . xi 第 1 章 Client Connector Pack のインスト ール . . . . . . . . . . . . . . . Client Connector Pack のコンポーネント . . . ドライバ要件 . . . . . . . . . . . . ODBC ドライバの要件 . . . . . . . . JDBC ドライバの要件 . . . . . . . . クライアントの要件 . . . . . . . . . . Client Connector Pack コンポーネントのインス トール . . . . . . . . . . . . . . インストール エラー . . . . . . . . . Client Connector Pack のアンインストール . . Windows でのデータ ソースの設定. . . . . 1 1 2 2 2 3 3 5 6 6 第 2 章 Red Brick ODBC Driver の説明 . . 9 アーキテクチャ . . . . . . . . . . . 10 要件. . . . . . . . . . . . . . . 10 スタック サイズの要件 . . . . . . . 11 SQL_ATTR_ODBC_VERSION でのバージョ ン レベルの設定 . . . . . . . . . 11 サポートされている関数 . . . . . . . . 11 環境属性 . . . . . . . . . . . . 17 接続属性 . . . . . . . . . . . . 17 文属性 . . . . . . . . . . . . . 17 記述子フィールド . . . . . . . . . 19 © Copyright IBM Corp. 1996, 2004 診断フィールド . . . SQLGetInfo 情報タイプ コア SQL 文法 . . . . エスケープ シーケンス . スカラ関数 . . . . . 文字列関数 . . . . 数値関数 . . . . . 日付/時刻関数 . . . システム関数. . . . データ型変換関数 . . ODBC データ型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 第 3 章 UNIX でのカスタム クライアント アプリケーションの作成 . . . . . . . . Red Brick ODBClib SDK の使用 . . . . . C コンパイラ . . . . . . . . . . ODBC ドライバ ファイル . . . . . . ODBClib ライブラリとヘッダ ファイル . . Red Brick ODBClib によるコンパイルとリ ンク. . . . . . . . . . . . . . UNIX での ODBC アプリケーションの実行 ファイル $HOME/.odbc.ini でのデータ ソ ース設定 . . . . . . . . . . . . プラットフォーム固有の環境変数の設定. . Red Brick と DataDirect SDK の機能の相違点 ヘッダ ファイル . . . . . . . . . DSN 接続 . . . . . . . . . . . . ソース コードの移植性 . . . . . . . ドライバ マネージャ機能のエミュレーショ ン . . . . . . . . . . . . . . SQLDataSources . . . . . . . . . . SQLDrivers . . . . . . . . . . . SQLGetInfo . . . . . . . . . . . ODBC サンプル プログラム . . . . . . サンプル プログラムの場所 . . . . . . サンプル プログラムのセットアップ . . . 21 22 31 32 32 32 33 33 34 35 36 37 38 38 39 40 40 45 45 47 47 47 48 48 48 48 48 48 49 49 49 第 4 章 Red Brick JDBC ドライバ: はじめ に . . . . . . . . . . . . . . . 53 JDBC とは . . . . . . . . . . . . 53 JDBC ドライバとは . . . . . . . . . 55 iii 2 層構成と 3 層構成 . . . . . . . . . 2 層構成 . . . . . . . . . . . . 3 層構成 . . . . . . . . . . . . ドライバのインストール . . . . . . . . 対話形式でのインストール . . . . . . サイレント モードのインストール . . . ドライバとともにインストールされるファ イル. . . . . . . . . . . . . . Java の CLASSPATH へのドライバの組み 込み. . . . . . . . . . . . . . ドライバのアンインストール . . . . . アプレットでのドライバの使用. . . . . . HTTP プロキシ サーバの使用 . . . . . . プロキシ サーバの構成 (3 層) . . . . . . Netscape、Apache、IBM の各 Web サーバ に必要なソフトウェア. . . . . . . . Red Brick JDBC プロキシ サーブレットの インストール. . . . . . . . . . . HTTP プロキシの指定. . . . . . . . 第 5 章 Red Brick JDBC Driver を使用し たプログラミング . . . . . . . . . . 接続の確立 . . . . . . . . . . . . DriverManager クラスを使用して接続を確 立する . . . . . . . . . . . . . DataSource オブジェクトを介したデータベ ース接続 . . . . . . . . . . . . サポートされている Connection メソッド サポートされている DataSource メソッド サポートされている ConnectionPoolDataSource メソッド . . . サポートされている PooledConnection メソ ッド. . . . . . . . . . . . . . サポートされている ConnectionEventListener メソッド . . . . データベースのメタデータへのアクセス. . . iv 56 56 56 57 57 58 59 61 63 63 65 66 66 67 69 71 71 71 76 78 79 80 80 80 81 データベースへのアクセス . . . . . . . 文の実行 . . . . . . . . . . . . ResultSet オブジェクトでのクエリ結果の受 信 . . . . . . . . . . . . . . PreparedStatement オブジェクトを使用した クエリの例 . . . . . . . . . . . データ型のマッピング. . . . . . . . . IBM Red Brick Warehouse データ型と JDBC データ型のマッピング . . . . . サポートされている ResultSet.getXXX() メ ソッド . . . . . . . . . . . . . SQLException クラスによるエラー処理 . . . グローバル化対応 . . . . . . . . . . グローバル化対応 . . . . . . . . . IBM Red Brick Warehouse ロケール サポ ート. . . . . . . . . . . . . . 取消し処理 . . . . . . . . . . . . スカラ関数 . . . . . . . . . . . . トランザクション処理. . . . . . . . . ドライバのバージョン番号の取得 . . . . . サンプル コード ファイル . . . . . . . 第 6 章 Red Brick JDBC ツール . 環境設定 . . . . . . . . . . JNDI プロパティの保存と取得 . データ ソース Administrator ツール. JDBC Ping ツール . . . . . . . . . . . . . . . . . . . . 82 82 83 85 86 86 88 90 91 91 91 93 93 96 96 96 . 99 100 101 102 103 付録. Java 対応エンコードの GlobalC コ ードへの変換 . . . . . . . . . . . 105 特記事項 . . . . . . . . . . . . 109 商標 . . . . . . . . . . . . . . 112 索引 . . . IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド . . . . . . . . . . . 113 本書について この章では、このマニュアルの概要と表記法について説明します。 このマニュアルで扱う内容は以下のとおりです。 v Windows® プラットフォーム上での IBM® Red Brick Warehouse™ Client Connector Pack のインストール v Red Brick ODBC Driver の使用 v UNIX® ODBC アプリケーションの作成 v Red Brick JDBC Driver のインストールと使用 本書の対象読者 このマニュアルの対象ユーザは、IBM Red Brick Warehouse データベースへのアクセス が必要な ODBC または JDBC 準拠アプリケーションを開発するプログラマです。 ソフトウェアの要件 データベース サーバとして IBM Red Brick Warehouse バージョン 6.3 を使用してくだ さい。 ODBC と JDBC の具体的な要件については、2 ページの『ドライバ要件』 を 参照してください。 本書の表記規則 このマニュアルで使用されている表記規則と書体の規則を説明します。以下を参照する ことで、このマニュアル、およびこのマニュアル セット内の他のマニュアルが読みやす くなります。 文字の表記規則 新しい用語、画面表示、コマンド構文などの表記には以下の規則を使用します。 規則 意味 KEYWORD (キー ワード) プログラミング言語の文中では、要素 (キーワード) はすべて大 文字のセリフ フォントで表記されます。 イタリック 文章中において、新出用語および強調する用語はイタリックで表 記されます。 イタリック 構文およびコード例では、ユーザが指定する変数値はイタリック で表記されます。 © Copyright IBM Corp. 1996, 2004 v 規則 意味 太字 インタフェース要素 (アイコン、メニュー項目、ボタンなど) と コマンドは太字で表記されます。 monospace (モノス プログラム エンティティ (クラスやイベントなど)、ファイル ペース) 名、およびパス名はモノスペースで表記されます。 > この記号は、メニュー項目を表します。たとえば、「[ツール] > [オプション] を選択します。」は、[ツール] メニューの [オプシ ョン] を選択することを意味します。 ヒント: 文字の入力またはコマンドの実行が指定された場合は、入力後に Enter キーを 押してください。その他のキーを押すように指定された場合は、Enter キーを押 す必要はありません。 キーワードと区切り文字 キーワードとは、文およびコマンド (システム レベルのコマンドを除く) で使用するた めに予約された単語のことです。構文ダイアグラムでは、キーワードが大文字で表記さ れます。ユーザが実際にキーワードを記述する場合は、大文字と小文字のどちらを使用 しても構いません。ただし、スペルは構文ダイアグラムに表記されるとおりでなければ なりません。 構文ダイアグラム内の区切り文字も、ダイアグラムに示されているとおりに文とコマン ドの中に挿入する必要があります。 識別子と名前 構文ダイアグラムおよび例の中の変数は、識別子および名前のプレースホルダです。変 数は、文脈に応じて任意の名前、識別子、またはリテラルに置き換えることができま す。変数は、追加の構文ダイアグラムで展開される複雑な構文要素を表すためにも使用 されます。変数は、構文ダイアグラム、例、テキストでは、小文字のイタリック で表記 されます。 以下に示す構文ダイアグラムは、変数を使用した簡単な SELECT 文の一般的なフォー ムを示しています。 SELECT column_name FROM table_name このフォームの SELECT 文を記述するときには、変数の column_name と table_name を特定の列とテーブルに置き換えます。 コメント コメントには 3 種類あり、それぞれ以下の表に示す情報を表します。これらの情報は常 にイタリックで表記されます。 vi IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド ラベル 説明 警告: 重要な手順、注意事項、または重要な情報を表します。 重要: 現在説明されている機能または操作に関する重要な情報を表しま す。 ヒント: 現在説明されている機能に関する詳細またはショートカットなど の追加情報を表します。 プラットフォーム記号 機能記号、製品記号、およびプラットフォーム記号は、特定のプラットフォームに関す る情報を示します。 UNIX のみ UNIX および Linux オペレーティング システムに固有の情報を表します。 UNIX のみ の終り Windows のみ Windows プラットフォームに固有の情報を表します。 Windows のみ の終り ソフトウェア サポート IBM Red Brick Warehouse に関する技術上の質問があり、その対処法が該当するマニュ アルに記述されていない場合は、以下の IBM ソフトウェア サポートまでご連絡くださ い。 電話番号 1-800-274-8184 または 1-913-492-2086 (中央標準時間、月曜日から金 曜日の午前 7 時から午後 7 時) Web サイト www-3.ibm.com/software/data/informix/support/ 問題の報告 新しい問題を報告する場合は、次の情報を報告してください。 v IBM Red Brick Warehouse のバージョン v プラットフォームとオペレーティング システムのバージョン v IBM Red Brick Warehouse またはオペレーティング システムから戻されたエラー メ ッセージ 本書について vii v エラー メッセージが表示される前に実行したコマンドや操作など、問題についての 詳しい説明 v エラー メッセージが表示される前に行われた IBM Red Brick Warehouse またはオペ レーティング システムの構成変更のリスト クライアント/サーバの接続に関する問題の場合は、さらに次の情報も報告してくださ い。 v 使用しているクライアント ツールの名前とバージョン v 該当する場合、Red Brick ODBC Driver または Red Brick JDBC Driver のバージョ ン v 使用しているクライアント ネットワークまたは TCP/IP スタックの名前とバージョ ン v クライアント アプリケーションから戻されたエラー メッセージ v サーバおよびクライアント ロケール指定 既存のケース 問題のケースを記録するか、最初に対応したサポート エンジニアが必ずケース番号を登 録します。この番号によって、それぞれの問題を解決する間に行われた作業をすべて把 握できます。既存のケースの状況について知りたい場合は、ケース番号をお知らせくだ さい。 トラブルシューティングのヒント ささいなことでも、再現可能な問題を具体的に報告することによって、ケース解決まで の時間を短縮できる場合もあります。問題の原因をたくさん検出できれば、それだけ早 くサポート エンジニアが問題を解決できます。 v SQL クエリに関する問題の場合は、文で問題の原因となった部分が発見されるまで、 列または関数の削除や、WHERE 句、ORDER BY 句、または GROUP BY 句の再指 定を行ってください。 v テーブル マネジメント ユーティリティ ロードに関する問題の場合は、ソース ファ イルとターゲット テーブルとのマッピングでデータ型に互換性があるかどうか検証 してください。少量のテスト データをロードして、ボリュームとデータ フォーマッ トのいずれに関連した問題であるかを特定してください。 v 接続上の問題の場合は、クライアントからホストに ping コマンドを実行して、ネッ トワークが使用可能であることを検証してください。可能な場合は、別のクライアン ト ツールを使用しても同じ問題が発生するかどうか確認してください。 viii IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 関連文献 IBM Red Brick Warehouse のマニュアル セットには、以下のマニュアルが含まれてい ます。 マニュアル 説明 管理者ガイド ウェアハウスのアーキテクチャやサポートされるスキ ーマなど、データベースに関連した基本概念のマニュ アルです。グラフィカルなデータベース管理機能を提 供する Administrator ツールについて説明します。デ ータベースの実装や保守の手順についても説明しま す。システム テーブルと構成ファイルの説明も含まれ ています。 クライアント システムへの ODBC、Red Brick JDBC Driver、RISQL エントリ ツール、および RISQL レポ ーターのインストール手順についても説明します。C および C++ アプリケーション用 ODBC 製品と Java™ アプリケーション用 JDBC 製品を使用して、 IBM Red Brick Warehouse にアクセスする方法を説明 しています。 IBM Red Brick Vista の集約計算と管理システムにつ いて説明しています。集約を使用するようにクエリを 自動的にリライトすることによって Vista クエリ パ フォーマンスを向上させる方法、毎日収集されるデー タに基づいて Advisor が最適な集約セットを推奨する 方法、詳細テーブルの更新時の集約テーブルの保守方 法を説明しています。 IBM Red Brick Warehouse のインストールと構成に関 する情報、およびプラットフォーム固有の情報につい て説明しています。UNIX および Linux ベースのシス テム用と、Windows ベースのシステム用があります。 IBM Red Brick Warehouse の各製品でサポートされて いるロケール要素 (言語、テリトリ、コード セット、 ソート順) を定義しています¡ IBM Red Brick Warehouse 製品によって出力される通 知メッセージ、警告メッセージ、およびエラー メッセ ージの一覧を記載しています。また、各メッセージの 原因と対処方法も示しています。さらに、ログ ファイ ルに書き込まれるイベント ログ メッセージについて も説明しています。 クライアント インストールお よび接続ガイド IBM Red Brick Vista ユーザー ズ ガイド インストールおよび構成ガイド ロケール サポート メッセージおよびコード リフ ァレンス ガイド 本書について ix マニュアル 説明 クエリ パフォーマンス ガイド クエリ パフォーマンスの決定要素と、最適なクエリ パフォーマンスを得るためのデータベースのチューニ ング方法について説明しています。 Red Brick ツール (SET STATS、Dynamic Statistic Tables: 動的統計テー ブル、EXPLAIN、および Query Performance Monitor) を使用してクエリ パフォーマンスを評価する方法につ いても、例を挙げて説明しています。 マニュアルの印刷後に判明した現リリースに関する情 報が含まれます。 SQL 文の入力に使用するコマンド行ツールである RISQL エントリ ツールと、RISQL エントリ ツール にレポート フォーマット設定機能を付加した RISQL レポーターの詳細なガイドです。 Red Brick SQL の実装と RISQL (IBM Red Brick Warehouse データベースのための拡張機能) に関する 詳細な言語リファレンスです。 例題に基づいて SQL を復習し、RISQL 拡張機能、マ クロ関数、Aroma サンプル データベースを紹介しま す。 テーブル マネジメント ユーティリティ を使用したデ ータのロード、保守、およびバックアップ作業につい て説明しています。データのコピーと rb_cm コピー 管理ユーティリティについても説明しています。 リリース ノート RISQL エントリ ツールおよび RISQL レポーター ユーザーズ ガイド SQL リファレンス ガイド SQL 自習ガイド テーブル マネジメント ユーテ ィリティ リファレンス ガイド また、以下の参考資料も必要に応じて参照してください。 v SQL に関する入門書 v リレーショナル データベースの入門書 v ご使用のハードウェア プラットフォームとオペレーティング システムのマニュアル x IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド その他のマニュアル 上記以外の情報は、以下のマニュアルを参照してください。 マニュアル 説明 オンライン マニュアル Red Brick 製品には、各種の IBM Red Brick Warehouse マ ニュアルを電子フォーマットで収録した CD が同梱されて います。収録されているマニュアルは、システムにインスト ールして使用することも、CD から直接アクセスすることも 可能です。 印刷マニュアル オンライン ヘルプ オンラインでマニュアルを参照できます。オンラインで参照 するには、次のアドレスにアクセスしてください。 www-3.ibm.com/software/data/informix/pubs/ 印刷マニュアルを注文する場合は、担当販売員までご連絡く ださい。 IBM はグラフィカル ユーザ インタフェース (GUI) を用い たオンライン ヘルプを提供します。これにより、各インタ フェースや実行する関数についての情報を参照できます。オ ンライン ヘルプを表示するには、GUI のヘルプ機能を利用 してください。 ご意見の送付方法 今後のマニュアルの品質向上を図るため、修正すべき箇所や有用な情報をご提案くださ い。その際、以下の情報をご提出ください。 v マニュアルの正式名とバージョン v マニュアルに関するご意見 v 氏名、住所、電話番号 連絡先電子メールアドレス: [email protected] このメール アドレスは、マニュアル内の記述誤りや誤植をご報告いただくために用意さ れています。代わりに、以下の Web サイトのフォームに記述して送信していただくこ とも可能です。 www.ibm.com/software/data/rcf/ 技術上の問題に関する緊急な問い合わせについては、IBM ソフトウェア サポートまで ご連絡ください。 本書について xi xii IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 第 1 章 Client Connector Pack のインストール この章では、IBM Red Brick Warehouse Client Connector Pack を Windows コンピュー タにインストールする方法、およびアンインストールする方法について説明します。ま た、特定のデータベースへの接続に必要なデータ ソースを作成する方法についても説明 します。 サポートされる Windows プラットフォームの一覧は、「リリース ノート」を参照して ください。 ソフトウェアをインストールして使用する前に、2 ページの『ドライバ要件』 および 3 ページの『Client Connector Pack コンポーネントのインストール』を必ずお読みくださ い。 Client Connector Pack のコンポーネント Windows 版 Client Connector Pack は以下のコンポーネントで構成されています。これ らのコンポーネントは、ソフトウェア CD-ROM の ¥CCP¥Client32 ディレクトリにあり ます。 製品 説明 Red Brick ODBC Driver および RBPing Red Brick ODBC Driver を使用して、 ODBC に準拠したさまざまなデータベース アプリケーションを IBM Red Brick Warehouse と連動させることができます。 ドライバをインストールすると、Microsoft Access などのアプリケーションを使用して IBM Red Brick Warehouse データベースの 情報にアクセスできます。 RISQL エントリ ツール © Copyright IBM Corp. 1996, 2004 RBPing を使用することにより、データ ソ ースが接続されており、データを受信して いるかテストできます。 RISQL エントリ ツールは、IBM Red Brick Warehouse データベースにアクセス する機能を備えています。 1 製品 説明 RISQL レポーター RISQL レポーターは、RISQL エントリ ツ ールの全機能に加え、データベースから抽 出したデータを使用してレポートのフォー マットを設定する機能を備えています。 クライアント TMU (rb_ctmu) はクライア ント側の実行可能ファイルであり、リモー ト サーバ マシン上で TMU (Table Management Utility) のロード処理を起動し ます。詳細については、「テーブル マネ ジメント ユーティリティ リファレンス ガイド」を参照してください。 クライアント TMU ディレクトリ CCP の下には JDBC というディレクトリもあります。Red Brick JDBC Driver を使用して、JDBC に準拠したさまざまなデータベース アプリケーションを IBM Red Brick Warehouse と連動させることができます。 JDBC ドライバは、Java イ ンタフェースと Java クラスを実装しています。プログラマは、これらのインタフェー スとクラスを使用してデータベースに接続し、特定のデータベース管理システム (DBMS) へクエリを送信します。JDBC のインストール手順については、53 ページの 『第 4 章 Red Brick JDBC ドライバ: はじめに』 を参照してください。 ドライバ要件 Windows 版 Red Brick ODBC Driver および Red Brick JDBC Driver はどちらも、 Client Connector Pack CD-ROM からインストールします。UNIX/Linux 版の Red Brick ODBC Driver および Red Brick ODBClib SDK は、IBM Red Brick Warehouse Server と同じ CD-ROM からインストールします。 ODBC ドライバの要件 Client Connector Pack バージョン 2.3 および IBM Red Brick Warehouse 6.30 に同梱さ れている Red Brick ODBC Driver は、32 ビットバージョンのみで使用できます。古い サーバ リリースとの下位方向の互換性の詳細については、「リリース ノート」を参照 してください。 JDBC ドライバの要件 Java が動作するオペレーティング システムでは、Red Brick JDBC Driver をインスト ールして使用できます。JDBC ドライバを使用するには、適切な Java ソフトウェア開 発キット (SDK) をシステムにインストールする必要があります。このリリースでサポ ートされている SDK については、「リリース ノート」を参照してください。 2 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド クライアントの要件 Client Connector Pack のコンポーネントをインストールするには、Windows クライアン ト システムに以下のハードウェアとソフトウェアが必要です。 v TCP/IP ネットワークに接続している IBM 互換 PC。 v CD-ROM ドライブ。Client Connector Pack CD-ROM には、必要に応じて 3.5 インチ ディスケットにコピーできるディスク イメージが格納されています。 v 6MB 以上の未使用領域があるハード ディスク。 v 適切なバージョンの Windows オペレーティング システム、ネットワーク ソフトウ ェア、および通信ソフトウェア。 v WinSock 準拠の TCP/IP スタック。 Client Connector Pack コンポーネントのインストール 使用するコンピュータに、以前のバージョンの Client Connector Pack がインストールさ れている場合、IBM Red Brick Warehouse をインストールする前に、Uninstaller ユーテ ィリティを使用してその Client Connector Pack をアンインストールします。詳細につい ては、6 ページの『Client Connector Pack のアンインストール』を参照してください。 重要: IBM Red Brick Warehouse Server がすでにインストールされている Windows マ シンでは Client Connector Pack ODBC ユーティリティは不要であるため、この ユーティリティをインストールしないでください。サーバのインストール時にデ フォルトで Client Connector Pack ODBC ユーティリティがインストールされま す。同じコンピュータに Client Connector Pack 版 ODBC がインストールされる と、Client Connector Pack とともにインストールされた DLL ファイルがサーバ とともにインストールされた同じ DLL ファイルと競合するため、クライアント ツールが応答しなくなることがあります。 JDBC ドライバではこのような競合は発生しないため、57 ページの『ドライバの インストール』に記載されたインストール手順に従い、サーバがインストールさ れている Windows マシンに JDBC ドライバを正常にインストールできます。 Client Connector Pack をインストールするには、Red Brick Setup ユーティリティを使 用します。このユーティリティを実行すると、インストール時に選択したオプションに 応じて、以下のファイルが Windows オペレーティング システムのディレクトリにコピ ーされます。 v IBM Red Brick Warehouse (RB32ODBC.DLL) および関連ファイル v ODBC Administrator プログラム ファイル この Microsoft プログラムを使用すると、ODBC ドライバと DSN を追加または削除 できます。 v RBPing および関連ファイル 第 1 章 Client Connector Pack のインストール 3 v RISQL エントリ ツール ファイル v RISQL レポーター ファイル v クライアント TMU ファイル ヒント: [Cancel] をクリックすると、ダイアログ ボックスが表示されます。このダイ アログ ボックスで、インストールを再開するか、Windows に戻るかを選択で きます。 インストールを開始する方法: 1. 実行中のアプリケーションをすべて終了します。 2. Windows を開始します。 3. Client Connector Pack インストール CD-ROM を挿入します。 4. [スタート] > [ファイル名を指定して実行] をクリックします。[ファイル名を指定し て実行] ダイアログ ボックスが表示されます。 5. drive:¥CCP¥Client32¥Japanese¥Disk1¥Setup.exe と入力し、[OK] をクリックして Client Connector Pack (Client32) をインストールします。 Setup ユーティリティの [Welcome] 画面が表示されます。[Next] をクリックし、次 に [Yes] をクリックしてライセンス契約条件に同意します。 6. [Select Components] 画面で、インストールする製品を選択します。 7. [Locale Components Specification] 画面で、デフォルト値をそのまま使用するか、ま たは各カテゴリの下にあるメニューから他の値を選択します。 8. [ODBC Data Source Administrator] 画面で、DSN を追加するには [Add] をクリック します。DSN を後で作成する場合は、[Cancel] をクリックしてウィンドウを閉じま す。 4 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド インストール エラー インストール中に以下のエラー メッセージが表示される場合があります。 Microsoft Setup: An error occurred while copying MSVCRT20.DLL. Restart Windows and try installing again (before running any application that uses ODBC). このエラー メッセージが表示された場合は、以下の操作を実行します。 1. [Cancel] をクリックして、Red Brick の Setup を終了します。 2. Windows を終了します。 3. コンピュータを再起動します。 Setup ユーティリティを再実行してもこのエラー メッセージが表示される場合は、ディ レクトリ System32 にある MSVCRT20.DLL および CTL3D32.DLL という 2 つの Microsoft ファイルの名前を変更してください。あるいは、これらのファイルを別のディレクトリ に移動してから Setup ユーティリティを再実行してください。 第 1 章 Client Connector Pack のインストール 5 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. [スタート] > [設定] > [コントロール パネル] > [アプリケーションの追加と削除] をクリックし、レジストリ ファイルに Client Connector Pack が登録されているかど うかを確認します。Client Connector Pack が登録されている場合、一覧に Client32 が表示されます。 2. [スタート] > [プログラム] > [Red Brick Client (32)] > [Uninstaller] を選択し、 Windows から Client Connector Pack をアンインストールします。 Windows でのデータ ソースの設定 このセクションでは、Windows プラットフォーム上でデータ ソース名 (DSN) を追加、 設定、再設定、および削除する方法について説明します。DSN とは、ホスト システム にインストールされている特定のサーバ、そのホスト上にあるデータベース名、データ ベース ユーザ名を組み合わせた論理名のことです。 このセクションでは、RBPing (Red Brick Ping) を使用して DSN をテストする方法につ いても説明します。 UNIX 上で DSN を追加、設定、および削除する方法については、 45 ページの『UNIX での ODBC アプリケーションの実行』 を参照してください。 新しい DSN を追加および設定する方法: 1. [スタート] > [設定] > [コントロール パネル] > [ODBC Data Sources] を選択 し、[ODBC Data Source Administrator] ダイアログ ボックスを表示します。 2. DSN を変更するためのオプションを選択します。 6 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド v アクセス権と移行特権を 1 ユーザにのみ付与するには、[User DSN] オプション を選択します。 v システムの全ユーザにアクセスを許可するには、[System DSN] オプションを選択 します。 v ファイルへの書込み特権を持つユーザにアクセスを許可するには、[File DSN] オ プションを選択します。 3. ステップ 1 で選択したオプションに対応するタブをクリックします。 4. [Add] をクリックして [Create New Data Source] ダイアログ ボックスを表示しま す。 5. 一覧からドライバを選択し、[OK] をクリックします。 [Red Brick ODBC Driver Data Source] ダイアログ ボックスが表示されます。以下の 情報をダイアログ ボックスに入力します。 v データ ソース名 データ ソース名とは DSN に対する論理識別子で、以下の文字を除く任意の文字 列で構成できます。 ( ) [ ] = ; { } , ? * ! @ v サーバ (ホスト:ポート) これは、(たとえば brick:7923 などの) IBM Red Brick Warehouse を実行するサ ーバのホスト名とポート番号です。 v データベース名 データベース名とは、(たとえば Aroma などの) データベース管理者が設定したホ スト コンピュータ上の有効なデータベースの論理識別子のことです。 v デフォルトのユーザ名 デフォルトのユーザ名とは、システム ユーザ名といった、データベースへのアク セスを許可するデータベース ユーザ名のことです。 6. [OK] をクリックし、[ODBC Data Source Administrator] ダイアログ ボックスを表示 します。 新しく定義した DSN が一覧に表示されます。 DSN を追加すると、データ ソース名は ODBC に準拠したツールのコネクティビテ ィ コンポーネントで表示されます。 CCP を初めてインストールする場合、DSN を追加した後に [Setup Complete] ダイアロ グ ボックスが表示されます。コンピュータをすぐに再起動する場合は [Yes ]、コンピ ュータを後で再起動する場合は [No] をクリックします。 第 1 章 Client Connector Pack のインストール 7 DSN を再設定する方法: 1. [スタート] > [設定] > [コントロール パネル] > [ODBC Data Sources] を選択 し、[ODBC Data Source Administrator] ダイアログ ボックスを表示します。 2. 変更する DSN を選択します。 3. [Configure] をクリックし、[Red Brick ODBC Driver Data Source] ダイアログ ボッ クスを表示します。 4. DSN の設定情報を変更し、[OK] をクリックします。 DSN を削除する方法: 1. [スタート] > [設定] > [コントロール パネル] > [ODBC Data Sources] を選択 し、[ODBC Data Source Administrator] ダイアログ ボックスを表示します。 2. 削除する DSN を選択します。 3. [Remove] をクリックして、[32-bit ODBC Administrator] 質問ボックスを表示しま す。 4. 削除を確定するには [Yes] を、取り消す場合は [No] をクリックします。 DSN をテストする方法: 1. [スタート] > [プログラム] (または [プログラム マネージャ]) > [Red Brick Client 32] を選択します。 2. [RWPing] ダイアログ ボックスで、テストする DSN を選択し、[ping] をクリック します。 [Status] ダイアログ ボックスに接続に関する情報が表示されます。RBPing が DSN との接続に失敗すると、エラーの原因を説明するメッセージ「ドライバのロードが正 常に行われません」が表示されます。 8 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 第 2 章 Red Brick ODBC Driver の説明 この章では、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 リファレンス ガイド」を参照してください。 © Copyright IBM Corp. 1996, 2004 9 アーキテクチャ IBM Red Brick Warehouse は、データ ウェアハウス、データマート、およびオンライ ン分析処理 (OLAP) の各アプリケーションを対象としたリレーショナル データベース 管理システム (RDBMS) です。 IBM Red Brick Warehouse データベースにアクセスす るには、Red Brick ODBC Driver インタフェースを介してRISQL エントリ ツールなど のアプリケーションを使用します。以下の図は、IBM Red Brick Warehouse データベー スにアクセスに関連した通信ソフトウェアの階層を示したものです。 IBM Red Brick Warehouse のアーキテクチャと接続の詳細については、「管理者ガイ ド」を参照してください。 要件 このセクションでは、Red Brick ODBC Driver に必要なシステム、スタック サイズ、 および環境変数について説明します。 10 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 以下のテーブルは、オペレーティング システムに対して推奨される TCP/IP スタックを 示したものです。 クライアント サイドの オペレーティング システム 推奨または必須の TCP/IP スタック サポートされているスタックの一覧については、IBM カスタマ サポートにお問い合わせください。 WinSock 準拠の内蔵 TCP/IP スタックが必要です。 UNIX Windows スタック サイズの要件 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 にバージョン レベルを設定できます。 v アプリケーションにおいて、ODBC 2.x として動作するとみなされる場合は、 SQL_ATTR_ODBC_VERSION を SQL_OV_ODBC2 に設定します。 v アプリケーションにおいて、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 関数 SQLAllocConnect D コメント ODBC 3.0 では SQLAllocHandle に置き換えられます。 第 2 章 Red Brick ODBC Driver の説明 11 インタフェース準拠 レベル ODBC 関数 SQLAllocEnv D SQLAllocHandle コア コメント ODBC 3.0 では SQLAllocHandle に置き換えられます。 以下に示す廃止予定の ODBC 2.x 関数を置き換えます。 v SQLAllocConnect v SQLAllocEnv SQLAllocStmtD SQLBindCol コア SQLBindParameter コア SQLCancel コア SQLCloseCursor SQLColAttribute コア コア SQLColumnPrivileges レベル 2 SQLColumns コア SQLConnect コア SQLCopyDesc SQLDescribeCol SQLDescribeParam コア コア レベル 2 SQLDisconnect SQLDriverConnect コア コア SQLDrivers SQLEndTran コア コア SQLErrorD 12 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド v SQLAllocStmt ODBC 3.0 では SQLAllocHandle に置き換えられます。 ODBC 2.x から機能の変更はあ りません。 ODBC 2.x から変更されまし た。ODBC 2.x の SQLSetParam を置き換えます。 ODBC 2.x から機能の変更はあ りません。 ODBC 2.x の SQLColAttributes を置き換えます。 ODBC 2.x から機能の変更はあ りません。 ODBC 2.x から機能の変更はあ りません。 ODBC 2.x から機能の変更はあ りません。 ODBC 2.x から機能の変更はあ りません。SQLExecDirect の後に 呼び出された場合、パラメータ 記述またはパラメータ数を戻し ません。 ODBC 2.x から機能の変更はあ りません。 ODBC 2.x の SQLTransact を置 き換えます。 ODBC 3.0 では SQLGetDiagRec に置き換えられます。 ODBC 関数 インタフェース準拠 レベル SQLExecDirect コア SQLExecute コア SQLFetch コア SQLFetchScroll コア (オプション SQL_FETCH_NEXT) レベル 2 SQLForeignKeys SQLFreeConnectD SQLFreeEnvD SQLFreeHandle コア コメント ODBC 2.x から機能の変更はあ りません。 ODBC 2.x から機能の変更はあ りません。 ODBC 2.x から機能の変更はあ りません。 SQL_FETCH_NEXT オプション のみサポートされています。 ODBC 2.x から機能の変更はあ りません。 ODBC 3.0 では SQLFreeHandle に置き換えられます。 ODBC 3.0 では SQLFreeHandle に置き換えられます。 以下に示す ODBC 2.x 関数を置 き換えます。 v SQLFreeConnect SQLFreeStmt コア SQLGetConnectAttr コア SQLGetConnectOptionD SQLGetCursorName コア SQLGetData コア SQLGetFunctions SQLGetDescField SQLGetDescRec コア コア コア v SQLFreeEnv ODBC 2.x から機能の変更はあ りません。 ODBC 2.x の SQLGetConnectOption を置き換 えます。 17 ページの『接続属 性』を参照してください。 ODBC 3.0 では SQLGetConnectAttr に置き換えら れます。 ODBC 2.x から機能の変更はあ りません。 ODBC 2.x から機能の変更はあ りません。 注: SQLGetData は SQL_ATTR_ROW_ ARRAY_SIZE により設定された 配列サイズを使用しません。こ の関数は常に、一度に 1 つの行 を取り出します。 第 2 章 Red Brick ODBC Driver の説明 13 ODBC 関数 インタフェース準拠 レベル SQLGetDiagField SQLGetDiagRec コア コア SQLGetEnvAttr SQLGetFunctions SQLGetInfo SQLGetStmtAttr コア レベル 1 コア コア SQLGetStmtOptionD SQLGetTypeInfo コア SQLMoreResults レベル 1 SQLNativeSql コア SQLNumParams SQLNumResultCols コア コア SQLParamData コア SQLPrepare コア SQLPrimaryKeys レベル 1 SQLPutData コア SQLRowCount コア SQLSetConnectAttr コア SQLSetConnectOptionD SQLSetCursorName 14 コア IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド コメント ODBC 2.x の SQLError を置き 換えます。 ODBC 2.x の SQLGetStmtOption を置き換えます。 ODBC 3.0 では SQLGetStmtAttr に置き換えられます。 ODBC 2.x から機能の変更はあ りません。 エラーが発生すると、次の Red Brick 固有のメッセージを戻しま す。 SQL_NO_DATA_FOUND ODBC 2.x から機能の変更はあ りません。 ODBC 2.x から機能の変更はあ りません。 ODBC 2.x から機能の変更はあ りません。 ODBC 2.x から機能の変更はあ りません。 ODBC 2.x から機能の変更はあ りません。 ODBC 2.x から機能の変更はあ りません。 ODBC 2.x から機能の変更はあ りません。 ODBC 2.x の SQLSetConnectOption を置き換え ます。 17 ページの『接続属 性』を参照してください。 ODBC 3.0 では SQLSetConnectAttr に置き換えら れます。 ODBC 2.x から機能の変更はあ りません。 ODBC 関数 インタフェース準拠 レベル SQLSetDescField SQLSetDescRec SQLSetEnvAttr SQLSetParamD コア コア コア SQLSetStmtAttr コア SQLSetStmtOptionD SQLSpecialColumns コア SQLStatistics コア SQLTablePrivileges レベル 2 SQLTables コア SQLTransactD コメント ODBC 3.0 では SQLBindParameter に置き換えら れます。 ODBC 2.x の SQLSetStmtOption を置き換えます。 ODBC 3.0 では SQLSetStmtAttr に置き換えられます。 ODBC 2.x から機能の変更はあ りません。 ODBC 2.x から機能の変更はあ りません。 ODBC 2.x から機能の変更はあ りません。 ODBC 2.x から機能の変更はあ りません。 ODBC 3.0 では SQLEndTran に 置き換えられます。 以下のテーブルは、Red Brick ODBC 2.0 Driver でサポートされ、ODBC 3.0 では廃止 予定の関数の一覧です。このテーブルに記載されている廃止予定 ODBC 2.0 関数は、 ODBC 3.0 で置き換えられる関数にマップされます。 第 2 章 Red Brick ODBC Driver の説明 15 16 廃止予定関数 3.0 で置き換えられる関数 SQLAllocConnect SQLAllocEnv SQLAllocStmt SQLColAttributes SQLError SQLFreeConnect SQLFreeEnv SQLFreeStmt (引数 SQL_DROP を使用) SQLGetConnectOption SQLGetStmtOption SQLParamOptions SQLSetConnectOption SQLSetParam SQLSetScrollOption SQLSetStmtOption SQLTransact SQLAllocHandle SQLAllocHandle SQLAllocHandle SQLColAttribute SQLGetDiagRec SQLFreeHandle SQLFreeHandle SQLFreehandle SQLGetConnectAttr SQLGetStmtAttr SQLSetStmtAttr SQLSetConnectAttr SQLBindParameter SQLSetStmtAttr SQLSetStmtAttr SQLEndTran IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 環境属性 以下のテーブルは、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 でサポートされている接続属性の一覧です。 接続属性 デフォルト値 SQL_ATTR_ACCESS_MODE SQL_ATTR_ASYNC_ENABLE SQL_ATTR_AUTO_IPD SQL_ATTR_AUTOCOMMIT SQL_ATTR_CURRENT_CATALOG SQL_ATTR_LOGIN_TIMEOUT SQL_ATTR_METADATA_ID SQL_LOGIN_TIMEOUT SQL_TRANSLATE_DLL SQL_TRANSLATE_OPTION SQL_ATTR_TXN_ISOLATION SQL_MODE_READ_WRITE SQL_ASYNC_ENABLE_OFF SQL_TRUE SQL_AUTOCOMMIT_ON デフォルト値はありません。 0 SQL_FALSE 15 NULL (指定なし) 0 (FALSE) デフォルト値はありません。 SQL_ATTR_TXN_ISOLATION を設定できるの は、データベース内に実行中のトランザクショ ンがない場合のみです。 文属性 以下のテーブルは、SQLGetStmtattr 関数および SQLSetStmtattr 関数に対して Red Brick ODBC Driver でサポートされている文属性の一覧です。 SQL_ASYNC_ENABLER のよ うに末尾に R という上付き文字が付いている属性は ODBC 2.x 属性であり、ODBC 3.0 では別の属性に置き換えられます。 第 2 章 Red Brick ODBC Driver の説明 17 文属性 SQL_ASYNC_ENABLE デフォルト値とコメント R SQL_ATTR_APP_PARAM_DESC SQL_ATTR_APP_ROW_DESC SQL_ATTR_ASYNC_ENABLE SQL_ATTR_CONCURRENCY SQL_ATTR_CURSOR_TYPE SQL_ATTR_ENABLE_AUTO_IPD SQL_ATTR_IMP_PARAM_DESC SQL_ATTR_IMP_ROW_DESC SQL_ATTR_MAX_LENGTH SQL_ATTR_MAX_ROWS SQL_ATTR_METADATA_ID SQL_ATTR_NOSCAN SQL_ATTR_PARAM_BIND_OFFSET_PTR SQL_ATTR_PARAM_BIND_TYPE SQL_ATTR_PARAM_OPERATION_PTR SQL_ATTR_PARAM_STATUS_PTR SQL_ATTR_PARAMS_PROCESSED_PTR SQL_ATTR_PARAMSET_SIZE SQL_ATTR_QUERY_TIMEOUT SQL_ATTR_ROW_ARRAY_SIZE SQL_ATTR_ROW_BIND_OFFSET_PTR SQL_ATTR_ROW_BIND_TYPE 18 ODBC 3.x では SQL_ATTR_ASYNC_ENABLE に置き換え られます。 [デフォルト値なし] [デフォルト値なし] ODBC 2.x 属性 SQL_ASYNC_ENABLE を 置き換えます。デフォルト値は SQL_ASYNC_ENABLE_OFF です。 SQL_CONCUR_READ_ONLY SQL_CURSOR_FORWARD_ONLY 接続属性 SQL_ATTR_AUTO_IPD の値 読取り専用。デフォルト値はありません。 読取り専用。デフォルト値はありません。 ODBC 2.x 属性 SQL_MAX_LENGTH を置 き換えます。 *ValuePtr が 0 (デフォルト値) の場合、ド ライバは使用可能なデータをすべて戻そう とします。 ODBC 2.x 属性 SQL_MAX_ROWS を置き 換えます。0 (デフォルト値) の場合、すべ ての行が戻されます。 SQL_FALSE SQL_NOSCAN_OFF NULL SQL_PARAM_BIND_BY_COLUMN [デフォルト値なし] [デフォルト値なし] [デフォルト値なし] 1 最大サイズは 1024 です。 注: SELECT 文でのパラメータ配列の指定 はサポートされていません。 0 (= タイムアウトなし) SQLExecDirect および SQLExecute に対し てのみ有効です。 1 最大サイズは 1024 です。 [デフォルト値なし] ODBC 2.x 属性 SQL_BIND_TYPE を置き 換えます。デフォルト値は SQL_BIND_BY_COLUMN です。 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 文属性 デフォルト値とコメント SQL_ATTR_ROW_NUMBER SQL_ATTR_ROW_OPERATION_PTR SQL_ATTR_ROW_STATUS_PTR SQL_ATTR_ROWS_FETCHED_PTR SQL_BIND_TYPER [デフォルト値なし] [デフォルト値なし] [デフォルト値なし] [デフォルト値なし] ODBC 3.x では SQL_ATTR_ROW_BIND_TYPE に置き換え られます。 ODBC 3.x では SQL_ATTR_MAX_LENGTH に置き換えら れます。 ODBC 3.x では SQL_ATTR_MAX_ROWS に置き換えられます。 0 SQL_MAX_LENGTHR SQL_MAX_ROWSR SQL_QUERY_TIMEOUT 記述子フィールド 記述子とは、SQL 文のパラメータに関する情報、またはリザルト セットの列に関する 情報が格納される、データ フィールドのセットのことです。記述子フィールドを取得お よび設定するには、以下の関数を使用します。 記述子関数 コメント SQLGetDescField SQLGetDescRec SQLSetDescField 1 つの記述子レコードに 1 つのフィールドの値を戻します。 1 つの記述子レコードに複数のフィールドの値を戻します。 1 つの記述子レコードに 1 つのフィールドの値を設定しま す。 1 つの記述子レコードに複数のフィールドの値を設定しま す。 SQLSetDescRec さらに、任意の記述子ハンドルから別の記述子ハンドルに記述子情報をコピーするに は、SQLCopyDesc 関数を使用できます。 記述子にはヘッダ フィールドとレコード フィールドがあります。以下のテーブルは、 Red Brick ODBC Driver でサポートされているヘッダ フィールドの一覧です。 第 2 章 Red Brick ODBC Driver の説明 19 記述子ヘッダ フィールド 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 でサポートされているレコード フィール ドの一覧です。 20 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 記述子レコード フィールド 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 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 種類があります。ヘッダ レコ ードには、関数の実行に関する一般情報が格納されるヘッダ フィールドがあります。状 態レコードには、特定のエラーまたは警告に関する情報が格納される状態フィールドが あります。 関数の診断情報を取得するには、SQLGetDiagField または SQLGetDiagRec を使用でき ます。SQLGetDiagField は、1 つの診断フィールドに情報を戻します。SQLGetDiagRec は、1 つの診断レコードの複数のフィールドに情報を戻します。 第 2 章 Red Brick ODBC Driver の説明 21 以下のテーブルは、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 SQL_DIAG_SERVER_NAME SQL_DIAG_SUBCLASS_ORIGIN SQL_DIAG_CONNECTION_NAME SQLGetInfo 情報タイプ 以下のテーブルは、SQLGetInfo 関数でサポートされている情報タイプの一覧です。 情報タイプ 戻り値 SQL_ACCESSIBLE_TABLES SQL_ACCESSIBLE_PROCEDURES SQL_ACTIVE_CONNECTIONS (ODBC 3.0 では名 前を SQL_MAX_DRIVER_CONNECTIONS に変更) SQL_ACTIVE_ENVIRONMENTS ″N″ ″N″ 0 SQL_ACTIVE_STATEMENTS (ODBC 3.0 では名前 を SQL_MAX_CONCURRENT_ACTIVITES に変更) 22 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド SQLUSMALLINT の値は、Red Brick Driver でサポートされてい るアクティブな環境の最大数を表 します。限定されていない場合は 0 を戻します。 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 0 SQL_AM_STATEMENT 0 0 0 0 ″N″ ″″ ″″ 0 SQL_CB_NULL ″″ ″Y″ 0 0 0 SQL_CVT_INTEGER、 SQL_CVT_DECIMAL、 SQL_CVT_REAL、 SQL_CVT_TIME、 SQL_CVT_DATE、 SQL_CVT_FLOAT、または SQL_CVT_TIMESTAMP SQL_CVT_CHAR、 SQL_CVT_DATE SQL_CVT_CHAR、 SQL_CVT_INTEGER、 SQL_CVT_DECIMAL、 SQL_CVT_REAL、または SQL_CVT_FLOAT SQL_CVT_CHAR、 SQL_CVT_FLOAT、 SQL_CVT_INTEGER、 SQL_CVT_DECIMAL、または SQL_CVT_REAL SQL_ALTER_DOMAIN SQL_ASYNC_MODE SQL_BATCH_ROW_COUNT SQL_BATCH_SUPPORT SQL_BOOKMARK_PERSISTENCE SQL_CATALOG_LOCATION SQL_CATALOG_NAME SQL_CATALOG_NAME_SEPARATOR SQL_CATALOG_TERM SQL_CATALOG_USAGE SQL_CONCAT_NULL_BEHAVIOR SQL_COLLATION_SEQ SQL_COLUMN_ALIAS SQL_CONVERT_BIGINT SQL_CONVERT_BINARY SQL_CONVERT_BIT SQL_CONVERT_CHAR SQL_CONVERT_DATE SQL_CONVERT_DECIMAL SQL_CONVERT_DOUBLE 第 2 章 Red Brick ODBC Driver の説明 23 情報タイプ 戻り値 SQL_CONVERT_FLOAT SQL_CVT_CHAR、 SQL_CVT_INTEGER、 SQL_CVT_DECIMAL、 SQL_CVT_REAL、または SQL_CVT_FLOAT SQL_FN_CVT_CONVERT SQL_CVT_CHAR、 SQL_CVT_INTEGER、 SQL_CVT_DECIMAL、 SQL_CVT_REAL、または SQL_CVT_FLOAT 0 0 0 0 SQL_CVT_CHAR、 SQL_CVT_INTEGER、 SQL_CVT_DECIMAL、 SQL_CVT_REAL、または SQL_CVT_FLOAT SQL_CVT_CHAR、 SQL_CVT_DECIMAL、 SQL_CVT_FLOAT、 SQL_CVT_INTEGER、または SQL_CVT_REAL SQL_CVT_CHAR、 SQL_CVT_INTEGER、 SQL_CVT_DECIMAL、 SQL_CVT_REAL、または SQL_CVT_FLOAT SQL_CVT_CHAR または SQL_CVT_TIME SQL_CVT_CHAR、 SQL_CVT_TIME、または SQL_CVT_DATE SQL_CVT_CHAR、 SQL_CVT_INTEGER、 SQL_CVT_DECIMAL、 SQL_CVT_REAL、または SQL_CVT_FLOAT 0 SQL_CONVERT_FUNCTIONS SQL_CONVERT_INTEGER SQL_CONVERT_INTERVAL_DAY_TIME SQL_CONVERT_INTERVAL_YEAR_MONTH SQL_CONVERT_LONGVARBINARY SQL_CONVERT_LONGVARCHAR SQL_CONVERT_NUMERIC SQL_CONVERT_REAL SQL_CONVERT_SMALLINT SQL_CONVERT_TIME SQL_CONVERT_TIMESTAMP SQL_CONVERT_TINYINT SQL_CONVERT_VARBINARY 24 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 情報タイプ 戻り値 SQL_CONVERT_VARCHAR SQL_CVT_INTEGER、 SQL_CVT_DECIMAL、 SQL_CVT_REAL、 SQL_CVT_FLOAT、 SQL_CVT_TIMESTAMP SQL_CN_DIFFERENT 0 0 0 0 0 SQL_CT_CREATE_TABLE 0 SQL_CV_CREATE_VIEW SQL_CB_DELETE SQL_CB_DELETE SQL_SENSITIVE、 SQL_INSENSITIVE、または SQL_UNSPECIFIED ログイン時に入力 ″N″ ログイン時に入力 0 “IBM Red Brick Warehouse“ 現在のサーバのバージョン SQL_DI_CREATE_INDEX または SQL_DI_DROP_INDEX 0 ″Y″ ドライバ マネージャのバージョン を表す文字列。 ドライバ マネージャが値を処理し ます。 SQLUINTEGER 値。ドライバの記 述子ハンドル。ドライバ マネージ ャ記述子ハンドルにより特定され ます。 ドライバ マネージャが値を処理し ます。 ドライバ マネージャが値を処理し ます。 ドライバ マネージャが値を処理し ます。 SQL_CORRELATION_NAME SQL_CREATE_ASSERTION SQL_CREATE_CHARACTER_SET SQL_CREATE_COLLATION SQL_CREATE_DOMAIN SQL_CREATE_SCHEMA SQL_CREATE_TABLE SQL_CREATE_TRANSLATION SQL_CREATE_VIEW SQL_CURSOR_COMMIT_BEHAVIOR SQL_CURSOR_ROLLBACK_BEHAVIOR SQL_CURSOR_SENSITIVITY SQL_DATA_SOURCE_NAME SQL_DATA_SOURCE_READ_ONLY SQL_DATABASE_NAME SQL_DATETIME_LITERALS SQL_DBMS_NAME SQL_DBMS_VER SQL_DDL_INDEX SQL_DEFAULT_TXN_ISOLATION SQL_DESCRIBE_PARAMETER SQL_DM_VER SQL_DRIVER_HDBC SQL_DRIVER_HDESC SQL_DRIVER_HENV SQL_DRIVER_HLIB SQL_DRIVER_HSTMT 第 2 章 Red Brick ODBC Driver の説明 25 情報タイプ 戻り値 ″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 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_ 1 -STATEMENTS 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_DRIVER_NAME 26 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 情報タイプ 戻り値 SQL_MAX_COLUMNS_IN_INDEX SQL_MAX_COLUMNS_IN_ORDER_BY SQL_MAX_COLUMNS_IN_SELECT SQL_MAX_COLUMNS_IN_TABLE SQL_MAX_CONCURRENT_ACTIVITES SQL_MAX_CURSOR_NAME_LEN SQL_MAX_DRIVER_CONNECTIONS SQL_MAX_IDENTIFIER_LEN SQL_MAX_INDEX_SIZE SQL_MAX_OWNER_NAME_LEN (ODBC 3.0 では 名前を SQL_MAX_SCHEMA_NAME_LEN に変更) SQL_MAX_PROCEDURE_NAME_LEN SQL_MAX_QUALIFIER_NAME_LEN (ODBC 3.0 で は名前を SQL_MAX_CATALOG_NAME_LEN に変 更) SQL_MAX_ROW_SIZE_INCLUDES_LONG SQL_MAX_ROW_SIZE SQL_MAX_SCHEMA_NAME_LEN SQL_MAX_STATEMENT_LEN SQL_MAX_TABLE_NAME_LEN SQL_MAX_TABLES_IN_SELECT SQL_MAX_USER_NAME_LEN SQL_MULT_RESULT_SETS SQL_MULTIPLE_ACTIVE_TXN SQL_NEED_LONG_DATA_LEN SQL_NON_NULLABLE_COLUMNS SQL_NULL_COLLATION SQL_NUMERIC_FUNCTIONS 0 7280 7280 7280 1 0 0 128 0 0 SQL_ODBC_API_CONFORMANCE SQL_ODBC_INTERFACE_CONFORMANCE SQL_ODBC_SAG_CLI_CONFORMANCE SQL_ODBC_SQL_CONFORMANCE SQL_ODBC_SQL_OPT_IEF (ODBC 3.0 では名前を SQL_INTEGRITY に変更) SQL_ODBC_VER 0 0 ″N″ 0 0 0 128 0 128 ″N″ ″Y″ ″N″ SQL_NNC_NON_NULL SQL_NC_HIGH SQL_FN_NUM_ABS、 SQL_FN_NUM_CEILING、 SQL_FN_NUM_FLOOR、または SQL_FN_NUM_SIGN SQL_OAC_LEVEL1 [ODBC 3.0 で 廃止予定] SQL_OIC_CORE SQL_OSCC_COMPLIANT SQL_OSC_MINIMUM [ODBC 3.0 で廃止予定] ″N″ ドライバ マネージャが値を処理し ます。 第 2 章 Red Brick ODBC Driver の説明 27 情報タイプ 戻り値 SQL_OJ_CAPABILITIES SQL_OJ_LEFT、SQL_OJ_RIGHT、 SQL_OJ_FULL、SQL_OJ_NESTED、 SQL_OJ_INNER、SQL_OJ_ALL_ COMPARISON_OPS ″N″ ″F″ ″″ SQL_ORDER_BY_COLUMNS_IN_SELECT SQL_OUTER_JOINS SQL_OWNER_TERM (ODBC 3.0 では名前を SQL_SCHEMA_TERM に変更) SQL_OWNER_USAGE (ODBC 3.0 では名前を SQL_SCHEMA_USAGE に変更) SQL_PARAM_ARRAY_ROW_COUNTS SQL_PARAM_ARRAY_SELECTS SQL_PROCEDURE_TERM SQL_PROCEDURES SQL_QUALIFIER_NAME_SEPARATOR (ODBC 3.0 では名前を SQL_CATALOG_NAME_SEPARATOR に変更) SQL_QUALIFIER_LOCATION (ODBC 3.0 では名前 を SQL_CATALOG_LOCATION に変更) SQL_QUALIFIER_TERM (ODBC 3.0 では名前を SQL_CATALOG_TERM に変更) SQL_QUALIFIER_USAGE (ODBC 3.0 では名前を SQL_CATALOG_USAGE に変更) SQL_QUOTED_IDENTIFIER_CASE SQL_ROW_UPDATES SQL_SCHEMA_TERM SQL_SCHEMA_USAGE SQL_SCROLL_CONCURRENCY SQL_SCROLL_OPTIONS SQL_SEARCH_PATTERN_ESCAPE SQL_SERVER_NAME SQL_SPECIAL_CHARACTERS SQL_SQL_CONFORMANCE SQL_SQL92_DATETIME_FUNCTIONS SQL_SQL92_FOREIGN_KEY_UPDATE_RULE SQL_SQL92_GRANT 28 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 0 0 SQL_PAS_NO_SELECT ″″ ″N″ ″″ 0 ″″ 0 SQL_IC_SENSITIVE ″N″ ″″ 0 SQL_SCCO_READ_ONLY [ODBC 3.0 で廃止予定] SQL_SO_FORWARD_ONLY "¥" ログイン時に入力 ″″ SQL_OIC_CORE SQL_SDF_CURRENT_DATE、 SQL_SDF_CURRENT_TIME、 SQL_SDF_CURRENT_ TIMESTAMP 0 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 0 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_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 SQL_SR_DELETE_TABLE、 SQL_SR_INSERT_TABLE、 SQL_SR_SELECT_TABLE、 SQL_SR_UPDATE_TABLE SQL_SRVC_VALUE_ EXPRESSION、 SQL_SRVC_NULL、 SQL_SRVC_DEFAULT、 SQL_SRVC_ROW_SUBQUERY 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_SVE_CASE、 SQL_SVE_COALESCE、 SQL_SVE_NULLIF SQL_SCC_ISO92_CLI 0 SQL_SQL92_NUMERIC_VALUE_FUNCTIONS SQL_SQL92_PREDICATES SQL_SQL92_RELATIONAL_JOIN_OPERATORS SQL_SQL92_REVOKE SQL_SQL92_ROW_VALUE_CONSTRUCTOR SQL_SQL92_STRING_FUNCTIONS SQL_SQL92_VALUE_EXPRESSIONS SQL_STANDARD_CLI_CONFORMANCE SQL_STATIC_CURSOR_ATTRIBUTES1 第 2 章 Red Brick ODBC Driver の説明 29 情報タイプ 戻り値 SQL_STATIC_CURSOR_ATTRIBUTES2 SQL_STRING_FUNCTIONS 0 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 SQL_SQ_CORRELATED_ SUBQUERIES、 SQL_SQ_COMPARISON、 SQL_SQ_EXISTS、SQL_SQ_IN、 SQL_SQ_QUANTIFIED SQL_FN_SYS_IFNULL または SQL_FN_SYS_USER ″Table″ 0 0 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_SUBQUERIES SQL_SYSTEM_FUNCTIONS SQL_TABLE_TERM SQL_TIMEDATE_ADD_INTERVALS SQL_TIMEDATE_DIFF_INTERVALS SQL_TIMEDATE_FUNCTIONS 30 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 情報タイプ 戻り値 SQL_TXN_CAPABLE SQL_TC_NONE または TXN_CAPABLE_ALL。 SQL_TXN_CAPABLE が ODBC アプリケーション名に設定されて いる場合は TXN_CAPABLE_ALL です。 SQL_TXN_CAPABLE は、 Windows の場合はファイル rbodbc32.ini の中で指定します。 UNIX の場合は環境変数として指 定します。 0 SQL_U_UNION、 SQL_U_UNION_ALL ログイン時に入力 ″″ SQL_TXN_ISOLATION_OPTION SQL_UNION SQL_USER_NAME SQL_XOPEN_CLI_YEAR コア SQL 文法 Red Brick ODBC Driver では、ODBC コア SQL 文法がサポートされています。ただ し、以下の文法を除きます。 コア SQL 文法 サポートされていないドライバ オプション ALTER TABLE Red Brick SQL では、アプリケーションで列の追加を行う場合 に、DEFAULT 句が必要です。Red Brick ODBC Driver 文法に は、この句は含まれていません。 UNIQUE および ASC/DESC 位置指定削除 (WHERE CURRENT OF カーソル名) CASCADE | RESTRICT REFERENCES() CASCADE | RESTRICT FOR UPDATE OF 位置指定更新 (WHERE CURRENT OF カーソル名) CREATE INDEX DELETE DROP VIEW GRANT REVOKE SELECT UPDATE 第 2 章 Red Brick ODBC Driver の説明 31 エスケープ シーケンス Red Brick ODBC Driver では、以下の ODBC エスケープ シーケンスがサポートされて います。 v 日付、時刻、およびタイムスタンプ エスケープ シーケンス v アウター ジョイン エスケープ シーケンス v スカラ関数エスケープ シーケンス スカラ関数 ODBC で規定されているスカラ関数は以下のとおりです。 v 文字列関数 v 数値関数 v 日付/時刻関数 v システム関数 v データ型変換関数 このセクションでは、各タイプの関数下で 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) LCASE(s) LEFT LENGTH(s) LOCATE(s1, s2)* LTRIM(s) POSITION(s1, s2) RTRIM(s) SUBSTRING(s, st, ln) UCASE(s) CONCAT(s1, s2) LOWER(s) SUBSTR(arg1, 1, arg2) LENGTH(RTRIM(s)) POSITION(s1, s2) LTRIM(s) DEC(POSITION(s1, s2)) RTRIM(s) SUBSTR(s, st, ln) UPPER(s) * LOCATE の 3 パラメータ バージョンはサポートされていません。 SQLGetInfo(SQL_STRING_FUNCTIONS) は SQL_FN_STR_LOCATE ではなく SQL_FN_STR_LOCATE_2 を戻します。 32 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 数値関数 以下のテーブルは、Red Brick ODBC Driver でサポートされている ODBC/SQL-92 数値 関数の一覧です。どの場合にも、ドライバは、このテーブルの第 2 列に示されている同 等の Red Brick 関数を呼び出して ODBC 関数を実行します。 ODBC 関数 同等の Red Brick 関数 ABS(n) CEILING(n) EXP FLOOR(n) LOG LOG10(x) POWER(x,y) SIGN(n) SQRT ABS(n) CEIL(n) EXP FLOOR(n) LN LN(x)/LN(10) EXP(y * LN(x)) SIGN(n) SQRT 日付/時刻関数 以下のテーブルは、Red Brick ODBC Driver でサポートされている ODBC/SQL-92 日 付/時刻関数の一覧です。どの場合にも、ドライバは、このテーブルの第 2 列に示され ている同等の Red Brick 関数を呼び出して ODBC 関数を実行します。 ODBC 関数 同等の Red Brick 関数 CURDATE CURTIME CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP DAYNAME(d) DAYOFMONTH DAYOFWEEK DAYOFYEAR HOUR MINUTE MONTH MONTHNAME NOW QUARTER SECOND TIMESTAMPADD TIMESTAMPDIFF WEEK YEAR CURRENT_DATE CURRENT_TIME CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP DATENAME(dw, datetime_expression) EXTRACT(DAY FROM datetime_expression) EXTRACT(WEEKDAY FROM datetime_expression) EXTRACT(DAYOFYEAR FROM datetime_expression) EXTRACT(HOUR FROM datetime_expression) EXTRACT(MINUTE FROM datetime_expression) EXTRACT(MONTH FROM datetime_expression) DATENAME(mm, datetime_expression) CURRENT_TIMESTAMP(6) EXTRACT(QUARTER FROM datetime_expression) EXTRACT(SECOND FROM ) datetime_expression DATEADD DATEDIFF EXTRACT(WEEK FROM datetime_expression) EXTRACT(YEAR FROM datetime_expression) 第 2 章 Red Brick ODBC Driver の説明 33 システム関数 以下のテーブルは、Red Brick ODBC Driver でサポートされている ODBC/SQL-92 シス テム関数の一覧です。どの場合にも、ドライバは、このテーブルの第 2 列に示されてい る同等の Red Brick 関数を呼び出して ODBC 関数を実行します。 34 ODBC 関数 同等の Red Brick 関数 IFNULL(exp, val) USER( ) IFNULL(exp, val) CURRENT_USER IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド データ型変換関数 以下のテーブルは、Red Brick ODBC Driver でサポートされている ODBC/SQL-92 デー タ型変換関数の一覧です。どの場合にも、ドライバは、このテーブルの第 2 列に示され ている同等の Red Brick 関数を呼び出して ODBC 関数を実行します。 ODBC 関数とタイプ 同等の Red Brick 関数 CONVERT(value, CONVERT(value, CONVERT(value, CONVERT(value, CONVERT(value, CONVERT(value, CONVERT(value, CONVERT(value, STRING(value) DATE(value) DEC(expression) FLOAT(value) INT(value) REAL(value) TIME(value) TIMESTAMP(value) SQL_CHAR) SQL_DATE)* SQL_DECIMAL) SQL_FLOAT) SQL_INTEGER) SQL_REAL) SQL_TIME)* SQL_TIMESTAMP)* * CONVERT 関数は ODBC 3.x のデータ型 SQL_TYPE_DATE、 SQL_TYPE_TIME、 および SQL_TYPE_TIMESTAMP もサポートしています。 第 2 章 Red Brick ODBC Driver の説明 35 ODBC データ型 以下のテーブルは、Red Brick ODBC Driver によって実行される Red Brick のデータ型 と Microsoft のデータ型のマッピングの一覧です。SQLGetData または SQLBindCol の 呼び出し時にユーザが別のデータ型変換規則を指定しなかった場合、Red Brick ODBC Driver では、Red Brick のデータ型がこのテーブルに従って Red Brick ODBC Driver のデータ型に変換されます。 36 デフォルトの ODBC C データ型 Red Brick データ型 ODBC SQL データ型 文字 (CHAR) 型 日付 (DATE) 型 実数 (DOUBLE) 型、実数 (FLOAT) 型 整数 (INTEGER) 型 10 進数 (NUMERIC) 型、 10 進数 (DECIMAL) 型 小桁実数 (REAL) 型 シリアル (SERIAL) 型 小桁整数 (SMALLINT) 型 時刻 (TIME) 型 タイムスタンプ (TIMESTAMP) 型 小桁整数 (TINYINT) 型 可変長文字 (VARCHAR) 型 SQL_CHAR SQL_C_CHAR SQL_DATE SQL_C_DATE SQL_DOUBLE、SQL_FLOAT SQL_C_DOUBLE SQL_INTEGER SQL_DECIMAL、 SQL_NUMERIC SQL_REAL SQL_INTEGER SQL_SMALLINT SQL_TIME SQL_TIMESTAMP SQL_C_FLOAT SQL_C_SLONG SQL_C_SSHORT SQL_C_TIME SQL_C_TIMESTAMP SQL_TINYINT SQL_VARCHAR SQL_C_STINYINT SQL_C_VARCHAR IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド SQL_C_SLONG SQL_C_CHAR 第 3 章 UNIX でのカスタム クライアント アプリケーション の作成 この章では、UNIX で Red Brick ODBC lib ソフトウェア開発キット (SDK) および DataDirect Technologies Connect ODBC SDK を使用して、ODBC ベースのカスタム ク ライアント アプリケーションを作成する方法について説明します。作成したクライアン ト アプリケーションを使用して、IBM Red Brick Warehouse データベースにアクセス できます。このアプリケーションは、UNIX 上でも Windows 上でも実行できます。 以下の場合は、DataDirect Technologies Connect ODBC SDK を使用します。 v IBM Red Brick Warehouse に接続するカスタム ODBC アプリケーションを開発する 場合。 カスタム アプリケーションと Red Brick ODBC Driver を組み合わせて使用する必要 があります。 v 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 プログラムについては、49 ページの『ODBC サンプル プログラム』を参照してくださ い。 © Copyright IBM Corp. 1996, 2004 37 Red Brick ODBClib SDK の使用 このセクションでは、Red Brick ODBClib SDK を使用して、カスタム ODBC プログラ ムをコンパイルおよびリンクする方法について説明します。 Red Brick ODBClib SDK は、ODBC プログラムへリンクするため複数のライブラリを 使用します。 ODBC レベル準拠については、 9 ページの『第 2 章 Red Brick ODBC Driver の説明』を参照してください。 C コンパイラ Red Brick ODBClib SDK でサポートされている C コンパイラは以下のとおりです。 プラットフォーム コンパイラ Digital AlphaServer Compaq C V6.3-129 (dtk) on Digital UNIX V4.0F (Rev. 1229) Compiler Driver V6.3-126 (dtk) cc Driver Sun WorkShop 6 update 2 C 5.3 Patch 111679-08 Sun SPARC ベース のシステム 64 ビッ ト HP 9000 HP IPF i686 ベースの Linux システム AIX 64 38 HP92453-01 A.11.01.00 HP C コンパイラ HP ANSI C++/C B3910B A.05.36 gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5) VisualAge C++ Professional/C for AIX Compiler、バージョン 5 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド ODBC ドライバ ファイル redbrick_dir ディレクトリには、Red Brick のソフトウェア ファイルがすべて格納さ れています。以下のテーブルは、DataDirect Connect ODBC Driver Manager および Red Brick ODBC Driver でサポートされている各プラットフォームにおいて、これらのドラ イバで使用されるファイルの一覧です。サブディレクトリ lib におけるサフィックス xx は、各プラットフォームに対応するファイル拡張子を表します。 場所 lib lib lib lib lib サブディレクトリ サブディレクトリ サブディレクトリ サブディレクトリ サブディレクトリ ファイル名 ファイルの内容 libodbc.xx libodbcinst.xx libivmback.xx libivmfront.xx vscnctdlg.so.1 Connect ODBC Driver Manager Connect ODBC インストーラ lib SQLDriver Connect Motif lib SQLDriver Connect Motif lib SQLDriver Connect Motif lib (SunOS のみ) Connect ODBC トレース lib Connect ODBC カーソル lib (SunOS のみ) Red Brick ODBC Driver スレッド セーフ ドライバ (-thr) は Linux ではサポートされていませ ん。 Connect ODBC エラー メッセージ lib サブディレクトリ lib サブディレクトリ odbctrac.xx odbccurs.so.1 lib サブディレクトリ rbodbcdrv.xx rbodbcdrv-thr.xx redbrick_dir/ messages/default/ redbrick_dir/locale/ odbc.m *.nls Red Brick ODBC Driver のロケール ファイル 重要: 64 ビットのプラットフォームを使用している場合でも、32 ビット ODBC Driver を使用してください。 第 3 章 UNIX でのカスタム クライアント アプリケーションの作成 39 ODBClib ライブラリとヘッダ ファイル 以下のテーブルは、ディレクトリ redbrick_dir に格納されている ODBClib のライブ ラリ ファイルとヘッダ ファイルの一覧です。サブディレクトリ lib (または lib32) における拡張子 xx は、各プラットフォームに対応するファイル拡張子を表します。 lib32 ディレクトリには、ODBClib ファイルの 32 ビット バージョンが格納されま す。サフィックス -thr は、各ライブラリ ファイルのスレッドセーフ バージョンを表 します。 場所 ファイル名 ファイルの内容 lib サブディレクト リ lib サブディレクト リ librbodbc.a librbodbc-thr.a librbodbc.xx librbodbc-thr.xx lib サブディレクト リ include サブディレ クトリ librbodbcshared.a librbodbcshared-thr.a rbsql.h include サブディレ クトリ rbsqlext.h Red Brick ODBC lib 静的ライブ ラリ 非 AIX プラットフォーム対応 Red Brick ODBClib 共有ライブラ リ AIX 専用 Red Brick ODBClib 共 有ライブラリ すべての Red Brick ODBC Driver 関数が含まれている Red Brick ヘッダ ファイル Red Brick ヘッダ ファイル Red Brick ODBClib によるコンパイルとリンク このセクションでは、Red Brick ODBC lib によるアプリケーション作成に必要なライ ブラリとヘッダ ファイルについて説明します。 IBM では共有ライブラリの使用を推奨 しています。共有ライブラリを使用する利点は、実行可能ファイルのサイズを小さくで きること、リンクを高速化できること、および、将来新しいバージョンのライブラリを 使用するときにアプリケーションを再リンクする必要がないことです。さらに、静的ラ イブラリは実行時には利用可能である必要はありません。 40 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド プラットフォーム固有の標準ライブラリ 以下のテーブルは、アプリケーションにリンクさせるプラットフォーム別標準ライブラ リの一覧です。 プラットフォーム ライブラリ HP にインストールされている Tru64 UNIX HP-UX-64 がインストールされている HP 9000 HP-UX 11i がインストールされている HP Itanium コンピュータ AIX64 がインストールされている IBM RISC System/6000 i686 ベースの Linux システム Sun SPARC ベースのシステム (Solaris-64) libpthreads.a, libm.a, libdb.a libm.a libm.a libm.a libnsl.a, libm.a libsocket.a, libnsl.a, libm.a スレッド セーフ ODBClib SDK Linux を除くすべてのプラットフォームの UNIX ODBClib SDK はスレッド セーフで す。次のスレッド セーフ ライブラリは、lib (または lib32) ディレクトリにインスト ールされています。 オペレーティング システム 静的ライブラリ 動的ライブラリ Solaris 32 ビットおよび 64 ビット AIX 64 ビット AIX 32 ビット HP-UX 64 ビット (Itanium) HP-UX 64 ビット (PA-RISC) HP-UX 32 ビット (PA-RISC) HP Tru64 UNIX librbodbc-thr.so librbodbc-thr.a librbodbc-thr.so librbodbcshared-thr.a librbodbc-thr.so librbodbc-thr.sl librbodbc-thr.so librbodbc-thr.so これらのライブラリを使用して、カスタム クライアント アプリケーションを作成でき ます。スレッド セーフ アプリケーションをコンパイルおよびリンクするには、コンパ イルとリンク に示されているファイル名を、適切なファイル名に置き換えてください。 コンパイルとリンク このセクションでは、ODBC の静的ライブラリとヘッダ ファイルを使用してファイル をコンパイルし、リンクするためのプラットフォーム別の定義およびサンプル コマンド を説明します。サンプル コマンドは以下のように定義されています。 第 3 章 UNIX でのカスタム クライアント アプリケーションの作成 41 # 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 (Tru64 UNIX): 定義 CFLAGS=-I$(REDBRICK_DIR)/include -DUNIX # Define libraries to link LIBS=$(REDBRICK_DIR)/lib/librbodbc.a -lpthreads -lm /usr/lib/libdb.a #If you want to use Red Brick ODBClib shared library #define LIBS as follows #LIBS=$(REDBRICK_DIR)/lib/librbodbc.so -lpthreads -lm Tru64 UNIX プラットフォームの静的および動的リンク アプリケーションのコンパイル では -DUNIX スイッチが必要ですが、その他の UNIX プラットフォームではこれはオ プションです。静的アプリケーションを Red Brick ODBClib にリンクするときに、 libdb.a ライブラリが必要です。 サンプル コマンド $ 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)/lib32/librbodbc.a -lm -lBSD #If you want to use Red Brick ODBClib shared library #define LIBS as follows #LIBS=$(REDBRICK_DIR)/lib32/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 42 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド #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) HP Itanium (HP aC++/C IPF コンパイラ): 定義 CFLAGS=-Ae +DD64 +z+e -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 サンプル コマンド $ 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)/lib32/librbodbc.a -lm #If you want to use Red Brick ODBClib shared library #define LIBS as follows #LIBS=$(REDBRICK_DIR)/lib32/librbodbcshared.a -lm サンプル コマンド $ 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 第 3 章 UNIX でのカスタム クライアント アプリケーションの作成 43 サンプル コマンド $ xlc $(CFLAGS) -I$(REDBRICK_DIR)/include -c rb_client.c $ xlc $(CFLAGS) -o rb_client rb_client.o $(LIBS) Linux i686 ベースのシステム (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) Sun SPARC-Based System (Solaris 32 ビット コンパイラ): 定義 CFLAGS= -I$(REDBRICK_DIR)/include # Define libraries to link LIBS=$(REDBRICK_DIR)/lib32/librbodbc.a -lnsl -lm #If you want to use Red Brick ODBClib shared library #define LIBS as follows #LIBS=$(REDBRICK_DIR)/lib32/librbodbc.so -lnsl -lm サンプル コマンド $ 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) 44 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 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 について説明します。 重要: $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 第 3 章 UNIX でのカスタム クライアント アプリケーションの作成 45 # 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)> スレッド セーフ ODBC ドライバを使用する場合は、必ず Driver エントリにスレッド セーフ ファイルのフル パスを指定してください。以下に例を示します。 Driver=/redbrick/rbw/lib/rbodbcdrv-thr.so 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 が定義されてい ます。 46 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド プラットフォーム固有の環境変数の設定 UNIX 上で ODBC アプリケーションを実行する前に、環境変数 RB_CONFIG を設定する 必要があります。 ODBC アプリケーションは、この環境変数を使用してファイル rbw.config を検出します。このファイルは、メッセージ ファイルの検索およびロケー ル設定の識別に使用されます。 環境変数 RB_CONFIG は以下のように設定します。 setenv RB_CONFIG redbrick_dir redbrick_dir は、Red Brick ODBClib SDK ファイルがインストールされているディレ クトリです。 Red Brick ODBClib 共有ライブラリを使用するアプリケーションを作成する場合、以下 のテーブルに従ってプラットフォームごとに環境変数を設定する必要があります。この テーブルの redbrick_dir は、Red Brick ODBClibSDK ファイルがインストールされて いるディレクトリです。 プラットフォーム 環境変数設定 Digital AlphaServer setenv LD_LIBRARY_PATH <redbrick_dir>/lib:$LD_LIBRARY_PATH HP 9000 setenv SHLIB_PATH <redbrick_dir>/lib:$SHLIB_PATH HP Itanium 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 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 を使用する必要が あります。 第 3 章 UNIX でのカスタム クライアント アプリケーションの作成 47 DSN 接続 DataDirect から DSN 用のドライバが提供されています。 DataDirect Technologies Connect ODBC SDK を使用して作成した ODBC アプリケーションは、DataDirect ドラ イバを備えたあらゆる DSN に接続できます。 ソース コードの移植性 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 が実行する以下の機能をエミュレートします。 v SQLDataSources v SQLDrivers v 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 と同じです。 Red Brick ODBClib SDK が戻す SQLGetInfo 関数の値は、22 ページの『SQLGetInfo 情報タイプ』で説明している値と同じですが、一部例外があります。以下のテーブルは その例外の一覧です。 48 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 情報タイプ 戻り値 SQL_DRIVER_HDBC アプリケーションに対して検索可能なデータを処理する。 SQL_DRIVER_HDESC ドライバ マネージャは関係しません。 アプリケーションに対して検索可能なデータを処理する。 SQL_DRIVER_HENV ドライバ マネージャは関係しません。 アプリケーションに対して検索可能なデータを処理する。 SQL_DRIVER_HSTMT ドライバ マネージャは関係しません。 文字列値: ″0″ アプリケーションは、ドライバと直接通信します。 アプリケーションに対して検索可能なデータを処理する。 SQL_DRIVER_VER ドライバ マネージャは関係しません。 文字列値: ″03.00″ SQL_DRIVER_HLIB この値は SQL_SPEC_MAJOR および SQL_SPEC_MINOR から派生したものです。 ODBC サンプル プログラム IBM Red Brick Warehouse の UNIX プラットフォーム用 Red Brick ODBClib SDK に は、サンプルの ODBC C プログラム rb_client が付属しています。このセクションで は、このサンプル プログラムの場所とセットアップ方法について説明します。 サンプル プログラムの場所 ディレクトリ redbrick_dir/lib/example には、サンプルの C プログラムのソース コ ードがあります。 redbrick_dir は、Red Brick ODBClib SDK のファイルがインスト ールされているディレクトリです。 ディレクトリ example に格納されているファイルは以下のとおりです。 v サンプル プログラムの作成方法の概要を説明したファイル README.TXT。 v サンプルの C コードを使用するファイル rb_client.c。 v プログラム作成環境を定義するために make ユーティリティと組み合わせて使用され るファイル Makefile。 サンプル プログラムのセットアップ rb_client は、Red Brick データベースに対する SQL 文を実行する Red Brick ODBClib クライアント プログラムです。vi などのテキスト エディタを使用して、使 用するプラットフォームに合わせて Makefile の内容を修正します。次に、この Makefile を使用してプログラムを作成します。 第 3 章 UNIX でのカスタム クライアント アプリケーションの作成 49 プラットフォームの定義 Makefile の先頭にある、使用するプラットフォームに対応する環境変数 RB_PLATFORM を検出し、その行に挿入されている注釈記号 (#) を削除します。たと えば、使用しているプラットフォームが Solaris の場合、Makefile 中にある以下の行の 注釈記号を削除します。 # RB_PLATFORM=solaris 重要: デフォルトでは、Makefile 中の環境変数 RB_PLATFORM にはすべて注釈記号が 付いています。 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 を作成します。プログラムを作成する前に、以下の作業を完了しているか確 認してください。 v ファイル $HOME/.odbc.ini の中で DSN を定義しているか。 v 環境変数 RB_CONFIG を設定しているか。 50 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド プログラム rb_client を作成するには、ディレクトリを $RB_CONFIG/lib/example (Red Brick ODBClib のファイルが格納されているディレクトリ) に変更し、以下のコマンド を入力します。 % make make コマンドを入力すると、プログラム rb_client から rb_client という名前の実 行可能ファイルが作成されます。そして、DSN および SQL 文を入力するよう要求され ます。次に、プログラム rb_client では、指定した DSN に対応するデータベースに対 して SQL 文が実行されます。 第 3 章 UNIX でのカスタム クライアント アプリケーションの作成 51 52 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 第 4 章 Red Brick JDBC ドライバ: はじめに この章では以下の項目について説明します。 v Red Brick JDBC Driver および JDBC API。 v ドライバのインストール方法とアンインストール方法。 v アプレットの中でドライバを使用する方法。 v ミドル層で Red Brick JDBC プロキシ サーブレットが動作する場合に、3 層構成に おいて必要となるソフトウェアをインストールする方法。 JDBC とは Java データベース コネクティビティ (JDBC) は、JavaSoft 仕様の標準アプリケーショ ン プログラミング インタフェース (API) であり、Java プログラムを使用したデータベ ース管理システムへのアクセスを可能にします。JDBC API は、Java プログラミング言 語で記述されたインタフェースとクラスのセットで構成されています。 プログラマはこの標準インタフェースとクラスを利用することにより、データベースに 接続し、構造化問い合わせ言語 (SQL) で記述したクエリを送信し、その結果を処理する アプリケーションを作成できます。 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 文をデータベー ス サーバに送信して結果を取得するための インタフェース。 © Copyright IBM Corp. 1996, 2004 53 インタフェース/クラス/例外 説明 java.sql.ResultSet SQL 文を実行した結果を処理するためのイ ンタフェース。 java.sql.ResultSetMetaData ResultSet オブジェクトの列に関する情報を 戻すためのインタフェース。 java.sql.Statement 静的 SQL 文をデータベース サーバに送信 して結果を取得するためのインタフェース。 javax.sql.ConnectionEventListener PooledConnection オブジェクトによって生成 されるイベントを受信するためのインタフェ ース。 javax.sql.ConnectionPoolDataSource PooledConnection オブジェクトのファクト リ。ConnectionPoolDataSource オブジェクト は通常、JNDI サービスに登録されます。 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) 型、お よび 10 進数 (DECIMAL) 型などの標準 SQL データ型の識別に使用する定数を定義 するためのクラス。 java.sql.String 文字 (CHAR) 型などのテキスト データ型を 識別するためのクラス。 例外クラス java.sql.SQLException 54 データベース エラーに関する情報を提供す る例外。 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド インタフェース/クラス/例外 java.sql.SQLWarning 説明 データベースの警告に関する情報を提供する 例外。 JDBC は標準仕様であるため、JDBC API を使用する Java プログラムは、JDBC ドラ イバが用意されている任意のデータベース管理システム (DBMS) に接続できます。 JDBC ドライバとは JDBC API は、データベースに接続してクエリを送信するときに使用する、Java のイン タフェースとクラスを定義したものです。JDBC ドライバは、個々の DBMS 製造元に 対応して、Java のインタフェースとクラスを実装します。 JDBC API を使用する Java プログラムは、特定の DBMS 用のドライバをロードして からデータベースに接続します。その後、JDBC DriverManager クラスにより、すべて の JDBC API 呼び出しがそのロードされたドライバに送信されます。 JDBC ドライバには以下の 4 種類があります。 v JDBC-ODBC ブリッジと ODBC ドライバ。タイプ 1 ともいいます。 JDBC API 呼び出しを Microsoft Open Database Connectivity (ODBC) 呼び出しに変換 し、ODBC ドライバに渡します。このタイプのドライバを使用するクライアント コ ンピュータには、ODBC バイナリ コードをロードする必要があります。 v ネイティブ API。部分的な Java ドライバで、タイプ 2 ともいいます。 JDBC API 呼び出しを DBMS 固有のクライアント API 呼び出しに変換します。ブ リッジ ドライバと同様に、このタイプのドライバは各クライアント コンピュータに バイナリ コードを一部ロードする必要があります。 v JDBC ネット。Pure Java ドライバで、タイプ 3 ともいいます。 JDBC API 呼び出しをミドル層の中継サーバに送ります。中継サーバはその呼び出し を DBMS 固有のネットワーク プロトコルに変換します。変換された呼び出しは、特 定の DBMS に送られます。 v ネイティブ プロトコル。Pure Java ドライバで、タイプ 4 ともいいます。 JDBC API 呼び出しを、ミドル層を通さずに、DBMS 固有のネットワーク プロトコ ルに直接変換します。このため、クライアント アプリケーションをデータベース サ ーバに直接接続できます。 Red Brick JDBC Driver は、JDBC API のバージョン 2.0 に基づく Pure Java のタイプ 4 ドライバです。 第 4 章 Red Brick JDBC ドライバ: はじめに 55 2 層構成と 3 層構成 JDBC API と Red Brick JDBC Driver は、2 層構成と 3 層構成のどちらでも使用でき ます。それぞれの構成について以下に説明します。 2 層構成 2 層構成の場合、Java アプレットとアプリケーションは、JDBC ドライバを介してデー タベースと通信します。2 層構成は通常、クライアント/サーバ構成をとります。クライ アント システム上にはドライバとアプレットまたはアプリケーション、サーバ上にはデ ータベースがそれぞれ配置されます。 図 1 は、Red Brick JDBC Driver と IBM Red Brick Warehouse の 2 層構成を示しま す。 図 1. JDBC 2 層構成 3 層構成 3 層構成の場合、クライアント システム上の HTML ブラウザまたは Java アプレット が、ミドル層システム上の Java アプリケーションにコマンドを送信します。このミド ル層システムは、クライアントともデータベース サーバとも異なる第 3 の層です。ミ ドル層にある Java アプリケーションは、JDBC プロキシ サーブレットを介してデータ ベースと通信します。このサーブレットは、アプリケーションと同じシステム上にあり ます。3 層構成にした場合、2 層構成に比べて、データベースへのアクセスおよびデー タベースの変更を行うときのセキュリティと制御能力が向上します。 図 2 は 3 層構成の例です。この例では、ミドル層の Web サーバ上に Java サーブレ ット エンジンと Red Brick JDBC プロキシ サーブレット、データベース サーバ上に IBM Red Brick Warehouse が配置されています。 56 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 図 2. JDBC 3 層構成 ドライバのインストール 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 章 Red Brick JDBC ドライバ: はじめに 57 Windows のみ CD に格納されているインストール プログラムを Windows 上で起動するには、CD に ある以下のコマンドを実行します。 SETUP Red Brick JDBC Driver を Web サイトからダウンロードした場合は、ドライバのダウ ンロード先ディレクトリにある SETUP コマンドを実行します。 デフォルトでは、SETUP プログラムによって、Red Brick JDBC Driver が C ドライブ の以下のディレクトリにインストールされます。 c:¥RedBrick¥jdbc この SETUP プログラムでは、ドライバを別のディレクトリにインストールすることも できます。 Windows のみ の終り サイレント モードのインストール サイレント モードのインストール では、ユーザに情報の入力を促すプロンプトが表示 されることなく、製品がインストールされます。つまり、ユーザがインストール処理の 実行を認識することはありません。たとえば、サード パーティが自社の製品に Red Brick JDBC Driver を組み込む場合、そのサード パーティはサイレント モードのイン ストールを使用することにより、ドライバをその製品の一部として透過的にインストー ルできます。 UNIX のみ ドライバをサイレント モードで UNIX 上にインストールするには、以下のコマンドを 実行します。 sh SETUP -s directory-name directory-name の指定は任意です。ディレクトリ名を入力しない場合、ドライバはホー ム ディレクトリの以下のディレクトリにインストールされます。 $HOME/RedBrick/JDBC 58 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド UNIX のみ の終り Windows のみ ドライバをサイレント モードで Windows 上にインストールするには、以下のコマンド を実行します。 c:¥SETUP -s directory-name directory-name の指定は任意です。ディレクトリ名を入力しない場合、ドライバは C ド ライブの以下のディレクトリにインストールされます。 c:¥RedBrick¥jdbc Windows のみ の終り ドライバとともにインストールされるファイル Red Brick JDBC Driver セットアップ プログラムにより、次のファイルがインストール されます。 v copyright.txt サード パーティ製ソフトウェアの著作権とライセンス契約に関する情報が記載され ています。 v demos/general/* demos/I18N/* demos/JDBCTestCancel/* demos/JDBCTestQueryProcessing/* demos/rmi/* JDBC API を使用するサンプル Java プログラムが格納されているディレクトリ。サ ンプル ファイルの説明は、 105 ページの『Java 対応エンコードの GlobalC コードへ の変換』 を参照してください。 v JRbwUnInstall.class uninstall スクリプトおよび uninstall.bat スクリプトによって使用されるアンインス トール クラス ファイル。 v JRbwVersion.class JDBC Driver のバージョンを識別するためのバージョン クラス ファイル。 第 4 章 Red Brick JDBC ドライバ: はじめに 59 v proxy/RBWProtocol.class Http トンネル プロキシ クラス ファイル。 v proxy/SocketState.class Http トンネル プロキシをサポートするセッション マネージャ クラス ファイル。 v proxy/ConnectionPool.class IBM Red Brick Warehouse への接続を管理します。 v proxy/Tracefile.class ログ記録が有効になっており、かつ、ログ ファイルが指定されている場合、トレー スを実行します。 v proxy/Errors.class エラー処理を実行します。 v redbrick.jar JDBC API のインタフェース、クラス、およびメソッドが最適化された形で実装され ている JAR ファイル。 v tools/*.gif JDBC ツール用のアイコン画像ファイル。 v tools/jdbctoolshelp.jar JDBC ツールのオンライン ヘルプ ファイルが含まれている JAR ファイル。 v tools/jhall.jar JavaHelp のバイナリ ファイルが含まれている JAR ファイル。 v tools/rbdsadmin.* JDBC データ ソース Administrator ツールを実行します。詳細については、 102 ペー ジの『データ ソース Administrator ツール』 を参照してください。 v tools/rbjdbctools.jar JDBC ツールを実装したファイルが含まれている JAR ファイル。 v tools/rbjping.* JDBC Ping ツールを実行します。詳細については、 103 ページの『JDBC Ping ツー ル』 を参照してください。 v uninst.inf uninstall がドライバをアンインストールするために使用するファイル。 60 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド v uninstall UNIX プラットフォームにインストールされているドライバをアンインストールしま す。 v uninstall.bat Windows プラットフォームにインストールされているドライバをアンインストールし ます。 v readme.txt インストールとアンインストールに関する情報が記載されているテキスト ファイ ル。 Java の CLASSPATH へのドライバの組み込み アプリケーションで Red Brick JDBC Driver を使用するには、そのドライバ ファイル を参照するように環境変数 CLASSPATH を設定するか、またはコマンド行で java コ マンドを入力するときに -classpath オプションを指定します。環境変数 TestQueryProcessing/* は、Java 仮想マシン (JVM) およびその他のアプリケーションに 対して、Java プログラムで使用される Java クラス ライブラリの場所を通知します。 環境変数 TestQueryProcessing/* を設定する方法は 2 とおりあります。1 つ目の方法 は、ファイル redbrick.jar のフルパス名を環境変数 TestQueryProcessing/* に追加する ことです。以下に例を示します。 UNIX のみ C シェル: 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 は、ドライバがインストールされているディレクトリへのパスで す。 UNIX のみ の終り Windows のみ 以下の例に、Windows 上で環境変数 CLASSPATH を設定する方法を示します。 第 4 章 Red Brick JDBC ドライバ: はじめに 61 set CLASSPATH=%RB_JDBC_HOME%¥redbrick.jar;%CLASSPATH% %JDBC_DRIVER_HOME% は、ドライバがインストールされているディレクトリへのパスで す。 Windows のみ の終り 環境変数 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 は、ドライバがインストールされているディレクトリへのパスで す。 UNIX のみ の終り Windows のみ 以下の例に、Windows 上で環境変数 CLASSPATH を設定する方法を示します。 cd %RB_JDBC_HOME% jar xvf redbrick.jar set CLASSPATH= %RB_JDBC_HOME%;%CLASSPATH% %JDBC_DRIVER_HOME% は、ドライバがインストールされているディレクトリへのパスで す。 Windows のみ の終り jar ユーティリティとこれに関連するアーカイブ ファイル形式を利用すると、アプリケ ーションに関連するクラス ファイルなど複数のファイルを 1 つのアーカイブ ファイル 62 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド にまとめることができます。jar ユーティリティの詳細については、以下の Web サイト にある JavaSoft のマニュアルを参照してください。 http://java.sun.com ドライバのアンインストール ここでは、UNIX 上および Windows 上にインストールされている Red Brick JDBC Driver をアンインストールする方法について説明します。 uninstall プログラムは、カレント ディレクトリにあるファイル uninst.inf からドライ バの構成要素に関する情報を取得します。 Bourne シェルまたは Korn シェルで Red Brick JDBC Driver をアンインストール するには: 1. ドライバがインストールされているディレクトリに移動します。 2. uninstall プログラムを起動します。 UNIX のみ UNIX 上で uninstall プログラムを起動するには、以下のコマンドを実行します。 sh uninstall UNIX のみ の終り Windows のみ Windows 上で uninstall プログラムを起動するには、以下のコマンドを実行します。 uninstall Windows のみ の終り インストールされていたファイルはすべて削除されますが、ディレクトリに追加された その他のファイルは削除されずにそのまま残ります。 アプレットでのドライバの使用 アプレットで Red Brick JDBC Driver を使用すると、Netscape Navigator や Microsoft Internet Explorer などのブラウザからデータベースに接続できます。次に、アプレット 内でドライバを指定する方法、およびドライバが Web サーバから正しくダウンロード されているか確認する方法について説明します。 アプレットで Red Brick JDBC Driver を使用するには: 第 4 章 Red Brick JDBC ドライバ: はじめに 63 1. ファイル redbrick.jar をアプレット クラス ファイルと同じディレクトリにインス トールします。 2. 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 サーバのマニュアルを参照してください。 64 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド HTTP プロキシ サーバの使用 以下に示す理由により、HTTP プロキシ サーバを使用しなければならない場合がありま す。 v アプレット。Web ブラウザのセキュリティ上の制約により、アプレットが Red Brick JDBC Driver を使用している場合は、Web サーバと同じホストで動作しているデータ ベース以外接続できません。Web サーバとデータベース サーバはともに大量のシス テム リソースを必要とすることがあるため、場合によりこの制約が支障となりま す。 v ファイアウォール。JDBC クライアントは、ファイアウォールの外側にあるデータベ ースには接続できません。ファイアウォールによって、ブラウザからデータベースへ の接続が拒否されます。 Red Brick の HTTP プロキシは、この 2 つの問題に対処するためのものです。HTTP プロキシは小さいサイズのサーブレットであり、JDBC クライアントと IBM Red Brick Warehouse サーバの間にあるミドル層で動作します。このプロキシは JDBC クライアン トから HTTP パケットを受信して SQL 要求を抽出し、サーバに送信します。クライア ント (エンドユーザ) がこのミドル層を認識することはありません。 この HTTP プロキシ機能は、JDBC 2.0 仕様には組み込まれていません。 図 3 は、プロキシを使用してファイアウォールの外側にあるデータベースに接続する方 法を示しています。 図 3. ファイアウォール経由での接続 第 4 章 Red Brick JDBC ドライバ: はじめに 65 プロキシ サーバの構成 (3 層) HTTP プロキシを使用する場合、サーブレットをサポートしている Web サーバが必要 です。Red Brick JDBC HTTP プロキシ サーブレットは、以下の Web サーバに対応し ています。 v JRun サーブレット エンジンを実装した Netscape Web Server v JServ サーブレット エンジンを実装した Apache HTTP Server v JServ サーブレット エンジンを実装し、Apache により機能拡張されている IBM HTTP Server IBM HTTP Server は、IBM WebSphere Application Server ソフトウェアに同梱されてい ます。また、個別に購入することもできます。IBM HTTP Server の詳細については、以 下の Web サイトを参照してください。 www.ibm.com/software/webservers/httpservers WebSphere Application Server の詳細については、以下の Web サイトを参照してくださ い。 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 サイトからインストールできます。 www.macromedia.com/downloads Netscape 用の JRun コネクタをインストールするには、jRun に付属している Connector ウィザードを使用します。 Apache HTTP Server または IBM HTTP Server への JServ のインストー ル Apache HTTP Server 上または IBM HTTP Server 上で JDBC プロキシ サーブレット を使用するには、Apache JServ をインストールする必要があります。JServ は Pure 66 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 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 プロキシ サーブ レットをインストールする方法について説明します。 v UNIX 上で動作する Apache HTTP Server または IBM HTTP Server v Windows NT 上で動作する Apache HTTP Server または IBM HTTP Server Netscape Web Server に JDBC プロキシ サーブレットをインストールする方法につい ては、以下の Web サイトにある Netscape のマニュアルを参照してください。 http://enterprise.netscape.com/docs/ Apache HTTP Server または IBM HTTP Server へのサーブレットのインス トール (UNIX) UNIX のみ プロキシ サーブレットをインストールする前に、ご使用の Web サーバのマニュアルを 読み、サーバ固有の要件を満たしているか確認してください。プロキシ サーブレットを インストールするには、以下の手順を実行します。 1. Web サーバ構成における、プロキシ サーブレットに対するエイリアスとディレクト リを定義します。 JDBC ドライバは、クライアントからの HTTP 要求を以下のプロキシ サーブレット に指定します。 http://your-web-server:port/pathname/RBWProtocol RBWProtocol はプロキシ サーブレット、pathname はプロキシ サーブレットへのパ スです。サーブレットを正しく構成する方法については、使用する Web サーバのマ ニュアルを参照してください。 2. RBWProtocol.class、SocketState.class、ConnectionPool.class、 TraceFile.class、Errors.class の各ファイルを、ステップ 1 で定義したサーブレ ット ディレクトリにコピーします。 これらのクラス ファイルは、JDBC 製品パッケージがインストールされると、ディ レクトリ proxy に格納されます。 第 4 章 Red Brick JDBC ドライバ: はじめに 67 3. 必要に応じて、デフォルトのサーブレット プロパティを変更します。変更するに は、サーブレット プロパティ ファイルを修正します。以下のエントリを追加しま す。 servlet.RBWProtocol.initArgs=<comma separated list of name=value pairs> 以下に例を示します。 servlet.RBWProtocol.intiArgs=logfilename=/programs/ApacheGroup/ApacheJServ/logs /RBWProtocol.log,logging=on,maxconnections=50,timeout=180 UNIX のみ の終り Apache HTTP Server または IBM HTTP Server へのサーブレットのインス トール (Windows) Windows のみ プロキシ サーブレットをインストールする前に、ご使用の Web サーバのマニュアルを 読み、サーバ固有の要件を満たしているか確認してください。プロキシ サーブレットを インストールするには、以下の手順を実行します。 1. Web サーバ構成における、プロキシ サーブレットに対するエイリアスとディレクト リを定義します。 JDBC ドライバは、クライアントからの HTTP 要求を以下のプロキシ サーブレット に指定します。 http://your-web-server:port/pathname/RBWProtocol RBWProtocol はプロキシ サーブレット、pathname はプロキシ サーブレットへのパ スです。サーブレットを正しく構成する方法については、使用する Web サーバのマ ニュアルを参照してください。 2. RBWProtocol.class、SocketState.class、ConnectionPool.class、 TraceFile.class、 Errors.class の各ファイルを、ステップ 1 で定義したサーブレ ット ディレクトリにコピーします。 これらのクラス ファイルは、JDBC 製品パッケージがインストールされると、ディ レクトリ proxy に格納されます。 3. 必要に応じて、デフォルトのサーブレット プロパティを変更します。変更するに は、ファイル zone.properties を修正します。 ファイル zone.properties の中で、サーブレット初期化パラメータを指定する記述 を検出し、servlet.RBWProtocol.initArgs=<名前と値のペアをコンマで区切ったリスト> を追加します。 以下の例はサーブレット初期化パラメータの構文です。 68 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド servlet.[classname].initArgs=[name]=[value],[name]=[value],... デフォルト値はありません。 たとえば以下のプロパティは、クラス名によって呼び出される各サーブレットの初期 化パラメータを定義しています。 servletservlet,RBWProtocol.intiArgs=logfilename=C:¥ProgramFiles¥ApacheGroup ¥ApacheJServ¥logs¥RBWProtocol.log,logging=on,maxconnections=50,timeout=180 Windows のみ の終り サーブレットのプロパティ サーブレットを使用する場合、初期化パラメータを指定する機能など、いくつかの構成 作業を行う必要があります。以下のテーブルは、サーブレットのプロパティの一覧で す。 サーブレットのプロパティ 説明 logfilename ログ記録が有効になっている場合、このフ ァイルにログ データが書き込まれます。 サーブレットによって処理されたコマンド の高レベルのログが記録されます。このプ ロパティは、オンかオフのどちらかに設定 します。デフォルト値はオフです。 アクティブな接続の最大数です。 分単位の値です。サーブレットへの接続数 が上限に達したときに新しい接続要求が発 生した場合、このタイムアウト時間を経過 してもアイドル状態にある接続が解除さ れ、空いたスロットが接続要求元クライア ントに割り当てられます。 logging maxconnections timeout 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 第 4 章 Red Brick JDBC ドライバ: はじめに 69 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 サイトを参照してください。 v www.javasoft.com v www.apache.org 70 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 第 5 章 Red Brick JDBC Driver を使用したプログラミング この章では、JDBC API を使用して以下の処理を行うための基本的なプログラミング情 報について説明します。 v Red Brick JDBC Driver を介して IBM Red Brick Warehouse データベースに接続す る。 v データベースのデータを要求する。 v データベースから戻された結果を処理する。 接続の確立 IBM Red Brick Warehouse データベースからデータを取得するには、事前にそのデータ ベースとの接続を確立しておく必要があります。 JDBC 2.0 では、接続を確立する手段 として以下の 2 つの方法があります。 v まず、DriverManager クラスを使用して Red Brick JDBC Driver の Driver クラスを ロードおよび登録し、次に、DriverManager.getConnection() メソッドを使用してデータ ベースとの接続を確立します。 JDBC 1.x を使用する場合、データベースとの接続を確立する手段はこの方法に限ら れます。 71 ページの『DriverManager クラスを使用して接続を確立する』を参照し てください。 v Java Naming and Directory Interface (JNDI) とともに javax.sql.DataSource インタフェ ースを実装します。 JDBC 2.0 を使用する場合は、この方法がより適切です。 76 ページの『DataSource オブジェクトを介したデータベース接続』を参照してください。 DriverManager クラスを使用して接続を確立する DriverManager クラスを使用して IBM Red Brick Warehouse データベースとの接続を確 立するには以下の手順を実行します。 1. Red Brick JDBC Driver をロードします。 2. 特定のデータベースへの接続を作成します。 Red Brick JDBC Driver のロード このドライバをロードするには、以下のコード例のように Class.forName() メソッドを 使用します。このコード例は、demo1.java プログラムの一部です。 try { Class.forName("redbrick.jdbc.RBWDriver"); © Copyright IBM Corp. 1996, 2004 71 } 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()); Windows のみ の終り 接続の作成 DriverManager.getConnection() メソッドを使用して、データベースへの接続を作成しま す。このメソッドによって Connection オブジェクトが作成されます。後でこのオブジ ェクトを使用して、SQL 文の作成、SQL 文のデータベースへの送信、および結果の処 理を行います。 DriverManager クラスはどのドライバが使用可能かを管理し、対応するドライバとデー タベースの間の接続要求を処理します。 getConnection() メソッドの url パラメータは データベースの URL で、サブプロトコル (データベース コネクティビティ機構)、デ ータベース識別子、およびプロパティの一覧を指定します。 getConnection() メソッドの 2 つ目のパラメータである property はプロパティの一覧です。プロパティ リストの指 定方法の例については、74 ページの『Properties クラスによる接続プロパティの指定』 を参照してください。 以下の例は、testDB というデータベースに接続するデータベース URL を示していま す。 jdbc:rbw:protocol:123.45.67.89:5050/testDB/?UID=testuser&PWD=testpasswd 72 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 次のセクションでは、データベース 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}: port-number][/dbName/][?UID=user&PWD=password][&name=value]... 上記の構文の説明は以下のとおりです。 v 中括弧 ({}) と縦線 (|) の組み合わせは変数に複数の選択肢があることを表します。 v イタリック の文字列は変数の値を表します。 v 大括弧 ([]) はオプションの値を表します。 v 括弧で囲まれていない語句や記号は必須の変数です (例: jdbc:rbw:protocol)。 重要: データベース URL では空白のスペースは使用できません。 第 5 章 Red Brick JDBC Driver を使用したプログラミング 73 データベース URL の変数部分については、以下のテーブルを参照してください。 データベース URL 変数 必須 ip-addresshost-name はい 説明 データベース サーバを実行しているコンピュー タの IP アドレスまたはホスト名 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 接続プロパティの一覧については、 ページ 75 のテーブルを参照してください。 重要: IBM Red Brick Warehouse バージョン 6.3 は、3 つのポート番号を使用します。 この 3 つとは、指定されたポート番号、および rbw.config ファイルのローカル の各 SERVER エントリに対する 2 つのポート番号です。たとえば、rbw.config ファイル内に RB_HOST SERVER 5050 というエントリがある場合、ポート 5050、5051、5052 が使用されます。これらのポートの 1 つが他のアプリケーシ ョンにすでに割り当てられている場合、データベース サーバは正しく起動しませ ん。 URL では以下の部分のみが必須です。 jdbc:rbw:protocol 他の値はすべて Properties クラスを使用して指定できます。 Properties クラスによる接続プロパティの指定: Red Brick JDBC Driver は、接 続データベース URL の名前−値ペア、または接続プロパティの一覧のいずれかのみを 使用して、Red Brick 接続プロパティを読み込みます。ドライバはユーザの環境にかか わらず接続プロパティを設定します。サポートされる Red Brick 接続プロパティの一覧 は、75 ページの『サポートされる Red Brick 接続プロパティ』を参照してください。 74 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 接続データベース URL の名前−値ペアに Red Brick 接続プロパティを指定する方法に ついては、73 ページの『データベース URL のフォーマット』を参照してください。 プロパティ一覧を使用して Red Brick 接続プロパティを指定するには、 java.util.Properties クラスを使用してプロパティの一覧を作成します。このプロパティ一 覧には、UID および PWD などの Red Brick 接続プロパティが指定されることもあり ます。プロパティ一覧を作成できたら、これを DriverManager.getConnection() に 2 つ目 のパラメータとして渡します。この場合、URL にプロパティ一覧を指定する必要はあり ませんが、1 つ目のパラメータとして、データベース URL を指定してください。 以下の例の DriverManager.getConnection() メソッドは、データベース URL とプロパテ ィ リストという 2 つのパラメータを指定します。この例では、72 ページの『接続の作 成』の例に類似した接続が作成されます。 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 接続プロパティ 以下のテーブルは、Red Brick JDBC Driver がサポートする Red Brick 接続プロパティ の一覧です。 第 5 章 Red Brick JDBC Driver を使用したプログラミング 75 サポートされる 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 サポートされているロケールの 1 つを使用できます。 DataSource オブジェクトを介したデータベース接続 JDBC 2.0 では、Class.forName() および DriverManager.getConnection() の各メソッドを 使用するのではなく、DataSource オブジェクトを使用してデータベースと接続する方 が、アプリケーション コードのポートと保守が簡単です。 v DataSource オブジェクトを使用してデータベースと接続する場合は、アプリケーショ ンでは、宛先データベースの論理名のみが必要です。 論理名を使用して、宛先データベースを調べ、そのデータベースとの接続に必要な JDBC ドライバの名前を調べます。この結果、アプリケーションでコードを変更しな くても、JDBC ドライバの名前と宛先データベースの名前をサーバ上で変更できま す。 v Class.forName()、および DriverManager.getConnection() の各メソッドを使用して、デ ータベースと接続する場合、アプリケーションでは、JDBC ドライバのハードコード された名前、およびデータベースのハードコードされた URL が必要になります。 76 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 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 オブジェクトの作 成と管理を簡素化できます。詳細については、 102 ページの『データ ソース Administrator ツール』 を参照してください。 第 5 章 Red Brick JDBC Driver を使用したプログラミング 77 サポートされている Connection メソッド DriverManager クラス、または DataSource オブジェクトを使用するいずれの場合でも、 IBM Red Brick Warehouse との接続を確立すると、ユーザ セッションを表す Connection オブジェクトを取得します。その後、Connection オブジェクトを使用して、 データベースに送信する要求を定義し、この要求をデータベースに送信します。 Red Brick JDBC Driver は、Connection インタフェースの以下のメソッドをサポートし ています。 サポートされている Connection メソッド void clearWarnings() void close() createStatement() 文 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) 78 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド サポートされている DataSource メソッド Red Brick JDBC Driver は、javax.sql.DataSource インタフェースのメソッドをすべてサ ポートしています。ただし、以下のメソッドは除きます。 [Unsupported:] public void setLoginTimeout(int seconds) さらに、Red Brick JDBC Driver が javax.sql.DataSource を実装すると、以下のテーブル に示すように、標準データ ソースと接続プロパティに getXXX() メソッドと setXXX() メソッドを使用できます。この getXXX() メソッドと setXXX() メソッドは、javax.sql に実装されています。 javax.sql.DataSource および javax.sql.DataSource および javax.sql.ConnectionPoolDataSource の javax.sql.ConnectionPoolDataSource の setXXX() メソッド getXXX() メソッド public String getDatabaseName() public public public public public public public public public String getDescription() void String getHostName() String getLocale() String getPassword() int getPortNumber() String getProxy() String getTraceFile() String getTraceLevel() String getUser() public void database) public void public void public void public void public void public void public void public void public void setDatabaseName(String setDescription(String description) setHostName(String hostName) setLocale(String clientLocale) setPassword(String passwd) setPortNumber(int port) setProxy(String proxy) setTraceFile(String traceFile) setTraceLevel(String traceLevel) setUser(String userName) 第 5 章 Red Brick JDBC Driver を使用したプログラミング 79 サポートされている 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) 80 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド データベースのメタデータへのアクセス 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 値を 割り当てる必要があります。 第 5 章 Red Brick JDBC Driver を使用したプログラミング 81 データベースへのアクセス このセクションでは、Red Brick JDBC Driver を使用して、データベースにアクセス し、結果を処理する方法を説明します。 文の実行 Statement オブジェクトは、SQL 文をデータベースに送信します。また、文オブジェク トを作成して、SQL 文に対応した適切な方法で実行します。以下のコードは、 Connection.createStatement() メソッドを使用して文オブジェクトを作成する方法を示して います。 Statement stmt = conn.createStatement(); SELECT 文では、executeQuery() メソッドを使用して、Statement オブジェクトのクエリ をデータベースに送信します。テーブルを作成、または変更する文の場合は executeUpdate() を使用します。 以下の例では、まず、1 つの列が指定されている 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 文に割り当てられたリソースの割当てが解除されます。 82 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド サポートされている 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() は 1 つの 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 オブジェクトをクローズし、このオブジェクトに確定されたリソースの割 当てを解除します。 第 5 章 Red Brick JDBC Driver を使用したプログラミング 83 サポートされている 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) (Deprecated) BigDecimal getBigDecimal(String columnName) BigDecimal getBigDecimal(String columnName, int scale) (Deprecated) すべての getBoolean() メソッド すべての getByte() メソッド すべての getCharacterStream() メソッド int getConcurrency() String getCursorName() すべての getDate() メソッド すべての getDouble() メソッド すべての getFloat() メソッド すべての getInt() メソッド すべての getLong() メソッド ResultSetMetaData getMetaData() Object getObject(int columnIndex) Object getObject(String columnName) int getRow() すべての getShort() メソッド Statement getStatement() すべての getString() メソッド 84 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド サポートされている ResultSet メソッド すべての 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() サポートされている ResultSetMetaData メソッド ResultSetMetaData オブジェクトを使用すると、ResultSet の列の型とプロパティに関す る情報を取得できます。Red Brick JDBC Driver は、ResultSetMetaData インタフェース のメソッドをすべてサポートしています。ただし、以下のメソッドは除きます。 String getCatalogName(int column) このメソッドは実装されていますが、戻り値は空の文字列 (″″) のみです。これは、IBM Red Brick Warehouse でカタログがサポートされていないためです。 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); 第 5 章 Red Brick JDBC Driver を使用したプログラミング 85 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() のメソッドについては、88 ページの 『サポートされている ResultSet.getXXX() メソッド』を参照してください。 サポートされている 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 データ型を使用します。 86 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 以下のテーブルは、各 JDBC API データ型がマップされるデータ型を示します。 JDBC API データ型 Red Brick データ型 配列 (ARRAY) 型 大桁整数 (BIGINT) 型 2 進数 (BINARY) 型 ビット (BIT) 型 BLOB 型 文字 (CHAR) 型 CLOB 型 日付 (DATE) 型 10 進数 (DECIMAL) 型 ディスティンクト (DISTINCT) 型 実数 (DOUBLE) 型 サポートなし サポートなし 実数 (FLOAT) 型 整数 (INTEGER) 型 整数 (INTEGER) 型 JAVA_OBJECT ロング可変長バイナリ (LONGVARBINARY) 型 ロング可変長文字 (LONGVARCHAR) 型 10 進数 (NUMERIC) 型 その他 (OTHER) 型 小桁実数 (REAL) 型 コメント サポートなし サポートなし サポートなし 文字 (CHAR) 型 サポートなし 日付 (DATE) 型 10 進数 (DECIMAL) 型 サポートなし 実数 (DOUBLE PRECISION) 型、実数 (FLOAT) 型 実数 (DOUBLE PRECISION) 型、実数 (FLOAT) 型 整数 (INTEGER) 型 シリアル (SERIAL) 型 Java 整数 (INTEGER) 型に Red Brick シリアル (SERIAL) 型が含まれているかどうか検 出する場合は、 ResultSetMetaData.is AutoIncrement() メソッドを呼 び出すことができます。 データ型がシリアル (SERIAL) 型の場合、 ResultSetMetaData.isAuto Increment() は true を戻しま す。 サポートなし サポートなし サポートなし 10 進数 (DECIMAL) 型 サポートなし 小桁実数 (REAL) 型 第 5 章 Red Brick JDBC Driver を使用したプログラミング 87 JDBC API データ型 Red Brick データ型 REF 小桁整数 (SMALLINT) 型 STRUCT 時刻 (TIME) 型 タイムスタンプ (TIMESTAMP) 型 小桁整数 (TINYINT) 型 可変長バイナリ (VARBINARY) 型 可変長文字 (VARCHAR) 型 サポートなし 小桁整数 (SMALLINT) 型 コメント サポートなし 時刻 (TIME) 型 タイムスタンプ (TIMESTAMP) 型 小桁整数 (TINYINT) 型 サポートなし 可変長文字 (VARCHAR) 型 重要: IBM Red Brick Warehouse では拡張データ型はサポートされていません。 サポートされている ResultSet.getXXX() メソッド データベースからプログラムにデータを転送するには、ResultSet.getXXX() メソッドを 使用します。たとえば、文字 (CHAR) 型の列に格納されているデータを取得するには、 ResultSet.getString() メソッドを使用します。 以下のテーブルに、Red Brick JDBC Driver がサポートしている ResultSet.getXXX() メ ソッドを示します。また、java.sql.Types クラスで定義された標準 JDBC API データ型 と、これらのメソッドが対話する方法も示します。前述のテーブルに示したように、 JDBC データ型は Red Brick データ型へマッピングされます。 このテーブルでは、Red Brick JDBC アプリケーションが特定 JDBC データ型の値を取 得するのに使用する推奨 getXXX() メソッドは、セル内の太字フォントの大文字 X で 識別されています。太字でない小文字の x は、getXXX() メソッドが、特定データ型で 使用される場合に、例外をスローせずに、その範囲を超える値を切り捨てることを示し ます。たとえば、getByte() は、Java 小桁正数 (TINYINT) 型の列の値を取得する推奨メ ソッドです。 getByte() を使用しても、Java 整数 (INTEGER) 型の列の値を取得できま す。ただし、最初のバイトを超える非ゼロ値は失われ、このとき例外は生成されませ ん。 88 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 時刻 (TIME) 型 タイムスタンプ (TIMESTAMP) 型 x x x x x x x x x X x x x x 1 x X x 1 x getTimestamp() x 1 x getAsciiStream() (deprecated) x x getUnicodeStream() x x getCharacterStream() x x x x x getDouble() getBigDecimal() getBoolean() getString() 2 x x x x x x x x X x x x x x x X X x x x x x x X x x x x x x X x x x x x X x x x x x x X x1 x x 1 x 1 x 1 x 1 x 1 x 1 x 1 x x x x X getDate() x x x x x x x getTime() getObject() x x x x x x x 可変長文字 (VARCHAR) 型 x getFloat() x 文字 (CHAR) 型 x x 10 進数 (NUMERIC) 型 x getLong() 10 進数 (DECIMAL) 型 x x 実数 (DOUBLE) 型 x getInt() 実数 (FLOAT) 型 x x 小桁実数 (REAL) 型 x getShort() 整数 (INTEGER) 型 x X getByte() 小桁整数 (SMALLINT) 型 x getXXX() メソッド 小桁整数 (TINYINT) 型 日付 (DATE) 型 java.sql の JDBC API データ型 x x X x X x x2 x 1 列値内のバイト数が、getXXX() メソッドで予測されたバイト数と一致しない場合、 SQLException が生成されます。たとえば、複数の文字が指定された文字 (CHAR) 型列 で getByte() を使用すると、このメソッドは、値を切り捨てるのではなく、例外をスロ ーします。 2 時刻 (TIME) 型およびタイムスタンプ (TIMESTAMP) 型のスケール値を取得するに は、getString() メソッドを使用する必要があります。 第 5 章 Red Brick JDBC Driver を使用したプログラミング 89 SQLException クラスによるエラー処理 Java プログラムでは、エラーの処理に JDBC API の SQLException クラスを使用しま す。 Red Brick JDBC Driver か、データベース サーバのどちらかでエラーが生じると SQLException が発生します。 SQLException クラスの以下のメソッドを使用して、エラ ー メッセージのテキスト、エラー コード、および SQLSTATE 値を検索します。 v getMessage() エラーの内容を戻します。 SQLException は java.util.Throwable クラスからこのメソ ッドを継承します。 v getErrorCode() データベース サーバ、またはエラー コードに対応する整数値を戻します。 v getSQLState() SQLSTATE 値を説明する文字列を戻します。この文字列は X/O pen SQLSTATE 規 則に従います。 Red Brick JDBC Driver が生成するエラー メッセージ、および全データベース メッセ ージの一覧については、「メッセージおよびコード リファレンス ガイド」を参照して ください。 次に、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()); } 90 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド グローバル化対応 グローバル化によって、ユーザが所在する国やユーザの言語に関係なくソフトウェアを 開発し、これを複数の国や地域で使用できるようにローカライズできます。 Red Brick JDBC Driver では、ロケールやコード セットの異なるデータベースへのアクセスを可能 にすることにより、Java JDK 1.2 の国際化機能を拡張します。 グローバル化対応 Java には、グローバル アプリケーションの開発に対応した API のセットが豊富に装備 されています。これらグローバル化に対応した API は Unicode 2.0 のコード セットに 基づいているため、テキスト、数字、日付、通貨、ユーザ定義のオブジェクトを、どの 国の表記方法にも対応させることができます。 グローバル化対応 API は以下の 3 つのパッケージに集約されています。 v java.text パッケージには、ロケールを区別してテキストを扱うためのクラスやイン タフェースが収録されています。 v java.io パッケージには、Unicode 以外の文字データをインポート、エクスポートす るための新規のクラスが収録されています。 v java.util パッケージにはロケール クラス、ローカライゼーション サポート クラ ス、および日付と時刻を扱う新規クラスが収録されています JDK グローバル化対応の詳細については、以下の Web サイトを参照してください。 http://java.sun.com/ このサイトで globalization を検索してください。 警告: JDK ロケールと JDK コード セットは相互依存しません。これらを常に意識的に 対応させる必要があります。たとえば、日本のロケールである ja_JP を選択した 場合、SJIS コード セットが最適であることを示す Java メソッドは存在しませ ん。 IBM Red Brick Warehouse ロケール サポート Java ではグローバルにクライアント ロケールを指定することはできません。デフォル トのクライアント ロケールを使用するか、I18N 関連メソッドごとにパラメータとして ロケールを指定する必要があります。Red Brick JDBC Driver は、接続パラメータとし て CLIENT_LOCALE を指定します。 CLIENT_LOCALE が指定されていない場合は、 Locale.getDefault() で獲得されたデフォルトのロケールを使用します。 CLIENT_LOCALE は、データベースのロケール指定とは異なり、言語とテリトリに関す る情報のみを含み、コード ページやソート順などに関する情報は含みません。データベ ースのロケールは、rbw.config ファイルのエントリで指定されます。たとえば、デフォ ルト ロケール設定は以下のようになります。 第 5 章 Red Brick JDBC Driver を使用したプログラミング 91 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 は CLIENT_LOCALE を使用して、対応するエラー メッセージ ファイルのみを選択します。たとえば、値が ja_JP であれば、日本語のエラー メッセ ージ ファイルが選択されます。 クライアント ツールのロケールはアプリケーションによって指定されるプロパティから 決定できます。上記のフォーマットでは、CLIENT_LOCALE がプロパティのエントリで す。 以下のテーブルに、Red Brick JDBC Driver がサポートしているロケールを示します。 サポートされているロケール ar_SA be_BY bg_BG ca_ES cs_CZ da_DK de_AT de_AT_EURO de_CH de_DE de_DE_EURO el_GR en_AU en_CA en_GB en_ZA es_AR es_CL es_ES es_ES_EURO es_MX 92 et_EE en_US fi_FI fi_FI_EURO fr_BE fr_BE_EURO fr_CA fr_CH fr_FR fr_FR_EURO hr_HR hu_HU it_CH it_IT it_IT_EURO iw_IL ja_JP ko_KR lt_LT lv_LV mk_MK IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド nl_BE nl_BE_EURO nl_NL nl_NL_EURO no_NO pt_BR pt_PT pt_PT_EURO ro_RO ru_RU sh_YU sk_SK sl_SL sq_AL sr_YU th_TH tr_TR uk_UA zh_CN zh_TW 場合により、日付、または数字をデータベースのロケールのフォーマットからクライア ントのロケールのフォーマットに変換するために、データベースのロケールに相当する Java ロケール名の取得が必要になることがあります。 rbw.config ファイルに指定さ れ、RBW_OPTIONS テーブルの DB_LOCALE オプションから取得されるデータベース のロケールは GlobalC 形式です。 Java がサポートする、GlobalC ロケール コードに相 当するエンコード方法については、 105 ページの『Java 対応エンコードの GlobalC コ ードへの変換』を参照してください。 取消し処理 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 は数値、文字列、時刻、日付、システム、および変換のスカラ 関数をサポートします。スカラ関数のセマンティクスの詳細については X/Open CLI 仕 様の 「SQL Escape Syntax in Statement Objects」を参照してください。以下のテーブル はサポートされている数値、文字列、時刻と日付、およびシステム関数の一覧です。 第 5 章 Red Brick JDBC Driver を使用したプログラミング 93 数値関数の名前 関数からの戻り値 ABS(number) CEILING(number) FLOOR(number) LOG(float) EXP(float) SIGN(number) SQRT(float) number の絶対値 最小の整数 >= number 最大の整数 >= number float の自然対数 float の対数関数 number が <0 の場合、-1。 number が = 0 の 場合、0。 number が > 0 の場合、1。 float の平方根 文字列関数の名前 関数からの戻り値 CONCAT(string1, string2) LCASE(string) LEFT(string, count) UCASE(string) string2 を string1 に追加して形成される文字列 string の大文字の文字をすべて小文字に変換 string の左端から count 文字数分を切り出した 文字列 末尾の空白を除く string の文字数 先頭の空白を除く string の文字列 string の右端から count 文字数分を切り出した 文字列 末尾の空白を除く string の文字列 string の start 番めの文字から length 文字数番 めまでを切り出した文字列 string の小文字の文字をすべて大文字に変換 時刻日付関数の名前 関数からの戻り値 CURDATE() CURTIME() DAYNAME(date) DAYOFMONTH(date) 現在の日付を表す日付値 現在の現地時間を表す時間値 date の曜日を表す文字列 date がその月の何日目かを表す 1 から 31 ま での整数 date がその週の何日目かを表す 1 から 7 まで の整数 date がその年の何日目かを表す 1 から 366 ま での整数 time 中の時間の要素を表す 0 から 23 までの 整数 time 中の分の要素を表す 0 から 59 までの整 数 date 中の月の要素を表す 1 から 12 までの整 数 現在の日付と時刻を表すタイムスタンプの値 date 中の月の名前を表す文字列 LENGTH(string) LTRIM(string) RIGHT(string, count) RTRIM(string) SUBSTRING(string, start, length) DAYOFWEEK(date) DAYOFYEAR(date) HOUR(time) MINUTE(time) MONTH(date) NOW() MONTHNAME(date) 94 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 時刻日付関数の名前 関数からの戻り値 QUARTER(date) YEAR(date) date がその年の第何四半期かを表す 1 から 4 までの整数。 1 は 1 月から 3 月 31 日ま で。 time 中の秒の要素を表す 0 から 59 までの整 数 interval の count 数を timestamp に加えて計算 したタイムスタンプ。interval は 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 のいずれか 1 つ。 timestamp1 の値を timestamp2 が上回る差の interval の数値を表す整数。 interval は 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 のいずれか 1 つ。正常終 了時に、TIMESTAMPDIFF() は値 61 を戻しま すが、対応する Red Brick SQL datediff() 関数 は -61 を戻します。この違いは、2 つの異なる 標準に準拠したために生じます。IBM Red Brick Warehouse (datediff()) は Microsoft ODBC 規格を実装しており、Red Brick JDBC Driver は JDBC 規格に準拠しています。 date がその年の何週目かを表す 1 から 53 ま での整数 date 中の年の要素を表す整数 システム関数の名前 関数からの戻り値 IFNULL(expression, value) expression が NULL の場合は value、expression が NULL でない場合は expression DBMS のユーザ名 SECOND(time) TIMESTAMPADD(interval, count, timestamp) TIMESTAMPDIFF(interval, timestamp1, timestamp2) WEEK(date) USER( ) 第 5 章 Red Brick JDBC Driver を使用したプログラミング 95 変換関数の名前 関数からの戻り値 CONVERT(value, SQLtype) SQLtype に変換される値。SQLtype は 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 のいずれか 1 つ。 ドライバでどの関数がサポートされているかを調べるには、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 に付属するコードの例題を一覧にまとめ て説明します。例題は以下のディレクトリに格納されています。 UNIX のみ $JDBC_DRIVER_HOME/demo $JDBC_DRIVER_HOME は、Red Brick JDBC Driver がインストールされているディレクト リへのパスです。 96 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド Windows のみ %RB_JDBC_HOME%¥demo %JDBC_DRIVER_HOME% は、Red Brick JDBC Driver がインストールされているディレクト リへのパスです。 Windows のみ の終り demo ディレクトリにある README ファイルには、さまざまなデモンストレーション フ ァイル、および例題の実行方法が説明されています。 以下のテーブルでは、コードの例を一覧にまとめ、Java プログラムの名前をあげて、プ ログラムの動作を簡単に説明します。 第 5 章 Red Brick JDBC Driver を使用したプログラミング 97 デモンストレーション プログラム名 98 説明 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 が作成したテーブルを削除します。 JDBCTestCancelApplet.java Red Brick JDBC Driver の取消し処理能力をテストしま す。 JDBCTestQueryProcessing.java 文の実行方法を説明し、それがクエリか更新かを判断 します。クエリの場合、そのリザルト セットを表示し ます。更新の場合、その更新カウントを表示します。 JR.java RMI 接続による Red Brick JDBC Driver の使用方法を 説明します。関連ファイルと手順の一覧については、 README ファイルを参照してください。 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 第 6 章 Red Brick JDBC ツール Red Brick JDBC Driver をインストールすると、以下に示す GUI 形式の JDBC ツール もインストールされます。 v JDBC データ ソース アドミニストレータ (rbdsadmin) - JDBC データ ソースを定義 および管理するためのプログラム v JDBC Ping (rbjping) - Red Brick データベースへの接続状態を検査するためのプログ ラム どちらのツールも、UNIX プラットフォームの場合はディレクトリ $JDBC_DRIVER_HOME/tools、Windows プラットフォームの場合はディレクトリ %JDBC_DRIVER_HOME%¥tools にインストールされます。 この章では、この 2 つのツールの概要とセットアップ要件について説明します。この章 は以下の 3 つのセクションに分かれています。 v 環境設定 v データ ソース Administrator ツール v JDBC Ping ツール 各ツールの使用方法の詳細については、ツールを起動し、[Help] メニューの [Contents] をクリックしてください。 © Copyright IBM Corp. 1996, 2004 99 環境設定 JDBC ツールを使用するには、以下のファイルが Java の環境変数 CLASSPATH で指定 されている必要があります。この環境変数の設定方法については、61 ページを参照して ください。 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 か らダウンロードできます。 File System Context Service Provider が含まれている jar ファイ ルまたは LDAP Service Provider が含まれている jar ファイル。 どちらのファイルも http://java.sun.com/products/jndi/serviceproviders.html からダウンロ ードします。 このファイルは、fscontext.jar または ldap.jar とともにダウンロ ードされます。 fscontext.jar または ldap.jar providerutil.jar データ ソース Administrator ツールを使用してデータ ソースを保存または管理するに は、事前にファイル java.home/lib/jndi.properties の中で JNDI サービス プロバイ ダを定義しておく必要があります。(jndi.properties ファイルを作成するには、ディレ クトリ java.home/lib に対する書込み権限が必要です。) このファイルは、サービス プロバイダの場所 (File System Context の URL または LDAP の URL)、ファクトリ クラス名、認証タイプなどの情報を定義するものです。 jndi.properties ファイルの内容を変更するには: 1. データ ソース アドミニストレータを起動します。 2. [Edit] メニューの [Properties] をクリックします。 3. JNDI File System Context Server または JNDI LDAP Server に関する以下のフィー ルドの値を指定し、[Save] をクリックします。 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] で指定したディレクトリ の下に作成されます。 100 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド JNDI LDAP Server: [JNDI Server URL] ldap://host_pc_name:host_port/o=root_DN host_pc_name:host_portは LDAP サーバの場所、 root_DN は LDAP ディレクトリ ツリーのルートの名 前です。 [JNDI Service Provider] com.sun.jndi.ldap.LdapCtxFactory (リスト ボックスから 選択) [Authentication] simple [Username] LDAP ユーザー名。例: cn=Directory Manager [Password] LDAP のパスワード JDBC ツールでは、LDAP サーバのデータ ソース命名規則がサポートされています。こ の命名規則では、名前と値のペアをコンマで区切り、名前と値は等号で区切ります。以 下に例を示します。 cn=ds0 cn=ds1, ds=MaryDS cn=ds2, ou=pool, ou=jdbc 2 つ目と 3 つ目の例のように LDAP データ ソース名に複数の名前/値のペアが含まれ ている場合には、対応する LDAP ディレクトリ (ds=MaryDS、ou=pool および ou=jdbc) が LDAP サーバに存在している必要があります。これらの LDAP ディレクトリが存在 していない場合には、データ ソース アドミニストレータからエラーが戻されます。 JNDI プロパティの保存と取得 データ ソース Administrator ツールを使用した場合、以下のファイルに対してデータ ソースのプロパティが排他的に読み書きされます。 $JAVA_HOME/jre/lib/jndi.properties Red Brick JDBC Driver (redbrick.jar) によって使用される Java コードでは、以下の 優先順位に従ってプロパティの取得方法がより包括的に定義されています。 1. コンストラクタに設定されたプロパティ 2. アプレットのパラメータ 3. システム プロパティ 4. ファイル jndi.properties の中で設定されたプロパティ このような優先順位になっているため、たとえば Web サーバで設定されたシステム プ ロパティは、ファイル jndi.properties の中で設定された値よりも優先されます。 第 6 章 Red Brick JDBC ツール 101 データ ソース Administrator ツール 管理者はこのツールを利用して、JDBC アプリケーションで使用するデータ ソース オ ブジェクトを作成および管理できます。アプリケーションでは、 DriverManager.getConnection() メソッドを使用する代わりにこれらのデータ ソースを介 してデータベースに接続できます。 このツールを起動するには、UNIX プラットフォームの場合はシェル スクリプト rbdsadmin.sh、Windows プラットフォームの場合はファイル rbdsadmin.bat を実行し ます。以下のウィンドウが表示されます。 このツールでは、プールされたデータ ソースおよびプールされていないデータ ソース に対して、追加、削除、編集、ping コマンド発行の各操作を行うことができます。これ らの機能の詳細については、オンライン ヘルプを参照してください。 102 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド JDBC Ping ツール JDBC Ping ツールは、Red Brick データベースへの接続状態を検査します。このツール を起動するには、UNIX プラットフォームの場合はシェル スクリプト rbjping.sh、 Windows プラットフォームの場合はファイル rbjping.bat を実行します。以下のウィ ンドウが表示されます。 このツールは、データベース セッション中、またはデータベースに接続する前の状態の いずれにおいても使用できます。この Ping ツールでは、以下の 3 つの指定のいずれか に基づいて、Red Brick サーバが稼動しているかどうかを検査します。 v 完全な JDBC URL v 事前に定義された JDBC データ ソース v データベース サーバ情報 詳細については、オンライン ヘルプを参照してください。 第 6 章 Red Brick JDBC ツール 103 104 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 付録. Java 対応エンコードの GlobalC コードへの変換 IBM Red Brick Warehouse ロケールは GlobalC フォーマットで指定します。以下のテ ーブルでは、GlobalC ロケール コードに相当するJava 対応エンコードを説明します。 日付や数値をデータベースのロケールのフォーマットからクライアントのロケールのフ ォーマットに変換する場合などに、Java ロケール コードが必要になる場合がありま す。 Java GlobalC ASCII ISO8859_1 ISO8859_2 ISO8859_3 ISO8859_4 ISO8859_5 ISO8859_6 ISO8859_7 ISO8859_8 ISO8859_9 Big5 Cp037 Cp1006 Cp1025 Cp1026 Cp1046 Cp1097 Cp1098 Cp1112 Cp1122 Cp1123 Cp1124 Cp1250 Cp1251 Cp1252 Cp1253 Cp1254 Cp1255 Cp1256 Cp1257 Cp1258 Cp1381 US-ASCII Latin1 ISO-8859-2 ISO-8859-3 ISO-8859-4 ISO-8859-5 ISO-8859-6 ISO-8859-7 ISO-8859-8 ISO-8859-9 MS950 IBM037 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A MS1250 MS1251 MS1252 MS1253 MS1254 MS1255 MS1256 MS1257 MS1258 N/A © Copyright IBM Corp. 1996, 2004 105 106 Java GlobalC Cp1383 Cp273 Cp277 Cp278 Cp280 Cp284 Cp285 Cp297 Cp33722 Cp420 Cp424 Cp437 Cp500 Cp737 Cp775 Cp838 Cp850 Cp852 Cp855 Cp857 Cp860 Cp861 Cp862 Cp863 Cp864 Cp865 Cp866 Cp868 Cp869 Cp870 Cp871 Cp874 Cp875 Cp918 Cp921 Cp922 Cp930 Cp933 Cp935 Cp937 Cp939 Cp942 Cp948 Cp949 N/A IBM273 N/A N/A IBM280 N/A IBM285 IBM297 N/A N/A N/A N/A IBM500 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A MS874 N/A N/A N/A N/A IBM930 N/A IBM935 IBM937 N/A N/A N/A MS949 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド Java GlobalC Cp950 Cp964 Cp970 EUC_CN EUC_JP EUC_KR EUC_TW GBK ISO2022CN ISO2022CN_CNS ISO2022CN_GB ISO2022JP ISO2022KR JIS0201 JIS0208 JIS0212 KOI8_R MS874 MacArabic MacCentralEurope MacCroatian MacCyrillic MacDingbat MacGreek MacHebrew MacIceland MacRoman MacRomania MacSymbol MacThai MacTurkish MacUkraine SJIS UTF8 N/A N/A MS950 N/A N/A MS936 JapanEUC MS949 EUC-TW N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A MS874 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A MS932 UTF-8 ISO-8859-15 MS1361 付録. Java 対応エンコードの GlobalC コードへの変換 107 108 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 特記事項 本書は米国 IBM が提供する製品およびサービスについて作成したものであり、本書に 記載の製品、サービス、または機能が日本においては提供されていない場合がありま す。日本で利用可能な製品、サービス、および機能については、日本 IBM の営業担当 員にお尋ねください。本書で IBM 製品、プログラム、またはサービスに言及していて も、その IBM 製品、プログラム、またはサービスのみが使用可能であることを意味す るものではありません。これらに代えて、IBM の知的所有権を侵害することのない、機 能的に同等の製品、プログラム、またはサービスを使用することができます。ただし、 IBM 以外の製品とプログラムの操作またはサービスの評価および検証は、お客様の責任 で行っていただきます。 IBM は、本書に記載されている内容に関して特許権 (特許出願中のものを含む) を保有 している場合があります。本書の提供は、お客様にこれらの特許権について実施権を許 諾することを意味するものではありません。実施権についてのお問い合わせは、書面に て下記宛先にお送りください。 〒106-0032 東京都港区六本木 3-2-31 IBM World Trade Asia Corporation Licensing 以下の保証は、国または地域の法律に沿わない場合は、適用されません。 IBM および その直接または間接の子会社は、本書を特定物として現存するままの状態で提供し、商 品性の保証、特定目的適合性の保証および法律上の瑕疵担保責任を含むすべての明示も しくは黙示の保証責任を負わないものとします。国または地域によっては、法律の強行 規定により、保証責任の制限が禁じられる場合、強行規定の制限を受けるものとしま す。 この情報には、技術的に不適切な記述や誤植を含む場合があります。本書は定期的に見 直され、必要な変更は本書の次版に組み込まれます。 IBM は予告なしに、随時、この 文書に記載されている製品またはプログラムに対して、改良または変更を行うことがあ ります。 本書において IBM 以外の Web サイトに言及している場合がありますが、便宜のため 記載しただけであり、決してそれらの Web サイトを推奨するものではありません。そ れらの Web サイトにある資料は、この IBM 製品の資料の一部ではありません。それ らの Web サイトは、お客様の責任でご使用ください。 IBM は、お客様が提供するいかなる情報も、お客様に対してなんら義務も負うことのな い、自ら適切と信ずる方法で、使用もしくは配布することができるものとします。 © Copyright IBM Corp. 1996, 2004 109 本プログラムのライセンス保持者で、(i) 独自に作成したプログラムとその他のプログラ ム(本プログラムを含む)との間での情報交換、および (ii) 交換された情報の相互利用 を可能にすることを目的として、本プログラムに関する情報を必要とする方は、下記に 連絡してください。 IBM Corporation J35/G4 555 Bailey Avenue San Jose, CA 95141-1003 U.S.A. 本プログラムに関する上記の情報は、適切な使用条件の下で使用することができます が、有償の場合もあります。 本書で説明されているライセンス・プログラムまたはその他のライセンス資料は、IBM 所定のプログラム契約の契約条項、IBM プログラムのご使用条件、またはそれと同等の 条項に基づいて、 IBM より提供されます。 この文書に含まれるいかなるパフォーマンス・データも、管理環境下で決定されたもの です。そのため、他の操作環境で得られた結果は、異なる可能性があります。一部の測 定が、開発レベルのシステムで行われた可能性がありますが、その測定値が、一般に利 用可能なシステムのものと同じである保証はありません。さらに、一部の測定値が、推 定値である可能性があります。実際の結果は、異なる可能性があります。お客様は、お 客様の特定の環境に適したデータを確かめる必要があります。 IBM 以外の製品に関する情報は、その製品の供給者、出版物、もしくはその他の公に利 用可能なソースから入手したものです。IBM は、それらの製品のテストは行っておりま せん。したがって、他社製品に関する実行性、互換性、またはその他の要求については 確証できません。 IBM 以外の製品の性能に関する質問は、それらの製品の供給者にお 願いします。 IBM の将来の方向または意向に関する記述については、予告なしに変更または撤回され る場合があり、単に目標を示しているものです。 表示されている IBM の価格は IBM が小売り価格として提示しているもので、現行価 格であり、通知なしに変更されるものです。卸価格は、異なる場合があります。 本書には、日常の業務処理で用いられるデータや報告書の例が含まれています。より具 体性を与えるために、それらの例には、個人、企業、ブランド、あるいは製品などの名 前が含まれている場合があります。これらの名称はすべて架空のものであり、名称や住 所が類似する企業が実在しているとしても、それは偶然にすぎません。 著作権使用許諾: 本書には、様々なオペレーティング・プラットフォームでのプログラミング手法を例示 するサンプル・アプリケーション・プログラムがソース言語で掲載されています。お客 110 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 様は、サンプル・プログラムが書かれているオペレーティング・プラットフォームのア プリケーション・プログラミング・インターフェースに準拠したアプリケーション・プ ログラムの開発、使用、販売、配布を目的として、いかなる形式においても、IBM に対 価を支払うことなくこれを複製し、改変し、配布することができます。このサンプル・ プログラムは、あらゆる条件下における完全なテストを経ていません。従って IBM は、これらのサンプル・プログラムについて信頼性、利便性もしくは機能性があること をほのめかしたり、保証することはできません。お客様は、IBM のアプリケーション・ プログラミング・インターフェースに準拠したアプリケーション・プログラムの開発、 使用、販売、配布を目的として、いかなる形式においても、IBM に対価を支払うことな くこれを複製し、改変し、配布することができます。 それぞれの複製物、サンプル・プログラムのいかなる部分、またはすべての派生的創作 物にも、次のように、著作権表示を入れていただく必要があります。 © IBM 2004. このコードの一部は、IBM Corp. のサンプル・プログラムから取られ ています。 © Copyright IBM Corp. 1996-2004. All rights reserved. この情報をソフトコピーでご覧になっている場合は、写真やカラーの図表は表示されな い場合があります。 特記事項 111 商標 AIX IBM Informix SE C-ISAM Client SDK Cloudscape Cloudsync DB2 DB2 Universal Database Distributed Relational Database Architecture Dynamic Connect Foundation.2000 IBM IBM Informix IBM Informix 4GL IBM Informix Connect IBM Informix Data Blade Module IBM Informix Driver for JDBC IBM Informix Dynamic Scalable Architecture(DSA) IBM Informix Dynamic Server IBM Informix Enterprise Gateway Manager (Enterprise Gateway Manager) IBM Informix Extended Parallel Server IBM Informix SQL i.Financial Services InformiXML J/Foundation MaxConnect NUMA-Q Object Translator OS/2 OS/390 OS/400 RedBack Red Brick SystemBuilder U2 UniData UniVerse Wintegrate Java およびすべての Java 関連の商標およびロゴは、Sun Microsystems, Inc. の米国およ びその他の国における商標または登録商標です。 Windows、Windows NT、および Excel は、Microsoft Corporation の米国およびその他の 国における商標です。 UNIX は、The Open Group がライセンスしている米国およびその他の国における登録 商標です。 他の会社名、製品名およびサービス名などはそれぞれ各社の商標または登録商標です。 112 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 索引 日本語, 数字, 英字, 特殊文字の 順に配列されています。なお, 濁 音と半濁音は清音と同等に扱わ れています。 RBWDriver 72 ResultSet 83 ResultSetMetaData 85 SQLException 90 Types 86 ケース、テクニカル サポートによる [ア行] アプレット データベースへのアクセス 追跡 viii 65 Microsoft Internet Explorer で表示 72 Red Brick JDBC Driver の使用 72 インタフェース 71 エラー処理、JDBC クラスとインタフェース (続き) 90 オンライン マニュアル xi [カ行] カスタマ サポート vii 環境変数 vi CLASSPATH 61 ODBC アプリケーションに対する 設定 47 キーワード 構文ダイアグラム vi クライアント TMU インストール 4 説明 2 クラスとインタフェース 接続 72 ドライバ 72, 96 文 82 ConnectionEventListener 80 ConnectionPoolDataSource 79 DatabaseMetaData 81, 96 DataSource 71, 76 DriverManager 55, 71, 72 PooledConnection 80 PreparedStatement 85 Properties 75 © Copyright IBM Corp. 1996, 2004 コード セット、ロケールとの同期 91 コード例 JDBC 96 ODBC 49 コア SQL 文法 31 構文ダイアグラム キーワード 変数 vi vi [サ行] サンプル プログラム JDBC 96 ODBC 49 システムの要件 v Client Connector Pack 3 JDBC ドライバ 2 ODBC ドライバ 2 準拠、Red Brick ODBC Driver 11 スカラ関数 JDBC 93 ODBC 32 スレッド セーフ ODBC ドライバ 39, 40 スレッド セーフ ODBClib SDK 41 接続属性 Red Brick ODBC Driver でサポー ト 17 接続プロパティ 74 設定 75 CLIENT_LOCALE 91 PROXY 76 接続プロパティ (続き) Red Brick JDBC Driver でサポー ト 75 ソフトウェアの要件 v [タ行] ツール、Red Brick JDBC 99 データ ソース アドミニストレー タ、JDBC 99 データ ソース、ODBC UNIX の .odbc.ini ファイルで設 定 45 Windows システム上で設定 6 データ型 Red Brick ODBC Driver によるマ ッピング 36 Red Brick ODBC Driver 変換関数 35 Red Brick と JDBC のマッピング 86 データベース、リモート アクセス オプション (JDBC) 65 データベースに接続する URL 構文 (JDBC) 73 データベースへの接続 DataSource オブジェクトを使用 76 DataSource のコード例 77 DriverManager クラスの使用 71 DriverManager のコード例 73, 75 データベースへのリモート アクセス (JDBC) 65 テクニカル サポート vii ドライバ インタフェース 72 getMajorVersion() メソッド 96 getMinorVersion() メソッド 96 Red Brick JDBC Driver のバージ ョン番号の取得 96 トラブルシューティング viii 113 トランザクション処理 取消し処理 メソッド (続き) 96 93 タフェースを使用したアクセス [ハ行] 15 パラメータの配列 18 パラメータ配列 18 日付/時刻関数、ODBC プロキシ サーブレット 33 65 変数、構文ダイアグラム ポート番号 (JDBC) 74 6 vi [マ行] Connect ODBC SDK 要件、ソフトウェア v トされているメソッド 78 ConnectionEventListener インタフェー ス リモート データベース アクセス 65 サポートされているメソッド xi コード セットとの同期 91 Java エンコードから GlobalC へ のマッピング 105 IBM Red Brick Warehouse のリス ト ix rbw.config ファイルでの指定 80 ConnectionPoolDataSource インタフェ ース 79 サポートされている getXXX() メ ソッドと setXXX() メソッド 79 サポートされているメソッド 80 91 Red Brick JDBC Driver でのサポ ート 91 71, 76 Connection.createStatement() 82 DatabaseMetaData. getDriverMajorVersion() 71, 96 DatabaseMetaData. getDriverMinorVersion() 96 DriverManager.getConnection() 71, 72, 75, 76 DriverManager.registerDriver() 72 Driver.getMajorVersion() 96 Driver.getMinorVersion() 96 PreparedStatement.close() 86 ResultSetMetaData.isAutoIncrement() ResultSet.close() 83 ResultSet.getString() 85 ResultSet.getTime() 85 ResultSet.getXXX() 88 ResultSet.next() 83 ResultSet.previous() 83 Statement.cancel() 93 Statement.close() 82 Statement.executeQuery() 82 Statement.executeUpdate() 82 37, 48 Connection インタフェース 72 createStatement() メソッド 82 Red Brick JDBC Driver でサポー [ラ行] xi 5 3 CLIENT_LOCALE 接続プロパティ 91 ユーザ 種類 v 連絡先情報 ロケール メソッド Class.forName() 開始 [ヤ行] ファイアウォール、データベース ア クセス 65 太字 vi 114 81 トール Client Connector Pack のインストー ル エラー メッセージ 廃止予定関数、ODBC マニュアル オンライン Client Connector Pack のアンインス Statement.execute() 83 メタデータ、DatabaseMetaData イン D A Apache HTTP Server 66 C C コンパイラ Red Brick ODBClib SDK Driver でサポート 38 CLASSPATH 環境変数 設定 61 87 JDBC ツール使用時に必要 100 Class.forName() メソッド 71, 76 Client Connector Pack アンインストール 6 インストール 3 インストール エラー メッセージ 5 コンポーネント 1 システムの要件 3 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド DatabaseMetaData インタフェース 81 サポートされているメソッド 81 getDriverMajorVersion() メソッド 96 getDriverMinorVersion() メソッド 96 Red Brick JDBC Driver のバージ ョン番号の取得 96 DataDirect Technologies Connect ODBC SDK 37, 48 DataSource インタフェース 71, 76 Red Brick JDBC Driver でサポー トされているメソッド 79 Driver Manager での Red Brick JDBC Driver の登録 72 DriverManager クラス 55, 71, 72 接続の確立 71 getConnection() メソッド 71, 72, 75, 76, 102 DriverManager クラス (続き) JNDI LDAP Server Ping ツール (続き) 101 Red Brick JDBC Driver の登録 72 jndi.jar ファイル 100 jndi.properties ファイル registerDriver() メソッド JRun エンジン、インストール 66 JServ サーブレット エンジン、イン 72 ストール F fscontext.jar ファイル 100 GlobalC、Java ロケール エンコード のマッピング 105 H 65, IBM HTTP Server 66 close() メソッド LDAP Server、JNDI 101 LDAP Service Provider 100 ldap.jar ファイル PROXY 接続プロパティ 100 R Microsoft Internet Explorer、アプレッ トの表示 72 rbdsadmin プログラム 99 rbjping プログラム 99 RBPing、定義 1 RBWDriver クラス Java Naming and Directory Interface (JNDI) 71, 77 Java 仮想マシン 61 JDBC API 53 JDBC Ping ツール 99 JDBC 接続プロパティの設定 75 JDBC ツール 99 JDBC データ型、サポート対象 87 JDBC ドライバ 2 JDBC ドライバ、種類 55 JDBC ドライバのグローバル化対応 91 JDBC ドライバの国際化サポート 91 JDBC プロキシ サーブレット インストール 67 3 層構成 56 jdbc2_0-stdext.jar ファイル 100 JNDI File System Context Server 100 環境属性 17 ODBC Driver でサポートされている 記述子関数 19 ODBC Driver でサポートされている 記述子ヘッダ フィールドとレコー ド フィールド 19 ODBC Driver でサポートされている システム関数 34 ODBC Driver でサポートされている 診断フィールド 22 ODBC Driver でサポートされている 文属性 17 ODBC 関数、ODBC 3.0 で廃止予定 15 ODBC ドライバ 9 ODBClib SDK 37, 51 P Ping ツール JDBC 99 86 76 M ODBC 2.x として動作、 SQL_ATTR_ODBC_VERSION で設 80 86 Properties クラス 75 properties ファイル、JNDI 100 providerutil.jar ファイル 100 定 11 ODBC Driver でサポートされている J サポートされているメソッド PreparedStatement インタフェース クエリの実行 85 サポートされているメソッド O I ODBC 1 PooledConnection インタフェース 67 L G HTTP プロキシ サーブレット 69 100 72 rbw.config ファイル ポート番号 74 ロケールの指定 91 rb_ctmu プログラム 2 Red Brick JDBC Driver アプレットでの使用 インストール 57 63, 72 概要 59 サポートされている DataSource メソッド 79 サポートされているデータ型 87 サンプル コード ファイル 96 システムの要件 2 数値関数 94 スカラ関数 93 接続プロパティ 74, 75 説明 55 データ型マッピング 86 登録 72 トランザクション処理 96 取消し処理 93 バージョン番号の取得 96 日付/時刻関数 94, 95 ファイル 59 ポート番号 74 文字列関数 94 ロード 71 索引 115 Red Brick JDBC Driver (続き) ResultSet インタフェース (続き) ロケール サポート 91 Connection メソッド 78 サポートされているメソッド close() メソッド 83 DataSource オブジェクトを使用し getString() メソッド たデータベース接続 85 getTime() メソッド 76, 77 DriverManager を使用したデータ ベース接続 73, 75 uninstall プログラム 84 サポート対象 88 Red Brick JDBC Driver のインスト ール 57 Red Brick JDBC Driver のロード next() メソッド 83 previous() メソッド 83 ResultSetMetaData インタフェース 71 Red Brick ODBC Driver アプリケーション、環境変数の設 サポートされているメソッド 85 isAutoIncrement() メソッド 87 RISQL エントリ ツールと RISQL レ 定 ポーター、説明 47 記述子関数 19 記述子ヘッダ/レコード フィール ド 19 コア SQL 文法のサポート 31 サポートされている環境属性 17 サポートされている関数 11 サンプル プログラム システム関数 34 システムの要件 診断フィールド 49 10 22 数値関数 33 スカラ関数 32 接続属性 17 説明 1, 9 データ型変換関数 35 データ型マッピング 36 日付/時刻関数 33 文属性 17 文字列関数 32 要件 2 API に準拠 11 Red Brick ODBClib SDK 37, 51 環境変数 47 コンパイルとリンク 40 使用 38 情報タイプの戻り値 48 ソフトウェア ファイル 39 ヘッダ ファイル 40 ライブラリ ファイル 40 C コンパイラ 38 ResultSet インタフェース 83 116 1 RISQL レポーター、説明 91 uninstall プログラム Client Connector Pack Setup ユーティリティ 説明 3 ファイルをコピー 3 SQL 文、JDBC を使用したデータベ 31 SQLException クラス エラー処理 90 サポートされているメソッド 90 SQLGetInfo ODBC Driver でサポートされて いる情報タイプ 22 Statement インタフェース サポートされているメソッド 83 データベースへの SQL 文の送信 82 cancel() メソッド 93 close() メソッド 82 executeQuery() メソッド 82 executeUpdate() メソッド 82 execute() メソッド 83 T Types クラス 一般的な SQL データ型 86 IBM Red Brick Warehouse: クライアント インストールおよび接続ガイド 6 63 W WebSphere Application Server [特殊文字] .odbc.ini ファイル サンプル 46 ODBC データ ソース 2 S ースへの送信 82 SQL 文法のサポート Unicode JDBC ドライバ 制限 85 getXXX() メソッド 63 U 45 66 Printed in Japan GC88-9939-00