Comments
Description
Transcript
SQL Server - PowerBuilder
デー タ ベース と の接続 InfoMaker® 11.5 DOCUMENT ID: DC37791-01-1150-01 LAST REVISED: September 2008 Copyright © 2008 by Sybase, Inc. All rights reserved. 本書は Sybase ソ フ ト ウ ェ アの付属マニ ュ アルで あ り 、 新 し いマニ ュ アル ま たはテ ク ニ カル ノ ー ト で特に示 さ れないかぎ り 、 後続の リ リ ース に も 付属 し ます。 こ のマニ ュ アルの内容は、 予告な く 変更 さ れ る こ と があ り ますが、 Sybase,Inc. お よ びその関連会社では内容の変更に関 し て一切の責任を負い ません。 こ のマニ ュ アルに記載 さ れてい る ソ フ ト ウ ェ アは ラ イ セ ン ス契約に基づいて提供 さ れ る も のであ り 、 無断で使用す る こ と はで き ません。 予定 し た ソ フ ト ウ ェ アの リ リ ース日にのみア ッ プグ レー ド を提供 し ます。 本書に記載 さ れてい る 内容は、 Sybase, Inc. お よ びその関連会社の書面に よ る 事前許可を得ずに、 電子的、 機械的、 手作業、 光学的、 ま たはその他のいかな る 手段に よ っ て も 複製、 転載、 翻訳す る こ と を禁 じ ます。 Sybase の商標は Sybase の商標ページ のサイ ト http://www.sybase.com/detail?id=1011207 に記載 さ れてい ます。 記載の Sybase お よ びマー ク は Sybase, Inc の商標です。 ® はア メ リ カ合衆国におけ る 登録商標を示 し ます。 Java お よ びすべての Java ベース のマー ク は、 米国お よ び他国におけ る Sun Microsystems, Inc. の商標ま たは登録商標です。 Unicode お よ び Unicode の ロ ゴは Unicode, Inc. の登録商標です。 本書で記載 さ れてい る 上記以外の社名お よ び製品名は、 各社の商標ま たは登録商標の場合があ り ます。 本書に記載 さ れてい る 内容は、 将来予告な し に変更す る こ と があ り ます。 ま た、 本 ソ フ ト ウ ェ アお よ び説明書を使用 し た こ と に よ る 損害、 ま たは第三者か ら のいかな る 請求について も 、 サ イ ベース株式会社、 その親会社であ る 米国法人 Sybase, Inc. ま たはその関連会社は、 一切の責任を負わない も の と し ます。 目次 本書について .................................................................................................................................. ix 第1部 デー タ ベース接続に関する作業 第1章 デー タ ベース と の接続について ............................................................................ 3 デー タ ベース と の接続の手順 .......................................................... 3 InfoMaker でのデー タ ア ク セス方法................................................. 5 EAS Demo DB へのア ク セス ........................................................... 6 デー タ ベース プ ロ フ ァ イルの使い方............................................... 6 デー タ ベース プ ロ フ ァ イルの作成について ............................. 7 デー タ ベース プ ロ フ ァ イルの作成 ......................................... 10 次のス テ ッ プ .................................................................................. 12 第2部 標準デー タ ベース イ ン タ フ ェ ースの使い方 第2章 ODBC イ ン タ フ ェ ース ............................................................................................. 15 ODBC イ ン タ フ ェ ースについて .................................................... 15 ODBC と は ?........................................................................... 16 InfoMaker での ODBC の使い方 ............................................. 17 ODBC 接続の コ ンポーネ ン ト ................................................. 17 ODBC ド ラ イバの種類 ............................................................ 19 ODBC ド ラ イバの合致レ ベル ................................................. 21 ODBC ド ラ イバの入手 ............................................................ 23 ODBC ド ラ イバに関するヘルプ情報を入手するには ............. 23 ODBC デー タ ソ ースの準備 .......................................................... 24 ODBC デー タ ソ ースの定義 .......................................................... 25 InfoMaker がデー タ ソ ースへのア ク セスに必要な フ ァ イル... 25 同一デー タ に対する複数のデー タ ソ ースの定義.................... 28 ODBC ド ラ イバに関するオ ン ラ イ ンヘルプの表示................. 28 ODBC ト ラ ン ス レー タ の選択 ................................................. 29 ODBC イ ン タ フ ェ ースの定義 ........................................................ 30 Sybase SQL Anywhere .................................................................. 30 デー タ ベース と の接続 iii 目次 SQL Anywhere でサポー ト し ているバージ ョ ン ..................... SQL Anywhere の基本ソ フ ト ウ ェ ア コ ンポーネ ン ト ............. SQL Anywhere デー タ ソ ース を使用する ための準備............. SQL Anywhere デー タ ソ ースの定義...................................... Transact-SQL の特殊な timestamp カ ラ ムのサポー ト ........... 次のス テ ッ プ ........................................................................... 31 31 32 33 35 36 第3章 JDBC イ ン タ フ ェ ース .............................................................................................. 37 JDBC イ ン タ フ ェ ースについて ..................................................... 37 JDBC と は ? ............................................................................ 37 JDBC 接続の コ ンポーネ ン ト .................................................. 38 JDBC レ ジ ス ト リ エ ン ト リ ..................................................... 40 JDBC でサポー ト し ているバージ ョ ン .................................... 41 サポー ト し ている JDBC デー タ 型.......................................... 41 JDBC イ ン タ フ ェ ース を使用する ための準備................................ 41 JDBC イ ン タ フ ェ ースの定義......................................................... 43 第4章 OLE DB イ ン タ フ ェ ース ......................................................................................... 45 OLE DB イ ン タ フ ェ ースについて ................................................. 45 OLE DB と は ? ........................................................................ 46 OLE DB 接続の コ ンポーネ ン ト .............................................. 48 OLE DB デー タ プ ロバイ ダの入手.......................................... 49 サポー ト し ている OLE DB のバージ ョ ン ............................... 49 OLE DB イ ン タ フ ェ ース を使用する ための準備............................ 50 OLE DB イ ン タ フ ェ ースの定義 ..................................................... 52 第3部 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースの使い方 第5章 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースの使い方 ................................ 57 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースについて ...................... 57 デー タ ベース イ ン タ フ ェ ース接続の コ ンポーネ ン ト ................... 58 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースの使い方 ...................... 59 第6章 Adaptive Server Enterprise の使い方 ........................................................... 63 サポー ト し ている Adaptive Server のバージ ョ ン ......................... 63 サポー ト し ている Adaptive Server デー タ 型 ................................ 64 Adaptive Server の基本ソ フ ト ウ ェ ア コ ンポーネ ン ト .................. 67 Adaptive Server デー タ ベース を使用する ための準備 ................... 67 Adaptive Server デー タ ベース イ ン タ フ ェ ースの定義 .................. 70 Open Client のセキ ュ リ テ ィ サービ ス........................................... 71 Open Client のセキ ュ リ テ ィ サービ ス と は ?.......................... 71 iv InfoMaker 目次 第7章 第8章 デー タ ベース と の接続 Open Client のセキ ュ リ テ ィ サービ ス を 使用する ための条件 ......................................................... セキ ュ リ テ ィ サービ スの DBParm パラ メ ー タ ...................... Open Client のデ ィ レ ク ト リ サービ スの使い方 ............................ Open Client のデ ィ レ ク ト リ サービ ス と は ?.......................... Open Client のデ ィ レ ク ト リ サービ ス を 使用する ための条件 ......................................................... Open Client のデ ィ レ ク ト リ サービ ス を 使用する場合のサーバ名の指定 ....................................... デ ィ レ ク ト リ サービ スの DBParm パラ メ ー タ ...................... Adaptive Server ス ト ア ド プ ロ シージ ャ における PRINT 文の使い方............................................................ デー タ ベース間の結合に基づ く レポー ト の作成............................ Adaptive Server デー タ ベースにおける ス ト ア ド プ ロ シージ ャのイ ン ス ト ール ........................... InfoMaker ス ト ア ド プ ロ シージ ャ ス ク リ プ ト と は ? ............. ス ク リ プ ト の実行方法 ............................................................ 77 78 81 Informix の使い方 ...................................................................................................... サポー ト し ている Informix のバージ ョ ン ...................................... サポー ト し ている Informix デー タ 型 ............................................. Informix の DateTime デー タ 型 ............................................... Informix の Time デー タ 型....................................................... Informix の Interval デー タ 型................................................... I10 イ ン タ フ ェ ースでサポー ト し ている機能 ................................ Unicode デー タ へのア ク セス .................................................. InfoMaker カ タ ロ グ テーブルへのオーナーの割 り 当て .......... 長いオブ ジ ェ ク ト 名のサポー ト .............................................. イ ンデ ッ ク スの名前変更......................................................... SQL ス テー ト メ ン ト キ ャ ッ シ ュ ............................................ ロ ッ クせずに イ ンデ ッ ク スの作成 と 削除................................ カ ラ ム レ ベルの暗号化 ........................................................... ユーザ定義ルーチ ン での複数の OUT パ ラ メ ー タ の使い方 .... Informix の基本 ソ フ ト ウ ェ ア コ ンポーネ ン ト ............................... Informix デー タ ベース を使用する ための準備 ................................ Informix デー タ ベース イ ン タ フ ェ ースの定義............................... サーバ名の指定 ....................................................................... 85 86 86 87 87 88 88 89 90 90 90 91 91 92 92 93 95 96 71 72 73 74 74 75 76 77 77 85 Microsoft SQL Server の使い方 ....................................................................... 97 サポー ト し ている SQL Server のバージ ョ ン ................................ 97 サポー ト し ている SQL Server デー タ 型 ....................................... 98 Microsoft SQL Server の基本ソ フ ト ウ ェ ア コ ンポーネ ン ト ......... 99 SQL Server デー タ ベース を使用する ための準備 ........................ 100 v 目次 第9章 SQL Server デー タ ベース イ ン タ フ ェ ースの定義....................... MSS や OLE DB デー タ ベース イ ン タ フ ェ ースか ら の移行........ SQL Server 2005 の機能.............................................................. SQL Server 2008 の機能.............................................................. 新 し いデー タ ベース パ ラ メ ー タ ........................................... SQL Server 2008 の新 し いデー タ 型のサポー ト ................... T-SQL の拡張機能................................................................. 未サポー ト の SQL Server 2008 の機能 ................................ SNC イ ン タ フ ェ ース使用時の注意事項....................................... 102 103 106 107 107 108 113 115 115 Oracle の使い方........................................................................................................ サポー ト し ている Oracle のバージ ョ ン ...................................... サポー ト し ている Oracle デー タ 型 ............................................. Oracle の基本 ソ フ ト ウ ェ ア コ ンポーネ ン ト ............................... Oracle デー タ ベース を使用する ための準備 ................................ Oracle デー タ ベース イ ン タ フ ェ ースの定義 ............................... Oracle サーバの接続記述子の指定........................................ デー タ ソ ース と し ての Oracle ス ト ア ド プ ロ シージ ャ の 使い方............................................................................. Oracle ス ト ア ド プ ロ シージ ャ と は? ................................... Oracle ス ト ア ド プ ロ シージ ャ で可能な作業 ........................ Oracle で結果集合を返すス ト ア ド プ ロ シージ ャ の使い方... ラ ージ オブ ジ ェ ク ト 出力パラ メ ー タ の使用 ......................... Oracle ユーザ定義デー タ 型の使い方 ........................................... ORA ド ラ イバに よ る Oracle 11g の機能のサポー ト ................... 117 117 118 121 122 127 127 第4部 デー タ ベース接続に関する作業 第 10 章 デー タ ベース接続の管理 ...................................................................................... デー タ ベース と の接続について ................................................... デー タ ベース と の接続 タ イ ミ ン グ ........................................ デー タ ベース プ ロ フ ァ イルの使い方.................................... デー タ ベース と の接続 ................................................................. デー タ ベース プ ロ フ ァ イルの選択 ....................................... 接続時の処理......................................................................... デー タ ベース プ ロ フ ァ イルでのパスワー ド の指定 .............. デー タ ベース プ ロ フ ァ イルの管理 .............................................. デー タ ベース プ ロ フ ァ イルの共有 .............................................. 共有デー タ ベース プ ロ フ ァ イルについて............................. 共有デー タ ベース プ ロ フ ァ イルの設定 ................................ 共有デー タ ベース プ ロ フ ァ イルを使用 し た接続.................. ロー カルで共有デー タ ベース プ ロ フ ァ イルを変更する ....... vi 128 128 129 129 132 133 135 141 141 142 143 144 144 146 147 147 148 149 149 150 151 InfoMaker 目次 共有デー タ ベース プ ロ フ ァ イルの管理 ................................ デー タ ベース プ ロ フ ァ イルのイ ンポー ト と エ ク スポー ト .......... InfoMaker 拡張属性シ ス テム テーブルについて.......................... デー タ ベースへの初めてのロ グ イ ン ..................................... InfoMaker 拡張属性シ ス テム テーブルの表示 ...................... 拡張属性シ ス テム テーブルの内容 ....................................... シ ス テム テーブルへのア ク セスの制御 ................................ 152 153 154 154 155 157 158 第 11 章 接続パ ラ メ ー タ の追加設定................................................................................. 接続パラ メ ー タ を設定する ための基本手順................................. DB プ ロ フ ァ イル設定 ダ イ ア ログボ ッ ク スについて ................... デー タ ベース パ ラ メ ー タ の設定 .................................................. 開発環境でのデー タ ベース パラ メ ー タ の設定 ..................... デー タ ベース環境設定項目の設定 ............................................... 開発環境でのデー タ ベース環境設定項目の設定................... 161 161 162 163 163 164 164 第 12 章 デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ン グ........................... ト ラ ブルシ ュ ーテ ィ ング ツールの概要 ....................................... デー タ ベース ト レース ツールの使い方 ...................................... デー タ ベース ト レース ツール.............................................. デー タ ベース ト レース ツールの起動................................... デー タ ベース ト レース ツールの停止................................... デー タ ベース ト レース ログの使い方................................... デー タ ベース ト レース ログのサン プル ............................... ODBC ド ラ イバ マネージ ャ ト レース ツールの使い方 ............... ODBC ド ラ イバ マネージ ャ ト レース .................................. ODBC ド ラ イバ マネージ ャ ト レースの起動 ....................... ODBC ド ラ イバ マネージ ャ ト レースの停止 ....................... ODBC ド ラ イバ マネージ ャ ト レース ログの表示 ................ ODBC ド ラ イバ マネージ ャ ト レース ログのサン プル ......... JDBC ド ラ イバ マネージ ャ ト レース ツールの使い方 ................ JDBC ド ラ イバ マネージ ャ ト レース ................................... JDBC ド ラ イバ マネージ ャ ト レースの起動 ........................ JDBC ド ラ イバ マネージ ャ ト レースの停止 ......................... JDBC ド ラ イバ マネージ ャ ト レース ログの表示 ................. 171 171 172 172 176 177 178 180 181 181 182 184 185 185 186 186 187 189 189 デー タ ベース と の接続 vii 目次 第5部 付録 付録 A PBODB115 初期設定フ ァ イルへの関数の追加 ....................................... PBODB115 初期設定 フ ァ イルについて ...................................... PBODB115.INI への関数の追加................................................... 既存のセ ク シ ョ ンへの関数の追加 ........................................ 新 し いセ ク シ ョ ンへの関数の追加 ........................................ 193 193 194 194 197 索引 ............................................................................................................................................. 201 viii InfoMaker 本書について 対象 と する読者 こ のマニ ュ アルは、 InfoMaker® を使用 し てデー タ ベース に接続す る 開発者やエ ン ド ユーザ を 対象 と し て い ま す。 読者が使用す る デー タ ベー ス に詳 し く 、 ま た、 接続に必要なサーバや ク ラ イ ア ン ト の ソ フ ト ウ ェ アがすでに イ ン ス ト ール さ れてい る も の と し てい ます。 目的 こ のマニ ュ アルでは、標準ま たはネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ー ス を使用 し て InfoMaker でデー タ ベー ス に接続す る 方法に ついて解説 し てい ます。デー タ ベース接続のための準備、定義、接 続の方法のほか、 メ ン テナン ス や ト ラ ブルシ ュ ーテ ィ ン グの方法 について説明 し てい ま す。 こ れ ら の操作を行 う 手順の概要につい ては、 3 ページの 「基本的な接続手順」 を参照 し て く だ さ い。 関連マニ ュ アル サポー ト さ れてい る デー タ ベース イ ン タ フ ェ ース、 DBParm パ ラ メ ー タ 、 デー タ ベー ス 環境設定項目の詳細については、 オ ン ラ イ ン ヘルプのデー タ ベース接続に関す る セ ク シ ョ ン を参照 し て く だ さ い。 InfoMaker の す べ て の マ ニ ュ ア ル の 一 覧 に つ い て は、 InfoMaker の 『入門』 マニ ュ アルを参照 し て く だ さ い。 そのほかの参考資料 製品に関す る そ の ほ か の詳細情報につい て は、 InfoMaker DVD、 N D ソ フ ト ウ ェ ア Web サ イ ト 、お よ び Sybase 製品マニ ュ アル Web サ イ ト (英語) を参照 し て く だ さ い。 デー タ ベース と の接続 • InfoMaker DVD には、製品マニ ュ アルが収め ら れてい ます。製 品マニ ュ アルは、 PDF 形式で提供 し てい ます。 PDF フ ァ イ ル を読んだ り 、 印刷 し た り す る には、 Adobe Acrobat Reader が必 要です。 Adobe Acrobat Reader は、 Adobe Web サ イ ト か ら 無料 でダ ウ ン ロ ー ド す る こ と がで き ます。 • N D ソ フ ト ウ ェ ア Web サ イ ト には、標準の Web ブ ラ ウ ザでア ク セ ス す る こ と がで き る オ ン ラ イ ン版のマ ニ ュ アルが あ り ま す。 こ の Web サ イ ト では、 PDF お よ び HTML 形式でマニ ュ ア ルを見 る こ と がで き ます。 • Sybase 製品マニ ュ アル Web サ イ ト (英語) は標準の Web ブ ラ ウ ザか ら ア ク セ ス で き ます。 製品マニ ュ アルのほか、 EBF/ メ ン テナン ス、技術文書、 ケース マネジ メ ン ト 、解決済みのケー ス、ニ ュ ース グループ、お よ び Sybase 開発者ネ ッ ト ワー ク (英 語) への リ ン ク があ り ます。 ix Sybase 製品マニ ュ アル Web サ イ ト (英語) には、 製品マニ ュ アル の サイ ト http://www.sybase.com/support/manuals/ か ら ア ク セ ス で き ます。 表記規則 こ のマニ ュ アルでは、 以下の表記規則を使用 し ます。 例 説明 Retrieve と Update 左記の フ ォ ン ト が説明文で使用 さ れてい る 場合、以下 を表す • コ マ ン ド 名、 関数名、 メ ソ ッ ド 名 • キー ワー ド (true、 false、 null な ど) • デー タ 型 (Integer 型、 Char 型な ど) • デー タ ベース カ ラ ム名 (emp_id、 f_name な ど) 変数 (variable) ま たは フ ァ イ ル名(file name) • ユーザ定義オブジ ェ ク ト (dw_emp、 w_main な ど) 説明文 と 構文の説明で使用 さ れ て い る 場合、 斜体 フ ォ ン ト は次のいずれか を表す • 変数 (myCounter な ど) • 代入が必要な入力テ キ ス ト 部分 (pblname.pbd な ど) [フ ァ イ ル|上書 き 保 存] dw_1.Update() • フ ァ イ ル と パ ス名 メ ニ ュ ー名 と メ ニ ュ ー項目は単純な テ キ ス ト で表 示 さ れ る 。 「|」 は、 選択の移動の仕方 メ ニ ュ ーを 示す。た と えば、「フ ァ イ ル|上書 き保存」 は、「[フ ァ イ ル] メ ニ ュ ーか ら [上書き 保存] を選択す る」 と 同じ 左記の フ ォ ン ト は以下のいずれか を示す • ダ イ ア ロ グボ ッ ク ス ま たは コ マ ン ド ラ イ ンに入 力す る情報 • サンプル ス ク リ プ ト の一部 • サンプル出力の一部 サポー ト について x 「サポー ト ハン ド ブ ッ ク 」 を参照 し て く だ さ い。 InfoMaker 第 1 部 デー タ ベース接続に関する作 業 第 1 部では、 InfoMaker でのデー タ 接続について解説 し ま す。 InfoMaker 開発環境でデー タ ベースに接続す る方法を 理解する こ と がで き ます。 第 1 章 デー タ ベース と の接続について こ の章について こ の章では、InfoMaker 開発環境でデー タ ベース に接続す る ための 概念や手順について、 その概要を解説 し ます。 内容 項目 デー タ ベース と の接続の手順 InfoMaker でのデー タ ア ク セ ス方法 EAS Demo DB へのア ク セ ス デー タ ベース プ ロ フ ァ イ ルの使い方 次の ス テ ッ プ ページ 3 5 6 6 12 デー タ ベース と の接続の手順 こ のマニ ュ アルでは、InfoMaker 開発環境におけ る デー タ ベースへ の接続方法について解説 し ます。 基本的な接続手順 デー タ ベース と の接続 以下の表に、 接続手順の概略、 それぞれの ス テ ッ プの内容や参照 先を示 し ます。 3 デー タ ベース と の接続の手順 表 1-1: 基本的な接続手順 ステ ッ プ 1 概要 (オプシ ョ ン) InfoMaker に お け る デー タ ベー ス 接続 の概要 2 InfoMaker でデー タ ソ ース やデー タ ベース に初めて 接続す る 前に、 デー タ ソ ースやデー タ ベース を 使用す る ための準備 内容 必要に応 じ て、 InfoMaker が ど の よ う に デー タ ベー ス に 接続す る か に つ い て 学習す る 接続に必要な ネ ッ ト ワ ー ク 、 デー タ ベース サーバ、お よ び デー タ ベー ス ク ラ イ ア ン ト ソ フ ト ウ ェアをインス ト ー ル し 、 デー タ ベース に接続で き る こ と を確認する 参照先 第 1 章 ( こ の章) ODBC デー タ ソ ース について は、 第 2 章 「ODBC イ ン タ フ ェース」 JDBC デー タ ソ ース について は、 第 3 章 「JDBC イ ン タ フ ェース」 OLE DB デー タ ソ ース につい ては、 第 4 章 「OLE DB イ ン タ フ ェース」 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェース については、 第 5 章 「ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェース の使い方」 3 4 5 デー タ ア ク セ ス に必要 な ド ラ イ バ、デー タ ベース プ ロ バ イ ダ、 ま たはネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を イ ン ス ト ール する デー タ ソ ー ス の定義 (ODBC 接続 と 一部の OLE DB ド ラ イ バの場合) デー タ ベース イ ン タ フ ェ ース の定義 ODBC ド ラ イ バ、 OLE DB 使用す る プ ラ ッ ト フ ォ ー ム で デー タ プ ロ バ イ ダ、 ま たはネ サ ポー ト さ れ る デー タ ベー ス イ テ ィ ブ デー タ ベー ス イ ン イ ン タ フ ェ ー ス な ど につい て タ フ ェ ー ス を イ ン ス ト ール は、 オ ン ラ イ ン ヘルプ の 「サ する ポ ー ト し て い る デー タ ベー ス イ ン タ フ ェース」 ODBC 経由 で ア ク セ ス す る ODBC デー タ ソ ース について デー タ ソ ー ス に必要 な 設定 は、 第 2 章 「ODBC イ ン タ を作成す る フ ェース」 デー タ ベー ス プ ロ フ ァ イ ル ODBC デー タ ソ ース について を作成す る は、 第 2 章 「ODBC イ ン タ フ ェース」 JDBC デー タ ソ ース について は、 第 3 章 「JDBC イ ン タ フ ェース」 OLE DB デー タ ソ ース につい ては、 第 4 章 「OLE DB イ ン タ フ ェース」 6 4 デー タ ソ ー ス ま た はデー タ ベース と の接続 InfoMaker か ら デー タ に ア ク セ スす る ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェース については、 第 5 章 「ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェース の使い方」 第 10 章 「デー タ ベース接続の 管理」 InfoMaker 第1章 ステ ッ プ 7 8 概要 (オ プ シ ョ ン) 接 続 パ ラ メ ー タ の追加設定 (オプ シ ョ ン) デー タ ベー ス 接続 に 関す る ト ラ ブ ル シ ュ ーテ ィ ン グ 内容 必要に応 じ て、 デー タ ベース 接続を円滑に し た り 、 使用す る イ ン タ フ ェ ー ス でサポー ト さ れ て い る DBMS 固有の 機能 を 利用 し た り す る た め にデー タ ベー ス パ ラ メ ー タ やデー タ ベー ス 環境 を 設定 する 必要に応 じ て、 ト レース ツー ルを使用 し て、 接続に関す る ト ラ ブルシ ュ ーテ ィ ン グ を 行う デー タ ベース と の接続について 参照先 操作手順については、 第 11 章 「接続パ ラ メ ー タ の追加設定」 デー タ ベース パ ラ メ ー タ お よ びデー タ ベース環境設定の解 説については、 オン ラ イ ン ヘ ルプ 第 12 章 「デー タ ベース接続に 関す る ト ラ ブルシ ュ ーテ ィ ン グ」 InfoMaker でのデー タ ア ク セス方法 InfoMaker 開発環境では、 以下の方法でデー タ にア ク セ ス で き ます。 標準デー タ ベース イ ン タ フ ェ ース • ODBC、 JDBC、 ま たは OLE DB な ど の標準デー タ ベース イ ン タ フ ェース を経由す る 方法 • ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ース を経由す る 方法 標準デー タ ベース イ ン タ フ ェース は、 標準準拠 ド ラ イ バ (ODBC お よ び JDBC の場合)、 ま たはデー タ プ ロ バ イ ダ (OLE DB の場合) を経由 し てデー タ ベース と 通信 し ます。 標準準拠 ド ラ イ バ ま たはデー タ プ ロ バ イ ダは、 標準の API に よ っ て定義 さ れ る 抽象的な関数呼び出 し を、 それぞれのデー タ ベー ス が解釈で き る 関数呼び出 し に変換 し ます。 標 準デー タ ベース イ ン タ フ ェース を使用す る には、 まず標準の API と 適 切な ド ラ イ バ ま たはデー タ プ ロ バ イ ダ を イ ン ス ト ールす る 必要が あ り ます。 次に、 InfoMaker セ ッ ト ア ッ プ プ ロ グ ラ ム で、 DBMS にア ク セ スす る のに使 う 標準デー タ ベース イ ン タ フ ェース を選択 し 、 イ ン ス ト ールす る 必要があ り ます。 InfoMaker は、現時点で以下の標準 イ ン タ フ ェース をサポー ト し てい ま す。 デー タ ベース と の接続 • Open Database Connectivity (ODBC) • Java Database Connectivity (JDBC) • Microsoft 社製 Universal Data Access Component OLE DB 5 EAS Demo DB へのア ク セス ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ー ス ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス は直接接続でデー タ ベー ス と 通信 し ま す。 デー タ ベー ス と の通信には そ のデー タ ベー ス の ネ イ テ ィ ブな API を使い ます。 ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を経由 し てデー タ にア ク セ スす る には、 自分のサ イ ト のサーバや ク ラ イ ア ン ト ワ ー ク ス テーシ ョ ンに、 適切なデー タ ベース ソ フ ト ウ ェ ア を あ ら か じ め イ ン ス ト ール し ます。 次に、 InfoMaker セ ッ ト ア ッ プ プ ロ グ ラ ム で、 DBMS にア ク セ スす る ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ース を選択 し 、 イ ン ス ト ー ル し ます。 た と えば、 Sybase Adaptive Server® Enterprise のサーバお よ び ク ラ イ ア ン ト ソ フ ト ウ ェ アが イ ン ス ト ール さ れてい る 場合は、 Adaptive Server Enterprise デー タ ベース イ ン タ フ ェ ース を イ ン ス ト ール し て、そのデー タ ベース にア ク セ ス し ます。 ほかの製品に付属の InfoMaker お使いの InfoMaker がほかの製品に付属 し て い たバージ ョ ン の場合、 デー タ ベース接続機能についての詳細はヘルプ を参照 し て く だ さ い。 EAS Demo DB へのア ク セス InfoMaker には EAS Demo DB と い う ス タ ン ド ア ロ ンの SQL Anywhere® デー タ ベー ス が付属 し てい ます。 こ のデー タ ベー ス は、 セ ッ ト ア ッ プ プ ロ グ ラ ム で こ のオプシ ョ ン の選択を ク リ ア し ない限 り 、 自動的に イ ン ス ト ール さ れます。 InfoMaker のチ ュ ー ト リ アルを使用す る 際に、 こ の EAS Demo DB 内のテーブルへア ク セ スす る こ と にな り ます。 ア ク セ スす る 際に SQL Anywhere ODBC ド ラ イ バを使用す る ので、SQL Anywhere デー タ ベース は ODBC デー タ ソ ース と みな さ れ ます。 デー タ ベース プ ロ フ ァ イルの使い方 デー タ ベース プ ロ フ ァ イル と は? 6 デー タ ベー ス プ ロ フ ァ イ ルは、 InfoMaker 開発環境で、 特定のデー タ ベース と の接続を定義す る シ ス テ ム レ ジ ス ト リ に格納 さ れてい る 、 パ ラ メ ー タ セ ッ ト です。デー タ ベース プ ロ フ ァ イ ルはデー タ 接続ご と に 作成す る 必要があ り ます。 InfoMaker 第1章 実行で き る作業 詳細について デー タ ベース と の接続について デー タ ベース プ ロ フ ァ イ ルを使用す る と 、InfoMaker 開発環境でのデー タ ベースへの接続管理が容易にな り ます。 た と えば、 デー タ ベース プ ロ フ ァ イ ルに よ っ て、 以下の操作がで き ます。 • デー タ ベース プ ロ フ ァ イ ルを選択 し て、 デー タ ベース に接続 し た り 、 別のデー タ ベース に切 り 替え た り す る • デー タ ベース プ ロ フ ァ イ ルを編集 し て、 接続を カ ス タ マ イ ズす る • ア ク セ スす る 必要がな く な っ たデー タ ベース プ ロ フ ァ イ ルを削除 する • データ ベース プ ロ フ ァ イ ルを イ ンポー ト およ びエ ク ス ポー ト し て、 接続パ ラ メ ー タ を共有す る デー タ ベース プ ロ フ ァ イ ルの使い方については、第 10 章 「デー タ ベー ス接続の管理」 を参照 し て く だ さ い。 デー タ ベース プ ロ フ ァ イルの作成について デー タ ベース ペ イ ン タ を使用 し たデー タ ベース プ ロ フ ァ イルの作成 デー タ ベー ス ペ イ ン タ は、 オプシ ョ ン の InfoMaker のペ イ ン タ です。 デー タ ベース ペ イ ン タ を イ ン ス ト ールす る と 、デー タ ベース ペ イ ン タ のオブジ ェ ク ト ビ ュ ーか ら デー タ ベー ス プ ロ フ ァ イ ル を作成す る こ と も で き ます。 ただ し 、 デー タ ベース ペ イ ン タ を開いてプ ロ フ ァ イ ル を定義 し た り 、 デー タ ベース に接続 し た り す る 場合は、 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス を使用 し た場合に比べて使用す る シ ス テ ム リ ソ ース が多 く な り ます。 デー タ ベース と の接続 7 デー タ ベース プ ロ フ ァ イルの使い方 DB プ ロ フ ァ イル ダ イ ア ログボ ッ ク ス DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス では、 イ ン ス ト ール済みのデー タ ベー ス イ ン タ フ ェ ー ス お よ び定義済みデー タ ベー ス プ ロ フ ァ イ ル が、 ナビ ゲー ト し やすい ツ リ ー形式で表示 さ れ ます。 デー タ ベース プ ロ フ ァ イ ルの作成、 編集、 お よ び削除は、 こ のダ イ ア ロ グ ボ ッ ク ス で 行い ます。 InfoMaker セ ッ ト ア ッ プ プ ロ グ ラ ム を実行す る と 、 HKEY_LOCAL_MACHINE レ ジ ス ト リ キーの PowerBuilder® セ ク シ ョ ンの Vendors リ ス ト が更新 さ れ、 イ ン ス ト ールす る イ ン タ フ ェ ース が 追加 さ れ ます。 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス には、 Vendors リ ス ト に入っ てい る イ ン タ フ ェース が表示 さ れます。 Vendors リ ス ト の格納場所 PowerBuilder と InfoMaker は HKEY_LOCAL_MACHINE\SOFTWARE の Sybase\PowerBuilder\11.5\Vendors キーを使用 し ます。 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス を使用 し てデー タ ベー ス に接続 し た り プ ロ フ ァ イ ルを管理 し た り す る 方法については、 第 10 章 「デー タ ベース接続の管理」 を参照 し て く だ さ い。 DB プ ロ フ ァ イル設定 ダ イ ア ログボ ッ ク ス 8 各デー タ ベース イ ン タ フ ェ ース には、 それぞれ独自の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス が あ り 、 イ ン タ フ ェ ー ス 固有の接続パ ラ メ ー タ を設定で き ます。 た と えば、 Adaptive Server Enterprise ASE イ ン タ フ ェ ー ス を イ ン ス ト ール し 、 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス でそれを選択 し て [新規作成] を ク リ ッ ク す る と 、 DB プ ロ フ ァ イ ル設 定 - Adaptive Server Enterprise ダ イ ア ロ グボ ッ ク ス が表示 さ れ、 こ の イ ン タ フ ェース に適用す る 接続オプシ ョ ン の設定が示 さ れ ます。 InfoMaker 第1章 デー タ ベース と の接続について InfoMaker で利用で き ない [プ レ ビ ュ ー] タ ブ PowerScript® 接続構文は InfoMaker には適用 さ れ ません。 し たが っ て、 InfoMaker の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス には、 PowerScript 接続構文を ス ク リ プ ト に コ ピーす る ための [プ レ ビ ュ ー] タ ブが含まれてい ません。 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス では、 関連す る 接続パ ラ メ ー タ が同 じ タ ブ ページ に グ ループ化 さ れ、 チ ェ ッ ク ボ ッ ク ス、 ド ロ ッ プダ ウ ン リ ス ト 、 お よ びテ キ ス ト ボ ッ ク ス を使 う こ と で値が設定 し やす く な っ てい ます。 基本 (必須) 接続パ ラ メ ー タ は、 [接続] タ ブ 上で設定 し 、 追加接続オプシ ョ ン (DBParm パ ラ メ ー タ と SQLCA プ ロ パテ ィ ) はほかの タ ブ ページで設定 し ます。 DB プ ロ フ ァ イル設定 ダ イ ア ログボ ッ ク スの 値の指定 デー タ ベース イ ン タ フ ェース に よ っ ては、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス のすべて の ボ ッ ク ス に値 を 入力す る 必要は あ り ま せ ん。 プ ロ フ ァ イ ル名だけ を入力 し て [OK] ボ タ ン を ク リ ッ ク す る と 、 デー タ ベースへの接続の際に、InfoMaker は必要な追加情報を求め る ダ イ ア ロ グ ボ ッ ク ス を順番に表示 し ます。 こ の接続情報には次の内容があ り ます。 ユーザ ID ま たは ロ グ イ ン ID デー タ ベース と の接続 9 デー タ ベース プ ロ フ ァ イルの使い方 パ ス ワー ド ま たは ロ グ イ ン パ ス ワー ド デー タ ベース名 サーバ名 デー タ ベース に よ っ ては、 プ ロ フ ァ イ ル名の指定だけでは、 InfoMaker が接続に必要な追加情報を判断で き ない場合があ り ます。 その よ う な デー タ ベース イ ン タ フ ェ ース の場合は、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス に表示 さ れ る ボ ッ ク ス に、 適切な値を入力 し ます。 使用す る 接続に対 し て入力が必要な値についての詳細は、 使用す る イ ン タ フ ェース の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス で[ヘルプ] ボ タ ン を ク リ ッ ク し て参照 し て く だ さ い。 デー タ ベース プ ロ フ ァ イルの作成 デー タ ベー ス イ ン タ フ ェ ー ス の新 し いデー タ ベー ス プ ロ フ ァ イ ル を 作成す る には、 デー タ ベー ス 接続に使用す る イ ン タ フ ェ ー ス 用に DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス を設定 し なければな り ません。 v デー タ ベース イ ン タ フ ェ ースに対応するデー タ ベース プ ロ フ ァ イルを作成す る 1 パ ワ ーバーの [DB プ ロ フ ァ イ ル] ボ タ ン を ク リ ッ ク し ます。 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス が開 き 、 イ ン ス ト ール済み のデー タ ベース イ ン タ フ ェース が一覧表示 さ れ ます。 特定の イ ン タ フ ェース用に定義 さ れてい る デー タ ベース プ ロ フ ァ イ ルを表示 す る には、 イ ン タ フ ェース名の左の正符号 (+) を ク リ ッ ク す る か、 イ ン タ フ ェ ース名を ダブル ク リ ッ ク し て リ ス ト を展開 し ます。 2 イ ン タ フ ェ ー ス 名を選択 し て [新規作成] ボ タ ン を ク リ ッ ク し ま す。 選択 し た イ ン タ フ ェ ー ス 用の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ ます。 た と えば、 SYC イ ン タ フ ェ ース を選択 し た場合、 表示 さ れ る ダ イ ア ロ グ ボ ッ ク ス は DB プ ロ フ ァ イ ル設 定 - Adaptive Server Enterprise ダ イ ア ロ グ ボ ッ ク ス です。 10 InfoMaker 第1章 デー タ ベース と の接続について ク ラ イ ア ン ト ソ フ ト ウ ェ アおよび イ ン タ フ ェ ースのイ ン ス ト ールが必要 イ ン タ フ ェース用の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス を 表示す る には、 必要な ク ラ イ ア ン ト ソ フ ト ウ ェ アお よ びネ イ テ ィ ブ デー タ ベース イ ン タ フ ェース が適切に イ ン ス ト ール さ れ、 正 し く 設定 さ れていなければな り ません。 使用す る デー タ ベース イ ン タ フ ェ ー ス に固有の操作については、 それぞれの イ ン タ フ ェ ー ス の章を参照 し て く だ さ い。 3 [接続] タ ブで、 プ ロ フ ァ イ ル名を入力 し 、 使用す る イ ン タ フ ェ ー ス で接続に必要な基本パ ラ メ ー タ の値を指定 し ます。 イ ン タ フ ェ ー ス の基本接続パ ラ メ ー タ お よ び指定す る 値について の詳細は、 [ヘルプ] ボ タ ン を ク リ ッ ク し て参照 し て く だ さ い。 DBMS 識別名について デー タ ベー ス プ ロ フ ァ イ ルに DBMS 識別子 を指定す る 必要はあ り ません。 イ ン ス ト ール済みのデー タ ベース イ ン タ フ ェ ース のプ ロ フ ァ イ ルを新規作成す る と 、InfoMaker に よ っ て正 し い DBMS 接 続構文が自動的に生成 さ れ ます。 4 (オプシ ョ ン) ほかの タ ブ ページで、追加接続オプシ ョ ン (DBParm パ ラ メ ー タ お よ び SQLCA プ ロ パテ ィ ) の値を指定 し ます。 こ れ ら のオプシ ョ ン を設定す る と 、 イ ン タ フ ェ ー ス がサポー ト し てい る DBMS 固有の機能を最大限に活かす こ と がで き ます。 イ ン タ フ ェ ー ス の追加接続パ ラ メ ー タ お よ び指定す る 値について の詳細は、 [ヘルプ] ボ タ ン を ク リ ッ ク し て参照 し て く だ さ い。 5 [OK] ボ タ ン を ク リ ッ ク し て変更を保存 し 、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス を閉 じ ま す。 ダ イ ア ロ グ ボ ッ ク ス を閉 じ ない で特定の タ ブ ページ の変更 を保存す る には、 [更新] ボ タ ン を ク リ ッ ク し ます。 DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス が表示 さ れ、 該当す る イ ン タ フ ェ ース名の下に新 し いプ ロ フ ァ イ ル名がハ イ ラ イ ト 表示 さ れ ます。 デー タ ベース プ ロ フ ァ イ ルの値は HKEY_CURRENT_USER\Software\Sybase\PowerBuilder\11.5\ DatabaseProfiles\PowerBuilder 内のシ ス テ ム レ ジ ス ト リ に保存 さ れ ます。 デー タ ベース と の接続 11 次のス テ ッ プ レ ジ ス ト リ の項目を参照 し た り 、 153 ページの 「デー タ ベー ス プ ロ フ ァ イ ルの イ ン ポー ト と エ ク ス ポー ト 」 に記載 さ れてい る プ ロ フ ァ イ ルのエ ク ス ポー ト を行っ た り し て、 変更 し た文字列を確認 す る こ と がで き ま す。 デ フ ォ ル ト では、 NewLogic パ ラ メ ー タ は True に設定 さ れ ます。 こ の設定は、パ ス ワ ー ド を Unicode エ ン コ ー デ ィ ン グで暗号化す る こ と を指定 し てい ます。 次のス テ ッ プ ODBC デー タ ソ ース を使用す る ための準備や定義については、 第 2 章 「ODBC イ ン タ フ ェ ース」 を参照 し て く だ さ い。 JDBC デー タ ベー ス イ ン タ フ ェ ース を使用す る ための準備や定義につ いては、 第 3 章 「JDBC イ ン タ フ ェース」 を参照 し て く だ さ い。 OLE DB デー タ プ ロ バ イ ダ を使用す る ための準備や定義については、 第 4 章 「OLE DB イ ン タ フ ェース」 を参照 し て く だ さ い。 ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を使用す る ための準備や定 義については、 第 5 章 「ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ース の使 い方」 を参照 し て く だ さ い。 12 InfoMaker 第 2 部 標準デー タ ベース イ ン タ フ ェ ースの使い方 第 2 部では、標準デー タ ベース イ ン タ フ ェ ース を使用 し て ア ク セ スするデー タ ベース接続を セ ッ ト ア ッ プお よび定義 する方法について説明 し ます。 第 2 章 ODBC イ ン タ フ ェ ース こ の章について こ の章では、 ODBC イ ン タ フ ェ ー ス の概要について説明 し 、 デー タ ソ ー ス を 使用す る ための準備、 デー タ ソ ー ス の定義、 お よ び ODBC デー タ ソ ー ス プ ロ フ ァ イ ルの定義の し か たについて解説 し ます。 ま た、 Sybase SQL Anywhere ODBC ド ラ イ バの使い方につ いて も 解説 し ます。 内容 詳細について 項目 ODBC イ ン タ フ ェース について ODBC デー タ ソ ース の準備 ODBC デー タ ソ ース の定義 ODBC イ ン タ フ ェース の定義 Sybase SQL Anywhere ページ 15 24 25 30 30 こ の章では、各 ODBC デー タ ソ ース を使用す る ための準備 と 定義 に関す る 一般的な内容について説明 し ます。 詳細については、 以 下を参照 し て く だ さ い。 • 28 ページの 「ODBC ド ラ イ バに関す る オ ン ラ イ ンヘルプの表 示」 で説明 さ れてい る よ う に、 ODBC ド ラ イ バの各ベン ダが 提供す る オ ン ラ イ ン ヘルプ を使用 し て く だ さ い。 こ のヘルプ にはデー タ ソ ー ス を使用す る 上での重要な内容が含ま れてい ます。 • ODBC デー タ ソ ース に接続す る 方法を解説 し たテ ク ニ カル ド キ ュ メ ン ト があ る か ど う か を確認 し て く だ さ い。 接続に関す る 新 し い情報は、 Sybase サポー ト と ダウ ン ロー ド のサ イ ト http://www.sybase.com/support か ら 入手で き ます。 ODBC イ ン タ フ ェ ースについて InfoMaker では、 さ ま ざ ま な ODBC デー タ ソ ース にア ク セ ス で き ます。 こ の節では、ODBC イ ン タ フ ェース を使用 し て InfoMaker か ら ODBC デー タ ソ ース に接続す る 方法について解説 し ます。 デー タ ベース と の接続 15 ODBC イ ン タ フ ェ ースについて ODBC と は ? ODBC API Open Database Connectivity (ODBC) と は、 Microsoft 社に よ っ て開発 さ れた標準アプ リ ケーシ ョ ン プ ロ グ ラ ム用 イ ン タ フ ェ ー ス (API) で す。 ODBC を使用す る と 、 1 つのアプ リ ケーシ ョ ン か ら 、 ODBC に準 拠す る ド ラ イ バ を 備え た複数のデー タ ソ ー ス に ア ク セ ス す る こ と が で き ます。 こ の場合、 SQL (Structured Query Language) を標準のデー タ ア ク セ ス言語に使用 し ます。 ODBC API では、 以下の内容が定義 さ れてい ます。 • デー タ ソ ースへの接続、 SQL 文の実行、 お よ び結果の取得を行 う ODBC 関数呼び出 し ラ イ ブ ラ リ • DBMS に接続 し て ロ グ イ ンす る ための標準的な方法 • X/Open と SQL Access Group (SAG) の CAE 仕様 (1992) に基づ く SQL 構文 • デー タ 型の標準表記法 • エ ラ ー コ ー ド の標準セ ッ ト ODBC デー タ ソ ース へのア ク セス InfoMaker の よ う に ODBC イ ン タ フ ェ ー ス を備え た アプ リ ケーシ ョ ン は、ODBC ド ラ イ バを サポー ト す る デー タ ソ ース にア ク セ ス で き ます。 ODBC デー タ ソ ース ド ラ イ バは、ODBC 関数が実装 さ れたダ イ ナ ミ ッ ク リ ン ク ラ イ ブ ラ リ (DLL) です。 アプ リ ケーシ ョ ンは、 特定のデー タ ソ ース にア ク セ スす る ために、そのデー タ ソ ース に対応す る ODBC ド ラ イ バを起動 し ます。 Unicode デー タ へのア ク セス InfoMaker は、 ODBC イ ン タ フ ェース を使用 し て、 ANSI/DBCS お よ び Unicode の両方のデー タ ベース のデー タ に接続、 保存、 検索す る こ と が で き ますが、 Unicode と ANSI/DBCS 間でのデー タ 変換を行い ません。 文字デー タ ま たは コ マ ン ド テ キ ス ト がデー タ ベー ス に送信 さ れ る と 、 InfoMaker は Unicode 文字列 を 送信 し ま す。 デー タ が正 し く Unicode デー タ と し て保存 さ れ る こ と を ド ラ イ バが保証す る 必要が あ り ま す。 InfoMaker は文字デー タ を検索す る と き 、デー タ は Unicode であ る と 仮 定 し ます。 Unicode デー タ ベー ス は、 文字セ ッ ト が Unicode 形式 (UTF-8、 UTF16、 UCS-2、 UCS-4 な ど) に設定 さ れ る デー タ ベース の こ と です。 すべ てのデー タ は、 Unicode 形式でなければな ら ず、 デー タ ベース に保存 さ れ る デー タ は、 暗黙的に ま たは明示的に Unicode デー タ に変換 さ れな ければな り ません。 16 InfoMaker 第2章 ODBC イ ン タ フ ェ ース 文字セ ッ ト と し て ANSI (ま たは DBCS) を使用す る デー タ ベー ス は、 Unicode デー タ を格納す る 特殊なデー タ 型を使用す る こ と があ り ます。 こ れ ら のデー タ 型を持つカ ラ ムは、 Unicode デー タ だけ を格納 し ます。 その よ う な カ ラ ム に保存 さ れ る デー タ は、 明示的に Unicode に変換 さ れ る 必要があ り ます。 こ の変換はデー タ ベース サーバ ま たは ク ラ イ ア ン ト が処理す る 必要があ り ます。 InfoMaker での ODBC の使い方 実行で き る作業 InfoMaker では以下の ODBC 接続機能を使用で き ます。 • SQL Anywhere ODBC ド ラ イ バお よ び ODBC イ ン タ フ ェ ース を使 用 し て、 SQL Anywhere ス タ ン ド ア ロ ン デー タ ベース (EAS Demo DB を含む) に接続す る • ロ ーカルな SQL Anywhere デー タ ベース を作成お よ び削除す る 詳 し い手順については、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照 し て く だ さ い。 • レベル 1 以上の ODBC 準拠の ド ラ イ バを使用 し てデー タ にア ク セ スす る 23 ページの 「ODBC ド ラ イ バの入手」 を参照 し て く だ さ い。 • Microsoft の ODBC デー タ ソ ース ア ド ミ ニ ス ト レー タ を使用 し て ODBC デー タ ソ ース を定義す る 25 ページの 「ODBC デー タ ソ ース の定義」 を参照 し て く だ さ い。 ODBC 接続の コ ンポーネ ン ト ODBC の接続方法 InfoMaker か ら ODBC デー タ ソ ース にア ク セ スす る 場合、 デー タ ソ ー ス に到達す る ま でにい く つかの レ イ ヤ を経由 し ます。 それぞれの レ イ ヤは、 接続におけ る 独立 し た コ ン ポーネ ン ト であ り 、 コ ン ポーネ ン ト ご と に提供 し てい る ベン ダが違 う 可能性があ り ます。 ODBC は標準 API であ る ため、 InfoMaker ではど の よ う な ODBC デー タ ソ ース のア ク セ ス に も 、 共通の イ ン タ フ ェース が使用 さ れ ます。 ド ラ イ バが ODBC に準拠 し て いれば、 InfoMaker で ODBC ド ラ イ バ マ ネージ ャ に対す る ODBC イ ン タ フ ェース を経由 し て、 その ド ラ イ バに ア ク セ ス で き ます。 開発環境 と ODBC イ ン タ フ ェース は、 アプ リ ケー シ ョ ン コ ン ポーネ ン ト と し て、 一緒に動作 し ます。 デー タ ベース と の接続 17 ODBC イ ン タ フ ェ ースについて 図 2-1 では、 ODBC 接続の一般的な コ ン ポーネ ン ト を示 し ます。 図 2-1: ODBC 接続の コ ンポーネ ン ト コ ンポーネ ン ト の説明 18 表 2-1 に、 図に示 さ れた各 ODBC コ ン ポーネ ン ト の提供元 と その概要 を示 し ます。 InfoMaker 第2章 ODBC イ ン タ フ ェ ース 表 2-1: ODBC 接続 コ ンポーネ ン ト の提供元 と 動作 コ ンポーネ ン ト アプ リ ケーシ ョ ン 提供元 Sybase 社 ODBC ド ラ イ バ マ ネージ ャ Microsoft 社 ド ラ イバ ド ラ イ バ ベン ダ デー タ ソ ース DBMS ま たは デー タ ベース ベ ンダ 動作内容 ODBC 関数を呼び出 し 、 SQL 文の発 行、カ タ ロ グ情報の要求、デー タ ソ ー ス が返す結果な ど を取得す る InfoMaker では、 ど の ODBC デー タ ソ ース に対 し て も 共通の ODBC イ ン タ フ ェース が使用 さ れ る アプ リ ケーシ ョ ン のために、 ド ラ イ バの イ ン ス ト ール、ロ ー ド 、ア ン ロ ー ド をす る ODBC 関数の呼び出 し を処理 し 、 SQL リ ク エ ス ト を特定のデー タ ソ ースへ発行 し 、 アプ リ ケーシ ョ ン にその結果を返す 必要に応 じ 、 アプ リ ケーシ ョ ン が発 行 し た リ ク エ ス ト は、 バ ッ ク エ ン ド デー タ ベー ス が サ ポ ー ト す る SQL 構文に変換 さ れ る (詳細については、 次の 「ODBC ド ラ イ バの種類」 を参 照) アプ リ ケーシ ョ ン のためにデー タ の 保管や管理をする 。デー タ ソ ース は、 ア ク セ ス す る デー タ 、 デー タ を管理 し てい る DBMS、 オペレーテ ィ ン グ シ ス テ ム の ほ か、 場合に よ っ て は、 DBMS にア ク セ スす る ためのネ ッ ト ワー ク ソ フ ト ウ ェ アか ら 構成 さ れ る ODBC ド ラ イバの種類 InfoMaker か ら ODBC デー タ ソ ース に接続す る と 、 ODBC ド ラ イ バか ら 、 単一層 (single-tier) ま たは複数層 (multiple-tier) と い う 単語を含 む メ ッ セージが表示 さ れます。 こ れ ら の用語は ODBC 標準で定義 さ れ た も ので、 以下の 2 種類の ド ラ イ バを意味 し てい ます。 単一層 ド ラ イバ デー タ ベース と の接続 単一層 ODBC ド ラ イ バでは、 ODBC 関数 と SQL 文の両方が処理 さ れ ます。 つま り 、 単一層 ド ラ イ バには、 デー タ ソ ース フ ァ イ ル と カ タ ロ グ テーブルを管理す る ために必要なデー タ ア ク セ ス ソ フ ト ウ ェ アが 含まれてい ます。 Microsoft Access ド ラ イ バが、 単一層 ODBC ド ラ イ バ の例です。 19 ODBC イ ン タ フ ェ ースについて 図 2-2: 単一層 ODBC ド ラ イバ 複数層 ド ラ イバ 複数層 ODBC ド ラ イ バでは、 ODBC 関数が処理 さ れますが、 処理に当 た っ ては、 SQL 文がデー タ ベース エ ン ジ ンに送 ら れます。 単一層 ド ラ イ バ と は異な り 、 複数層 ド ラ イ バには、 直接デー タ を管理す る ための デー タ ア ク セ ス ソ フ ト ウ ェ アが含まれ ません。 Sybase SQL Anywhere ド ラ イ バが、 複数層 ODBC ド ラ イ バの例です。 20 InfoMaker 第2章 ODBC イ ン タ フ ェ ース 図 2-3: 複数層 ODBC ド ラ イバ ODBC ド ラ イバの合致レ ベル InfoMaker Enterprise を使用す る 場合、 DBMS ベン ダな ど Sybase 以外か ら 入手 し た ODBC ド ラ イ バを使用 し て、 デー タ にア ク セ ス で き ます。 ほかのベン ダか ら ODBC ド ラ イ バを入手 し た場合は、 あ る 特定の適合 条件 (合致 レ ベル) を 満た さ な い と 、 InfoMaker で正 し く 動作 し ま せ ん。 こ の節では、 入手 し た ド ラ イ バが こ れ ら の条件を満た し てい る か ど う か を確認す る 方法について解説 し ます。 デー タ ベース と の接続 21 ODBC イ ン タ フ ェ ースについて ODBC 合致レベル と は ? InfoMaker では、ODBC に準拠 し た ド ラ イ バを備え た さ ま ざ ま なデー タ ソ ース にア ク セ ス で き ます。 し か し ODBC ド ラ イ バはそれぞれ異な る ベン ダが提供 し てお り 、 ド ラ イ バに よ っ てサポー ト し てい る 機能が大 き く 違っ てい る こ と があ り ます。 ODBC イ ン タ フ ェ ース の標準的な準拠レベルを明確に し 、 ま た、 アプ リ ケーシ ョ ン ベン ダ側では、 必要 と す る 機能が ド ラ イ バか ら 提供 さ れ てい る か ど う か を判断で き る よ う にす る ために、 ODBC は、 以下の 2 つの領域で、 ODBC ド ラ イ バの合致レベルを定義 し てい ます。 サポー ト し てい る ODBC 関数呼び出 し について定義 し ます。 • API • SQL 文法 サポー ト し てい る SQL 文や SQL デー タ 型について定義 し ます。 ODBC では、 機能の多 さ に応 じ て API 合致レベルが 3 種類定義 さ れて い ます。 API 合致レ ベル v • コ ア ISO Call Level Interface (CLI) と X/Open CLI 仕様に対応す る 一連の機能を実現す る コ ア API のセ ッ ト です。 • レ ベル 1 コ ア API 機能に、 OLTP リ レーシ ョ ナル DBMS で通常使 用可能ない く つかの拡張機能が追加 さ れてい ます。 • レ ベル 2 コ ア API やレベル 1 API の機能に、 い く つかの拡張機能 が追加 さ れてい ます。 適切な ODBC ド ラ イバ API 合致レ ベル • SQL 合致レ ベル InfoMaker では、 レベル 1 以上の API 合致レベルを満た し てい る ODBC ド ラ イ バを使用す る こ と をお勧め し ます。ただ し 、InfoMaker では、 コ ア API 合致レベルを満た し てい る ド ラ イ バ も 動作 し ます。 ODBC では、機能の多 さ に応 じ て SQL 文法の合致レベルが 3 種類定義 さ れてい ます。 • 最小 SQL 文法 ODBC の基本合致レベルを満たす SQL 文 と デー タ 型のセ ッ ト です。 22 • コ ア SQL 文法 最小 SQL 文法に、X/Open と SAG CAE 仕様 (1992) にほぼ対応す る デー タ 型 と ス テー ト メ ン ト が追加 さ れてい ます。 • 拡張 SQL 文法 最小 SQL 文法や コ ア SQL 文法に、DBMS 共通の拡 張 SQL をサポー ト す る デー タ 型 と ス テー ト メ ン ト が追加 さ れてい ます。 InfoMaker 第2章 v ODBC イ ン タ フ ェ ース 適切な ODBC ド ラ イバ SQL 合致レ ベルは • InfoMaker では、 コ ア SQL 文法以上の SQL 合致レベルを満た し て い る ODBC ド ラ イ バ を 使 用 す る こ と を お 勧 め し ま す。 ま た、 InfoMaker では最小 SQL 文法の SQL 合致レベルを満た し てい る ド ラ イ バ も 動作 し ます。 ODBC ド ラ イバの入手 InfoMaker で は、 Sybase 以 外 の ベ ン ダ か ら 入 手 し た Level 1 以 上 の ODBC 準拠の任意の ド ラ イ バを使用 し てデー タ にア ク セ スす る こ と も で き ま す。 ほ と ん ど の場合、 こ れ ら の ド ラ イ バは InfoMaker で動作 し ます。 ODBC ド ラ イバに関するヘルプ情報を入手するには InfoMaker で使用す る ODBC ド ラ イ バに関す る 最新かつ正確な情報を 得 る には、 以下に示す方法でヘルプ情報を入手 し ます。 ヘルプの内容 ODBC デー タ ソ ー ス ア ド ミ ニ ス ト レー タ ド ラ イ バ の ODBC 設定 の ダ イ ア ロ グ ボ ッ ク スへの入 力 SQL Anywhere の使い方 Sybase 社以外のベン ダで入 手 し た ODBC ド ラ イ バ ODBC 接続に関す る ト ラ ブ ルシ ュ ーテ ィ ン グ 操作 それぞれの タ ブの [ヘルプ] ボ タ ン を ク リ ッ ク し ます。 ド ラ イ バの ODBC 設定のダ イ ア ロ グ ボ ッ ク ス で [ヘルプ] ボ タ ン (存在する 場合) を ク リ ッ ク し ます。 SQL Anywhere のマニ ュ アルを参照 し て く だ さ い。 その ド ラ イ バについ て のマ ニ ュ アル を 参照 し て く だ さ い。 ODBC デー タ ソ ースへの接続方法を解説 し た テ ク ニ カル ド キ ュ メ ン ト があ る か ど う か確認 し て く だ さ い。 接続に関す る 新 し い情報は、 Sybase サポー ト と ダウ ン ロー ド のサイ ト http://www.sybase.com/support か ら 取得で き ま す。 デー タ ベース と の接続 23 ODBC デー タ ソ ースの準備 ODBC デー タ ソ ースの準備 ODBC デー タ ソ ース に接続す る ためには、 まず、 使用す る デー タ ソ ー ス を準備 し ます。 デー タ ソ ー ス を準備す る こ と に よ り 、 InfoMaker か ら そ のデー タ ソ ー ス に接続 し て、 デー タ が利用で き る よ う に な り ま す。 InfoMaker を起動 し 、 デー タ ソ ース を定義 し て接続す る 前に、 InfoMaker の外部の環境でデー タ ソ ース を準備 し てお き ます。 各デー タ ソ ース に よ っ て必要な条件は異な り ますが、 一般に、 デー タ ソ ー ス を準備す る には以下の手順を実行 し ます。 v InfoMaker で使用する ODBC デー タ ソ ース を準備する 1 デー タ ソ ース に接続す る ためにネ ッ ト ワー ク ソ フ ト ウ ェ アが必 要な場合は、 こ れがサ イ ト と ク ラ イ ア ン ト マシ ン に正 し く イ ン ス ト ール さ れ、 設定 さ れてい る こ と を確認 し ます。 2 デー タ ベース ソ フ ト ウ ェ アが必要な場合は、 こ れが自分のマシ ン と ネ ッ ト ワー ク サーバに正 し く イ ン ス ト ール さ れ、 設定 さ れてい る こ と を確認 し ます。 3 必要なデー タ フ ァ イ ルが自分のマシ ン と ネ ッ ト ワ ー ク サーバに あ る こ と を確認 し ます。 4 ア ク セ スす る テーブル と カ ラ ムの名前が、 標準 SQL 命名規約に 従っ てい る こ と を確認 し ます。 テーブル と カ ラ ム の名前には、 ス ペー ス やデー タ ベー ス 固有の予 約語を使用 し ないで く だ さ い。 DBMS の大文字 と 小文字を区別す る オプ シ ョ ン に注意 し て く だ さ い。 InfoMaker か ら ア ク セ ス す る テーブルやカ ラ ム の名前は、 すべて大文字で設定す る のが最 も 適 切です。 24 5 デー タ ベー ス の必要に応 じ て、 ア ク セ ス す る テーブルに固有の イ ンデ ッ ク ス を指定 し ます。 6 InfoMaker のセ ッ ト ア ッ プ プ ロ グ ラ ム で、 以下を両方 と も イ ン ス ト ール し ます。 • 目的のデー タ ソ ース にア ク セ スす る ODBC ド ラ イ バ • ODBC イ ン タ フ ェース InfoMaker 第2章 ODBC イ ン タ フ ェ ース ODBC デー タ ソ ースの定義 ODBC デー タ ソ ース にア ク セ スす る ためには、そのデー タ ソ ース に対 応 し た ODBC ド ラ イ バが必要です。ODBC デー タ ソ ース を定義す る 際 には、 ODBC ド ラ イ バか ら デー タ ソ ース に接続す る ために必要な情報 を入力 し ます。 ODBC デー タ ソ ース の定義を、 デー タ ソ ース の設定ま たは コ ン フ ィ グ レーシ ョ ン と 言 う こ と があ り ます。 使用す る デー タ ソ ー ス の準備を終え た ら 、 Microsoft の ODBC デー タ ソ ー ス ア ド ミ ニ ス ト レ ー タ ユーテ ィ リ テ ィ を使用 し て、 そのデー タ ソ ース を定義す る 必要があ り ます。 こ のユーテ ィ リ テ ィ は Windows の コ ン ト ロ ール パネルま たは InfoMaker のデー タ ベース ペ イ ン タ か ら ア ク セ ス で き ます。 こ の節の残 り の部分で は、 InfoMaker の開発環境か ら ODBC デー タ ソ ース にア ク セ スす る ために必要な、 ODBC デー タ ソ ース を定義す る 方法について解説 し ます。 InfoMaker がデー タ ソ ースへのア ク セスに必要な フ ァ イル InfoMaker か ら ODBC デー タ ソ ース にア ク セ スす る 場合、 ODBC イ ン タ フ ェ ースや ODBC ド ラ イ バを操作 し て接続をす る ために、 複数の初 期設定フ ァ イ ル と レ ジ ス ト リ エ ン ト リ が必要にな り ます。 PBODB115 初期設定フ ァ イル 内容 PBODB115.INI は、 Sybase\Shared\PowerBuilder デ ィ レ ク ト リ に イ ン ス ト ール さ れ ます。 ユーザが初めて InfoMaker を起動 し た と き に、 こ の フ ァ イ ルがユーザのプ ロ フ ァ イ ル フ ォ ルダ (た と えば、 C:\Documents and Settings\username 配下) の Local Settings\Application Data\Sybase\InfoMaker 11.5 に コ ピー さ れます。 InfoMaker を実行す る と き に こ の コ ピーが使用 さ れ ます。 InfoMaker では、 PBODB115.INI を 使用 し て、 ODBC API 呼び出 し でサポー ト さ れないバ ッ ク エ ン ド DBMS の拡張機能へのア ク セ ス を管理 し ます。 拡張機能の例には、 SQL 構文や DBMS 固有の関数呼び出 し が挙げ ら れ ます。 編集 通常、PBODB115.INI を編集す る 必要はあ り ません。 し か し 場合に よ っ ては、 バ ッ ク エ ン ド DBMS の PBODB115.INI に関数を追加す る 必要が あ り ます。 必ず、 元の コ ピーではな く ユーザ プ ロ フ ァ イ ル フ ォ ルダに あ る コ ピーを編集 し て く だ さ い。 詳 し い手順については、 付録 「PBODB115 初期設定フ ァ イ ルへの関数 の追加」 を参照 し て く だ さ い。 デー タ ベース と の接続 25 ODBC デー タ ソ ースの定義 ODBCINST レ ジ ス ト リ エ ン ト リ 内容 ODBCINST 初期設定情報は、 HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI レ ジ ス ト リ キーにあ り ます。 ODBC 準拠 ド ラ イ バを イ ン ス ト ールす る と 、 その ド ラ イ バの記述に関 し て ODBCINST.INI が自動的に更新 さ れま す。 こ の記述内容は以下の と お り です。 編集 • ド ラ イ バに関連付け ら れた DBMS ま たはデー タ ソ ース • ド ラ イ バ と セ ッ ト ア ッ プ DLL の ド ラ イ ブお よ びデ ィ レ ク ト リ (デー タ ソ ース に よ っ ては、 ド ラ イ バ と セ ッ ト ア ッ プ DLL が同 じ も のがあ り ます) • ド ラ イ バ固有のそのほかの接続パ ラ メ ー タ 接続情報を変更す る ために、 レ ジ ス ト リ キーを直接編集す る 必要はあ り ません。 ド ラ イ バが ODBCINST.INI レ ジ ス ト リ キーの中の情報を使 用す る 場合、 ド ラ イ バを イ ン ス ト ールす る と 、 キーは自動的に更新 さ れます。 Sybase 社が提供す る ド ラ イ バだけでな く 、 ほかのベン ダが提 供す る ド ラ イ バであ っ て も 、 レ ジ ス ト リ サブキーは同 じ よ う に更新 さ れます。 ODBC レ ジ ス ト リ エ ン ト リ 内容 ODBC 初期設定情報は、 HKEY_CURRENT_USER\SOFTWARE\ODBC\ODBC.INI レ ジ ス ト リ キーにあ り ます。 特定の ODBC ド ラ イ バに対応す る デー タ ソ ース を 定義す る と き 、 ODBC 設定のダ イ ア ロ グ ボ ッ ク ス で指定 し た値が、 ド ラ イ バに よ っ て ODBC.INI レ ジ ス ト リ キーに書 き 込まれます。 ODBC.INI キ ーは、 定義 さ れ て い る デー タ ソ ー ス に指定 さ れ た サ ブ キーを含んでい ます。 各サブキーは、 ODBC 設定のダ イ ア ロ グ ボ ッ ク ス のそのデー タ ソ ース に対 し て指定 さ れた値が記述 さ れてい ます。 こ の値はデー タ ソ ース に よ っ て異な り ますが、 一般に以下の内容が格納 さ れ ます。 26 • デー タ ベース • ド ラ イバ • オプシ ョ ンの記述 • DBMS 固有の接続パ ラ メ ー タ InfoMaker 第2章 編集 ODBC イ ン タ フ ェ ース 接続情報を変更す る ために、 ODBC サブキーを直接編集す る 必要はあ り ません。 その代わ り に、 ODBC デー タ ソ ース ア ド ミ ニ ス ト レー タ な ど の、 ODBC デー タ ソ ース を定義 し 、 ODBC コ ン フ ィ グ レーシ ョ ン を 自動的に更新す る こ と を目的 と し て設計 さ れた ODBC 管理ツールを使 用 し ます。 デー タ ベース プ ロ フ ァ イル レ ジ ス ト リ エ ン ト リ 内容 全デー タ ソ ース のデー タ ベース プ ロ フ ァ イ ルは、 HKEY_CURRENT_USER\SOFTWARE\Sybase\PowerBuilder\11.5\ DatabaseProfiles の レ ジ ス ト リ に格納 さ れてい ます。 編集 接続情報を変更す る ために、 プ ロ フ ァ イ ルを直接編集す る 必要はあ り ません。 こ れ ら の フ ァ イ ルは、 InfoMaker が ODBC デー タ ソ ース定義 の一部 と し てデー タ ベース プ ロ フ ァ イ ルを作成す る と き に、 自動的に 更新 さ れ ます。 InfoMaker において、DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス のプ ロ フ ァ イ ルを編集 し た り 、 DB 環境設定 ダ イ ア ロ グ ボ ッ ク ス に入力 し た り す る こ と に よ っ て、 レ ジ ス ト リ に格納 さ れ る ほかの接続パ ラ メ ー タ を指定す る こ と も で き ます (詳 し い手順については、 第 11 章 「接続パ ラ メ ー タ の追加設定」 を参照 し て く だ さ い)。 例 以下の例は、 EAS Demo DB デー タ ソ ース に対す る デー タ ベース プ ロ フ ァ イ ルの一部を示 し てい ます。 DBMS=ODBC DBParm=ConnectString='DSN=EAS Demo DB V115 DB;UID=dba;PWD=00c61737' Prompt=0 こ の レ ジ ス ト リ エ ン ト リ の例で示 さ れて い る よ う に、 ODBC デー タ ソ ース に対応す る デー タ ベース プ ロ フ ァ イ ルの中で、 最 も 重要な値は 以下の と お り です。 • デー タ ベース と の接続 DBMS の値(ODBC)か ら 、デー タ ソ ースへの接続に ODBC イ ン タ フ ェース を使用 し てい る こ と が示 さ れ ます。 DBMS 27 ODBC デー タ ソ ースの定義 • DBParm ConnectString DBParm パ ラ メ ー タ の値は、 ODBC デー タ ソ ー ス への接続 を コ ン ト ロ ール し ま す。 接続文字列に は、 DSN (デー タ ソ ース名) の値を指定 し ます。 DSN の値に よ っ て接続 し た いデー タ ソ ース が ODBC に指定 さ れ ます。デー タ ベース プ ロ フ ァ イ ル を 選択 し てデー タ ソ ー ス に接続す る 場合、 ODBC に よ っ て ODBC.INI レ ジ ス ト リ キーの中か ら 、 プ ロ フ ァ イ ルで指定 さ れた デー タ ソ ース名に対応 し たサブキーが検索 さ れ ます。 次に、 サブ キーの情報に基づいて、 必要な ラ イ ブ ラ リ が ロ ー ド さ れ、 デー タ ソ ース に接続 さ れ ます。 接続文字列には、 接続に必要な UID (ユー ザ ID) 値お よ び PWD (パ ス ワー ド ) 値を入れ る こ と も で き ます。 同一デー タ に対する複数のデー タ ソ ースの定義 InfoMaker で ODBC デー タ ソ ー ス を 定義す る と き には、 それぞれの デー タ ソ ース名を固有に し ます。 し か し 、 デー タ ソ ース名が固有であ れば、 同 じ デー タ にア ク セ スす る デー タ ソ ース を複数定義で き ます。 た と えば、 デー タ ソ ース は、 C:\SQL Anywhere\SALES.DB にあ る SQL Anywhere デー タ ベース であ る と し ます。 アプ リ ケーシ ョ ン ご と に、 別 のパ ス ワー ド やユーザ ID な ど、こ のデー タ ベース にア ク セ スす る ため の接続パ ラ メ ー タ を個別に指定 し ま す。 ま た、 使用す る パ ス ワ ー ド と ユーザ ID がアプ リ ケーシ ョ ン ご と に異な っ てい る と し ます。 こ の よ う な場合、 同一のデー タ ベース (C:\SQL Anywhere\SALES.DB) に対 し て Sales1 と Sales2 と い う 2 つの ODBC デー タ ソ ース を定義 し て、 パ ス ワ ー ド と ユーザ ID を別々に指定 し ま す。 ど ち ら かのデー タ ソ ー ス用に作成 し たプ ロ フ ァ イ ルを使用 し てデー タ ソ ー ス に接続すれ ば、 違 う 接続パ ラ メ ー タ を使用 し て同 じ デー タ にア ク セ ス で き ます。 図 2-4: 2 つのデー タ ソ ース を使用 し てデー タ ベースにア ク セスする方法 ODBC ド ラ イバに関する オ ン ラ イ ンヘルプの表示 InfoMaker の ODBC ド ラ イ バに関す る オ ン ラ イ ン ヘルプは、 ド ラ イ バ ベン ダに よ っ て提供 さ れ ます。ヘルプ情報の内容は以下の と お り です。 28 InfoMaker 第2章 ODBC イ ン タ フ ェ ース • ODBC 設定のダ イ ア ロ グボ ッ ク ス に入力 し て、 デー タ ソ ース を定 義す る 方法 • ODBC ド ラ イ バを定義 し てデー タ ソ ース にア ク セ スす る 方法 ODBC ド ラ イバに関するオ ン ラ イ ンヘルプ ODBC ド ラ イ バの ODBC 設定のダ イ ア ロ グ ボ ッ ク ス か ら 以下の手順を 実行す る と 、 ベン ダ提供のオ ン ラ イ ン ヘルプ を表示で き ます。 v ODBC ド ラ イバに関するオ ン ラ イ ン ヘルプ を表示する • ド ラ イ バの ODBC 設定のダ イ ア ロ グボ ッ ク ス の [ヘルプ] ボ タ ン を ク リ ッ ク し ます。 ODBC 設定の ダ イ ア ロ グ ボ ッ ク ス 内の各機能 を 説明す る ヘルプ ウ ィ ン ド ウ が表示 さ れます。 ODBC ト ラ ン ス レー タ の選択 ODBC ト ラ ン ス レー タ とは ? 一部の ODBC ド ラ イ バでは、 デー タ ソ ース を定義す る 際に、 ト ラ ン ス レー タ を指定で き ます。 ODBC ト ラ ン ス レー タ は、 アプ リ ケーシ ョ ン と デー タ ソ ース と の間で受け渡 さ れ る デー タ を変換す る DLL です。一 般に、デー タ を あ る 文字セ ッ ト か ら 別の文字セ ッ ト に変換す る ために、 ト ラ ン ス レー タ を使用 し ます。 必要な操作 以下の手順で、 ODBC ド ラ イ バの ト ラ ン ス レー タ を選択 し ます。 v ODBC ド ラ イバで使用する ト ラ ン ス レー タ を選択する 1 ド ラ イ バの ODBC 設定のダ イ ア ロ グボ ッ ク ス で、 ト ラ ン ス レー タ の選択 ダ イ ア ロ グボ ッ ク ス を表示 し ます。 ト ラ ン ス レー タ の選択 ダ イ ア ロ グ ボ ッ ク ス を表示す る 方法は、 ド ラ イ バ と Windows のプ ラ ッ ト フ ォ ーム に よ っ てそれぞれ異な り ま す。 ド ラ イ バの ODBC 設定のダ イ ア ロ グ ボ ッ ク ス で [ヘルプ] ボ タ ン を ク リ ッ ク し て、 ト ラ ン ス レー タ の選択 ダ イ ア ロ グボ ッ ク ス を表示す る 手順を参照 し て く だ さ い。 ト ラ ン ス レー タ の選択 ダ イ ア ロ グ ボ ッ ク ス に ど の ト ラ ン ス レー タ が表示 さ れ る かは、 ODBCINST.INI レ ジ ス ト リ キーの値に よ っ て 決ま り ます。 2 デー タ ベース と の接続 [使用可能な ト ラ ン ス レー タ ] リ ス ト ボ ッ ク ス か ら 使用す る ト ラ ン ス レー タ を選択 し ます。 29 ODBC イ ン タ フ ェ ースの定義 ト ラ ン ス レー タ の選択 ダ イ ア ロ グ ボ ッ ク ス に関す る ヘルプが必要 な場合は、 [ヘルプ] ボ タ ン を ク リ ッ ク し ます。 3 [OK] を ク リ ッ ク し ます。 ト ラ ン ス レー タ の選択 ダ イ ア ロ グ ボ ッ ク ス が閉 じ て、 ド ラ イ バが 変換処理を実行 し ます。 ODBC イ ン タ フ ェ ースの定義 ODBC イ ン タ フ ェ ー ス を使用す る 接続を定義す る には、 DB プ ロ フ ァ イ ル設定 - ODBC ダ イ ア ロ グ ボ ッ ク ス で基本接続パ ラ メ ー タ な ど の値 を指定 し て、 デー タ ベー ス プ ロ フ ァ イ ルを作成す る 必要が あ り ま す。 作成後は、 いつで も こ のプ ロ フ ァ イ ル を 選択 し て開発環境でデー タ ソ ース に接続で き ます。 デー タ ベース プ ロ フ ァ イ ルの定義方法については、 6 ページの 「デー タ ベース プ ロ フ ァ イ ルの使い方」 を参照 し て く だ さ い。 Sybase SQL Anywhere こ の 節 で は、 Sybase SQL Anywhere ODBC ド ラ イ バ を 使用 し て SQL Anywhere のデー タ ソ ー ス を作成お よ び定義 し 、 接続す る 方法につい て解説 し ます。 名称の変更 SQL Anywhere デ ー タ ベ ー ス サ ー バ は、 バ ー ジ ョ ン 6 か ら 9 ま で Adaptive Server® Anywhere (ASA) と 呼ばれてい ま し た。 SQL Anywhere には、 パー ソ ナル デー タ ベース サーバ と ネ ッ ト ワー ク デー タ ベース サーバの 2 つのデー タ ベース サーバが含まれてい ます。 Sybase SQL Anywhere の使い方については、 SQL Anywhere のマニ ュ ア ルを参照 し て く だ さ い。 30 InfoMaker 第2章 ODBC イ ン タ フ ェ ース SQL Anywhere でサポー ト し ているバージ ョ ン SQL Anywhere ODBC ド ラ イ バは、 以下の ソ フ ト ウ ェ ア で作成 さ れた ロ ーカル デー タ ベー ス や リ モー ト デー タ ベー ス と の接続を サポー ト し てい ます。 • 自分のマシ ン上で稼働 し てい る InfoMaker • SQL Anywhere バージ ョ ン 11 • SQL Anywhere バージ ョ ン 10.x • ASA バージ ョ ン 9.x • ASA バージ ョ ン 8.x • ASA バージ ョ ン 7.x • ASA バージ ョ ン 6.x • SQL Anywhere バージ ョ ン 5.x SQL Anywhere の基本ソ フ ト ウ ェ ア コ ンポーネ ン ト 図 2-5 は、InfoMaker か ら SQL Anywhere デー タ ソ ース に接続す る ため に必要な基本 ソ フ ト ウ ェ ア コ ン ポーネ ン ト を示 し てい ます。 デー タ ベース と の接続 31 Sybase SQL Anywhere 図 2-5: SQL Anywhere 接続の コ ンポーネ ン ト SQL Anywhere デー タ ソ ース を使用する ための準備 InfoMaker で SQL Anywhere デー タ ソ ース の定義 と 接続を行 う 前に、以 下の手順に従っ てデー タ ソ ース を準備 し ます。 v SQL Anywhere デー タ ソ ース を準備する 1 SQL Anywhere デー タ ソ ース のデー タ ベース フ ァ イ ルが存在す る こ と を確認 し ま す。 デー タ ベー ス を新 し く 作成す る には、 以下の 操作を実行 し ます。 • 32 Create ASA Database ユーテ ィ リ テ ィ を起動 し ます。自分のマシ ン上で InfoMaker が稼働 し てい る 場合は、 デー タ ベー ス プ ロ フ ァ イ ルの ODBC イ ン タ フ ェ ー ス の Utilities フ ォ ルダ ま たは デー タ ベー ス ペ イ ン タ か ら こ のユーテ ィ リ テ ィ にア ク セ ス で き ます。 InfoMaker 第2章 ODBC イ ン タ フ ェ ース こ の方法の場合、 自分のマシ ン上に ロ ーカルな SQL Anywhere デー タ ベー ス が作成 さ れ、 その接続に対応す る デー タ ソ ー ス 定義やデー タ ベー ス プ ロ フ ァ イ ル も 作成 さ れ ます (詳 し い手 順については、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照 し て く だ さ い)。 • 2 ほかのユーザのマシ ン上で稼働 し てい る InfoMaker を使用 し た り 、 InfoMaker の外部の環境で SQL Anywhere を使用 し た り す る な ど、 ほかの方法でデー タ ベース を作成 し ます (詳 し い手 順については、 SQL Anywhere のマニ ュ アルを参照 し て く だ さ い)。 SQL Anywhere デー タ ベース に対 し て ロ グ フ ァ イ ルが存在す る こ と を 確認 し ま す。 デー タ ベー ス が損傷 を 受 け て も 、 正常 な ロ グ フ ァ イ ルがあれば復旧可能です。 SQL Anywhere デー タ ベー ス の ロ グ フ ァ イ ルが存在 し な い場合、 SQL Anywhere デー タ ベース エ ン ジ ン で作成 さ れ ます。 し か し 、 ほ かのマ シ ンやデ ィ レ ク ト リ か ら デー タ ベー ス を コ ピー ま たは移動 す る 場合は、 ロ グ フ ァ イ ル も 一緒に コ ピーま たは移動 し ます。 SQL Anywhere デー タ ソ ースの定義 ロ ー カ ルな SQL Anywhere デー タ ベー ス を 作成す る と 、 InfoMaker に よ っ て、デー タ ソ ース定義やデー タ ベース プ ロ フ ァ イ ルが自動的に作 成 さ れ ま す。 し たが っ て、 ほかのマ シ ン上の InfoMaker で作成 さ れた SQL Anywhere デー タ ベース にア ク セ スす る と き に限 り 、以下の手順で SQL Anywhere デー タ ソ ース を定義 し ます。 v デー タ ベース と の接続 SQL Anywhere ド ラ イバに対 し て SQL Anywhere デー タ ソ ース を定義する 1 DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス ま たはデー タ ベース ペ イ ン タ の ODBC ユーテ ィ リ ィ の一覧か ら [Create ODBC Data Source] を 選択 し ます。 2 [ユーザーデー タ ソ ース] を選択 し て [次へ] ボ タ ン を ク リ ッ ク し ます。 3 [デー タ ソ ース の新規作成] ページで、 SQL Anywhere ド ラ イ バを 選択 し て、 [完了] ボ タ ン を ク リ ッ ク し ます。 33 Sybase SQL Anywhere SQL Anywhere の ODBC 設定 ダ イ ア ロ グボ ッ ク ス が表示 さ れます。 4 以下の値を指定す る 必要があ り ます。 • [ODBC] タ ブのデー タ ・ ソ ース名 • [ ロ グ イ ン] タ ブ ページのユーザ ID と パ ス ワ ー ド • [デー タ ベース] タ ブ ページのデー タ ベース ・ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス の フ ィ ール ド につい て の詳細 を 確認す る に は、 [ヘルプ] ボ タ ン を ク リ ッ ク し ます。 5 (オプシ ョ ン) デー タ を あ る 文字セ ッ ト か ら 別の文字セ ッ ト に変換 す る ODBC ト ラ ン ス レー タ を選択す る には、 [ODBC] タ ブの [ ト ラ ン ス レー タ を選択] ボ タ ン を ク リ ッ ク し ます。 29 ページの 「ODBC ト ラ ン ス レー タ の選択」 を参照 し て く だ さ い。 6 [開始行] 値の指定 34 [OK] ボ タ ン を ク リ ッ ク し て、 デー タ ソ ース定義を保存 し ます。 SQL Anywhere ODBC ド ラ イ バが、 PATH 変数お よ びデー タ ベース名の 設定値を使用 し て稼働 し てい る パー ソ ナル デー タ ベー ス サーバ ま た はネ ッ ト ワ ー ク デー タ ベース サーバを見つけ る こ と がで き ない場合、 [開始行] フ ィ ール ド に指定 さ れて い る コ マ ン ド を 使用 し て、 デー タ ベース サーバを起動 し ます。 InfoMaker 第2章 ODBC イ ン タ フ ェ ース [デー タ ベー ス] タ ブ ページの [開始行] フ ィ ール ド に、 以下の コ マ ン ド のいずれか を 指定 し ま す。 n は、 使用 し て い る SQL Anywhere の バージ ョ ン です。 指定する コ マ ン ド dbengn.exe rtengn.exe 機能 パー ソ ナル デー タ ベース サーバ と [デー タ ベー ス フ ァ イ ル] ボ ッ ク ス に指定 し たデー タ ベース を起動す る 制限付 き ラ ン タ イ ム デー タ ベー ス サ ー バ と [デー タ ベー ス フ ァ イ ル] ボ ッ ク ス に指定 し た デー タ ベース を起動す る SQL Anywhere の ODBC 設定 ダ イ ア ロ グボ ッ ク ス の設定方法について は、 SQL Anywhere のマニ ュ アルを参照 し て く だ さ い。 Transact-SQL の特殊な timestamp カ ラ ムのサポー ト デー タ パ イ プ ラ イ ン、 ま たはデー タ ベース ペ イ ン タ で SQL Anywhere テーブルを処理す る 場合、 デフ ォ ル ト では、 timestamp と い う 名前の カ ラ ムが、 SQL Anywhere Transact-SQL® の特殊な timestamp カ ラ ム と し て処理 さ れます。 特殊な Transact-SQL timestamp カ ラ ム を SQL Anywhere テーブルに作成 す る こ と がで き ます。 特殊な timestamp カ ラ ムの作成 v InfoMaker において SQL Anywhere テーブル内に Transact-SQL の特殊な timestamp カ ラ ムを作成する 1 2 Transact-SQL の特殊な timestamp カ ラ ム と し て処理す る Timestamp 型のカ ラ ムに対 し て、 timestamp と い う 名前を設定 し ます。 以下の いずれかの方法で操作 し ます。 • ペ イ ン タ を使用す る 場合 - カ ラ ム の名前に timestamp を選択 し ま す。 (詳 し い手順については、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照 し て く だ さ い。 • SQL CREATE TABLE 文を使用す る 場合 - 詳細については、 次 の 「CREATE TABLE の例」 を参照 し て く だ さ い。 カ ラ ム のデフ ォ ル ト 値 と し て timestamp を指定 し ます。以下のいず れかの方法で操作 し ます。 • デー タ ベース と の接続 ペ イ ン タ を使用す る 場合 - カ ラ ムのデフ ォ ル ト 値 と し て timestamp を選択 し ます。 詳 し い手順については、 『ユーザー ズ ガ イ ド 』 マニ ュ アルを参照 し て く だ さ い。 35 Sybase SQL Anywhere • 3 SQL CREATE TABLE 文を使用す る 場合 - 詳細については、 次の 「CREATE TABLE の例」 を参照 し て く だ さ い。 デー タ パ イ プ ラ イ ン ペ イ ン タ でテーブルを処理 し てい る 場合、 特 殊な timestamp カ ラ ム に対 し て、 ワ ー ク スペース の初期値カ ラ ム の ド ロ ッ プダ ウ ン リ ス ト か ら 、 「デフ ォ ル ト 値」 を選択 し ます。 INSERT 文や UPDATE 文か ら 特殊な timestamp カ ラ ム を使用す る た めには、 初期値 と し て 「デフ ォ ル ト 値」 を選択 し ます。 詳 し い手順については、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照 し て く だ さ い。 CREATE TABLE の例 以下に示す CREATE TABLE 文では、 employee_ID、 hours、 timestamp と い う 3 つの カ ラ ム で構成 さ れ る timesheet と い う 名前の SQL Anywhere テーブルが作成 さ れます。なお、employee_ID は Integer 型、hours は Decimal 型、 timestamp は Timestamp 型でデフ ォ ル ト 値が timestamp です。 CREATE TABLE timesheet ( employee_ID INTEGER, hours DECIMAL, timestamp TIMESTAMP default timestamp ) 特殊 timestamp カ ラ ムを使用 し ない場合 デ フ ォ ル ト の 動 作 を 変 更 す る 場 合、 timestamp と い う 名 前 の SQL Anywhere カ ラ ム を、 Transact-SQL の特殊な timestamp カ ラ ム と し て処 理 し ない よ う に、 InfoMaker に対 し て指定で き ます。 v timestamp と い う 名前のカ ラ ムを Transact-SQL の特殊な timestamp カ ラ ム と し て処理 し ないよ う に、 InfoMaker に対 し て指定する • PBODB115 初期設定フ ァ イ ルの [Sybase SQL Anywhere] セ ク シ ョ ン を編集 し て、SQLSrvrTSName の値を 'Yes' か ら 'No' に変更 し ます。 初期設定 フ ァ イ ルに変更 を 加 え た 後、 変更 を 反映 さ せ る た め に デー タ ベー ス に再接続す る 必要があ り ま す。 付録 「PBODB115 初 期設定フ ァ イ ルへの関数の追加」 を参照 し て く だ さ い。 次のス テ ッ プ ODBC デー タ ソ ース と の接続の手順については、 144 ページの 「デー タ ベース と の接続」 を参照 し て く だ さ い。 36 InfoMaker 第 3 章 JDBC イ ン タ フ ェ ース こ の章について こ の章では、 JDBC イ ン タ フ ェース の概要について説明 し 、 こ の イ ン タ フ ェ ー ス を 使用す る た めの準備や JDBC デー タ ベー ス プ ロ フ ァ イ ルの定義の し かたについて解説 し ます。 内容 詳細について 項目 JDBC イ ン タ フ ェース について JDBC イ ン タ フ ェース を使用す る ための準備 JDBC イ ン タ フ ェース の定義 ページ 37 41 43 JDBC の詳細については、 Java Web のサイ ト http://java.sun.com/products/jdbc/overview.html を参照 し て く だ さ い。 JDBC イ ン タ フ ェ ースについて InfoMaker では、 JDBC を経由 し て さ ま ざ ま なデー タ ベース にア ク セ ス で き ます。 こ の節では、 JDBC 接続を使用 し て InfoMaker か ら デー タ にア ク セ ス す る ために知っ てお く 必要があ る 情報について 解説 し ます。 JDBC と は ? JDBC API デー タ ベース と の接続 Java Database Connectivity (JDBC) と は、 Java ア プ リ ケ ー シ ョ ン が、 標 準 の デ ー タ ア ク セ ス 言 語 と し て SQL (Structured Query Language) を サポー ト す る デー タ ベー ス にア ク セ ス す る ための標 準アプ リ ケーシ ョ ン プ ロ グ ラ ム用 イ ン タ フ ェース (API) です。 37 JDBC イ ン タ フ ェ ースについて JDBC API には、 デー タ ベー ス 接続を開いた り 、 SQL コ マ ン ド を実行 し た り 、 結果を処理 し た り で き る よ う に、 共通の SQL デー タ ベース ア ク テ ィ ビ テ ィ で共通な ク ラ ス が含ま れてい ます。 そのため Java プ ロ グ ラ ムは SQL 文を発行 し て、 結果のデー タ を処理す る 一般的な SQL プ ロ グ ラ ミ ン グ モデルを使用で き ます。 JDBC ク ラ ス は Java 1.1+ と Java 2 で java.sql パ ッ ケージ と し て含まれてい ます。 JDBC API では、 以下の内容が定義 さ れてい ます。 • デー タ ベースへの接続、 SQL 文の実行、 お よ び結果の取得を行 う JDBC 関数呼び出 し ラ イ ブ ラ リ • DBMS に接続 し て ロ グ イ ンす る ための標準的な方法 • X/Open SQL Call Level Interface ま たは X/Open と SQL Access Group (SAG) の CAE 仕様 (1992) に基づ く SQL 構文 • デー タ 型の標準表記法 • エ ラ ー コ ー ド の標準セ ッ ト JDBC API の実装 JDBC API の実装は、 既存の ODBC ド ラ イ バ と 通信す る も の (JDBCODBC ブ リ ッ ジ) と 、 ネ イ テ ィ ブ デー タ ベー ス API と 通信す る も の (JDBC 呼び出 し を特定のデー タ ベー ス ベン ダに よ っ て使用 さ れ る 通 信プ ロ ト コ ルに変換す る JDBC ド ラ イ バ) と の 2 つのカ テ ゴ リ に分類 さ れ ます。 InfoMaker は、 JDBC 準拠 ド ラ イ バが存在す る 任意のデー タ ベース と の接続に使用で き る JDBC イ ン タ フ ェース を実装 し ます。 InfoMaker JDB イ ン タ フ ェ ース Java 仮想マシ ン (JVM) は Java プ ロ グ ラ ムのバ イ ト コ ー ド を変換お よ び実行す る のに必要です。 InfoMaker JDB イ ン タ フ ェ ー ス は、 Sun の Java Runtime Environment (JRE) バージ ョ ン 1.2 以上を サポー ト し てい ます。 JDBC 接続の コ ンポーネ ン ト JDBC の接続方法 InfoMaker か ら JDBC イ ン タ フ ェ ー ス を経由 し てデー タ ベー ス に ア ク セ ス す る 場合、 デー タ ベース に到達す る ま でにい く つかの レ イ ヤ を経 由 し ます。 それぞれの レ イ ヤは、 接続におけ る 独立 し た コ ン ポーネ ン ト で あ り 、 コ ン ポーネ ン ト ご と に提供 し てい る ベン ダが違 う 可能性が あ り ます。 JDBC は標準 API であ る ため、 InfoMaker はど の よ う な JDBC 準拠デー タ ベー ス ド ラ イ バへア ク セ ス す る 場合で も 共通の イ ン タ フ ェ ー ス を 使用 し ます。 図 3-1 では、 JDBC 接続の一般的な コ ン ポーネ ン ト を示 し ます。 38 InfoMaker 第3章 JDBC イ ン タ フ ェ ース 図 3-1: JDBC 接続の コ ンポーネ ン ト JDBC DLL pbjdb115.dll は、 InfoMaker が提供 し ま す。 こ の DLL は、 Sun の Java Runtime Environment (JRE) バージ ョ ン 1.2 以上で使用で き ます。 InfoMaker Java パ ッ ケージ InfoMaker には、小 さ な Java ク ラ ス のパ ッ ケージが含ま れてい ます。 こ れは、 ほかの InfoMaker イ ン タ フ ェ ー ス にあ る よ う なエ ラ ーチ ェ ッ ク お よ び効率性の レベル (SQLException の捕捉) を JDBC イ ン タ フ ェ ー ス に提供 し ま す。 こ の パ ッ ケ ー ジ は、 pbjdbc12115.jar と い う 名前 で Sybase\Shared\PowerBuilder に置かれてい ます。 Java 仮想マシ ン Java 仮想マシ ン (JVM) は Java 開発 ソ フ ト ウ ェ アの コ ン ポーネ ン ト で す。 InfoMaker を イ ン ス ト ールす る と 、 Java Runtime Environment (JRE) を 含 む Sun の Java Development Kit (JDK) が シ ス テ ム の Sybase\Shared\PowerBuilder に イ ン ス ト ール さ れ ま す。 InfoMaker 11.5 の場合、 JDK 1.5 が イ ン ス ト ール さ れます。 こ のバージ ョ ン の JVM は、 JDBC 接続のほか、 JVM が必要 と な る プ ロ セ ス を使用す る と 自動的に 起動 し 、 InfoMaker のセ ッ シ ョ ン全体にわた っ て使用 さ れ ます。 ほかの JVM を使用す る 必要があ る 場合は、 41 ページの 「JDBC イ ン タ フ ェース を使用す る ための準備」 を参照 し て く だ さ い。 JVM の起動方 法の詳細については、 『ユーザーズ ガ イ ド 』 マニ ュ アルのアプ リ ケー シ ョ ン の配布について説明 し た章を参照 し て く だ さ い。 デー タ ベース と の接続 39 JDBC イ ン タ フ ェ ースについて JDBC ド ラ イバ JDBC イ ン タ フ ェ ー ス は、 Sybase jConnect™ for JDBC、 Oracle、 IBM INFORMIX の JDBC ド ラ イ バな ど、 任意の JDBC 準拠 ド ラ イ バ と も 通 信で き ます。 こ れ ら の ド ラ イ バは、 Java のネ イ テ ィ ブ プ ロ ト コ ル ド ラ イ バであ り 、 JDBC 呼び出 し をデー タ ベース がサポー ト す る SQL 構文 に変換 し ます。 Unicode デー タ へのア ク セス InfoMaker は、 ODBC イ ン タ フ ェース を使用 し て、 ANSI/DBCS お よ び Unicode の両方のデー タ ベース のデー タ に接続、 保存、 検索す る こ と が で き ますが、 Unicode と ANSI/DBCS 間でのデー タ 変換を行い ません。 文字デー タ ま たは コ マ ン ド テ キ ス ト がデー タ ベー ス に送信 さ れ る と 、 InfoMaker は Unicode 文字列 を 送信 し ま す。 デー タ が正 し く Unicode デー タ と し て保存 さ れ る こ と を ド ラ イ バが保証す る 必要が あ り ま す。 InfoMaker は文字デー タ を検索す る と き 、デー タ は Unicode であ る と 仮 定 し ます。 Unicode デー タ ベー ス は、 文字セ ッ ト が Unicode 形式 (UTF-8、 UTF16、 UCS-2、 UCS-4 な ど) に設定 さ れ る デー タ ベース の こ と です。 すべ てのデー タ は、 Unicode 形式でなければな ら ず、 デー タ ベース に保存 さ れ る デー タ は、 暗黙的に ま たは明示的に Unicode デー タ に変換 さ れな ければな り ません。 文字セ ッ ト と し て ANSI (ま たは DBCS) を使用す る デー タ ベー ス は、 Unicode デー タ を格納す る 特殊なデー タ 型を使用す る こ と があ り ます。 こ れ ら のデー タ 型を持つカ ラ ムは、 Unicode デー タ だけ を格納 し ます。 その よ う な カ ラ ム に保存 さ れ る デー タ は、 明示的に Unicode に変換 さ れ る 必要があ り ます。 こ の変換はデー タ ベース サーバ ま たは ク ラ イ ア ン ト が処理す る 必要があ り ます。 JDBC レ ジ ス ト リ エ ン ト リ InfoMaker JDBC イ ン タ フ ェ ー ス を経由 し てデー タ にア ク セ ス す る 際、 InfoMaker は内部レ ジ ス ト リ を使用 し て SQL 構文の定義、 DBMS 固有 の関数呼び出 し 、 お よ びバ ッ ク エ ン ド DBMS のデフ ォ ル ト の DBParm パ ラ メ ー タ 設定を保守 し ます。 こ の内部レ ジ ス ト リ には、 現時点では、 SQL Anywhere、 Adaptive Server Enterprise、 お よ び Oracle のデー タ ベー ス用のサブエ ン ト リ が含まれてい ます。 40 InfoMaker 第3章 JDBC イ ン タ フ ェ ース 通常、 JDBC エ ン ト リ を変更す る 必要はあ り ま せん。 ただ し 、 既存の エ ン ト リ を カ ス タ マ イ ズ し た り 、 新 し いエ ン ト リ を追加 し た り す る 必 要が あ る 場合は、 直接 レ ジ ス ト リ を 編集す る か、 ま た は レ ジ ス ト リ フ ァ イ ルを実行 し て シ ス テ ム レ ジ ス ト リ を変更で き ます。シ ス テ ム レ ジ ス ト リ に対す る 変更は InfoMaker の内部レ ジ ス ト リ エ ン ト リ を上書 き し ます。 エ ン ト リ の設定値を変更す る ために実行で き る レ ジ ス ト リ フ ァ イ ルの例については、Sybase\Shared\PowerBuilder の egreg.txt フ ァ イ ルを参照 し て く だ さ い。 JDBC でサポー ト し ているバージ ョ ン InfoMaker JDBC イ ン タ フ ェ ース は、 JDBC ド ラ イ バを経由 し てデー タ ベース にア ク セ スす る と き に pbjdb115.dll を使用 し ます。 JDBC イ ン タ フ ェ ース を使用 し て jConnect ド ラ イ バにア ク セ ス す る に は、 jConnect バージ ョ ン 4.2 以上を使用 し て く だ さ い。 jConnect の詳細 については、 Sybase のマニ ュ アルを参照 し て く だ さ い。 JDBC イ ン タ フ ェ ー ス を使用 し て Oracle JDBC ド ラ イ バにア ク セ ス す る には、 Oracle 8 JDBC ド ラ イ バのバージ ョ ン 8.0.4 以上を使用 し て く だ さ い。 Oracle JDBC ド ラ イ バの詳細については、 Oracle のマニ ュ アル を参照 し て く だ さ い。 サポー ト し ている JDBC デー タ 型 ODBC の場合 と 同様に、 JDBC イ ン タ フ ェース は、 ネ イ テ ィ ブ イ ン タ フ ェ ー ス の動作 を 可能な限 り エ ミ ュ レ ー ト す る た めにバ ッ ク エ ン ド デー タ ベース でネ イ テ ィ ブなデー タ 型の リ ス ト を コ ンパ イ ル、 ソ ー ト 、 表示、 お よ び使用 し ます。 JDBC イ ン タ フ ェ ース を使用する ための準備 JDBC イ ン タ フ ェース を定義 し 、 JDBC イ ン タ フ ェース を経由 し てデー タ ベー ス に接続す る た めには、 以下の手順に従 っ て使用す る デー タ ベース を準備す る 必要があ り ます。 1 デー タ ベース と の接続 デー タ ベース サーバを JDBC 接続用に設定 し 、 JDBC 準拠 ド ラ イ バお よ びネ ッ ト ワー ク ソ フ ト ウ ェ ア を イ ン ス ト ール し ます。 41 JDBC イ ン タ フ ェ ース を使用する ための準備 2 JDBC ド ラ イ バを イ ン ス ト ール し ます。 3 CLASSPATH 環境変数の値を設定す る か、 ま たは こ の値を確認 し ます。 JDBC 接続を行え る よ う にデー タ ベース サーバを設定 し 、JDBC ド ラ イ バお よ びネ ッ ト ワ ー ク ソ フ ト ウ ェ ア を イ ン ス ト ールす る 必要が あ り ます。 ス テ ッ プ 1 : デー タ ベース サーバの設定 v デー タ ベース サーバを JDBC 接続用に設定する 1 JDBC 接続を行え る よ う にデー タ ベース サーバが設定 さ れてい る こ と を確認 し ます。 設定手順については、 デー タ ベース ベン ダの マニ ュ アルを参照 し て く だ さ い。 2 適切な JDBC ド ラ イ バ ソ フ ト ウ ェ アがデー タ ベース サーバに イ ン ス ト ール さ れ、 実行 さ れてい る こ と を確認 し ます。 デー タ ベー ス プ ロ フ ァ イ ルで指定が必要な ド ラ イ バ名、 URL 形 式、 お よ び ド ラ イ バ固有のプ ロ パテ ィ については、 ド ラ イ バ ベン ダのマニ ュ アルを参照 し て く だ さ い。jConnect ド ラ イ バの詳細につ いては、 43 ページの 「jConnect ド ラ イ バの設定」 を参照 し て く だ さ い。 3 マシ ン上に必要なネ ッ ト ワ ー ク ソ フ ト ウ ェ ア (TCP/IP な ど) が イ ン ス ト ール、 実行 さ れていて、 自分のサ イ ト のデー タ ベー ス サー バへ接続で き る よ う に正 し く 設定 さ れてい る こ と を確認 し ます。 た と えば、 使用 し てい る ネ ッ ト ワ ー ク プ ロ ト コ ルやオペレーテ ィ ン グ シ ス テ ム プ ラ ッ ト フ ォ ーム を サポー ト す る 、ネ ッ ト ワ ー ク コ ミ ュ ニ ケーシ ョ ン ド ラ イ バを イ ン ス ト ールす る 必要があ り ます。 イ ン ス ト ール と 設定の手順については、 ネ ッ ト ワ ー ク ま たはデー タ ベース の管理者に問い合わせて く だ さ い。 ス テ ッ プ 2 :JDBC ド ラ イバのイ ン ス ト ール InfoMaker のセ ッ ト ア ッ プ プ ロ グ ラ ム で、 標準 イ ン ス ト ールを選択す る か、 カ ス タ ム イ ン ス ト ールを選択 し た場合は JDBC ド ラ イ バを選択 し て く だ さ い。 ステ ッ プ 3 :CLASSPATH 環境変 数、 および [Java] タ ブの値の確認または 設定 PATH 環境変数 と CLASSPATH 環境変数 に、 完全修飾 さ れ た 適切 な フ ァ イ ル名を示す値が設定 さ れてい る こ と を確認設定す る か、 それ ら を設定 し ます。 42 InfoMaker と 一緒に イ ン ス ト ール し た JDK を使用 し てい る 場合、 こ れ ら の環境変数を変更す る 必要はあ り ません。 InfoMaker 第3章 JDBC イ ン タ フ ェ ース JDK 1.2 以上を使用 し てい る 場合、CLASSPATH 環境変数には Sun Java VM パ ッ ケージ を含む必要はあ り ませんが、 PATH 環境変数には Sun Java VM ラ イ ブ ラ リ jvm.dll のエ ン ト リ (た と えば path\ JDK15\JRE\bin\client) が含まれてい る 必要があ り ます。 jConnect ド ラ イバの 設定 Sybase jConnect ド ラ イ バを使用す る 場合は、Adaptive Server デー タ ベー ス で JDBC ス ト ア ド プ ロ シージ ャ を イ ン ス ト ールす る な ど、 必要な設 定手順を完了 し てい る こ と を確認 し て く だ さ い。ま た、使用 コ ン ピ ュ ー タ の CLASSPATH 環境変数に、 jConnecgt ド ラ イ バの保存場所を指 し て い る エ ン ト リ が含まれてい る こ と も 確認 し ます。 た と えば、 jConnect 6.05 を使用 し てい る 場合は、 次の よ う なエ ン ト リ が含まれてい る こ と が必要です。 C:\Program Files\Sybase\jConnect-6.05\classes\jconn3.jar jConnect の設定方法の詳細については、 jConnect for JDBC のマニ ュ ア ルを参照 し て く だ さ い。 JDBC イ ン タ フ ェ ースの定義 プ ロ フ ァ イルの作成 JDBC イ ン タ フ ェース を使用す る 接続を定義す る には、 DB プ ロ フ ァ イ ル設定- JDBC ダ イ ア ロ グ ボ ッ ク ス で基本接続パ ラ メ ー タ な ど の値を指 定 し てデー タ ベース プ ロ フ ァ イ ルを作成す る 必要があ り ます。 次回以 降、 こ のデー タ ベース プ ロ フ ァ イ ルを選択す る と 、 そのデー タ ベース にいつで も 接続で き ます。 デー タ ベース プ ロ フ ァ イ ルの定義方法については、 6 ページの 「デー タ ベース プ ロ フ ァ イ ルの使い方」 を参照 し て く だ さ い。 接続パラ メ ー タ の指定 JDBC API で提供 さ れ る 最大の柔軟性を提供す る ために、 JDBC イ ン タ フ ェ ー ス は、 接続パ ラ メ ー タ の さ ま ざ ま な組み合わせでのデー タ ベー ス接続をサポー ト し ます。 • ド ラ イバ名、 URL、 プ ロパテ ィ ド ラ イ バ固有の プ ロ パ テ ィ を 定義 す る 必要があ る 場合は、 こ の よ う な接続パ ラ メ ー タ の組み合わせ で値を指定す る 必要があ り ます。プ ロ パテ ィ を定義す る と き は、プ ロ パテ ィ フ ィ ール ド でユーザ ID と パ ス ワ ー ド も 定義す る 必要が あ り ます。 た と えば、 jConnect ド ラ イ バに接続す る 場合は、 [ ド ラ イ バ固有の パ ラ メ ー タ ] フ ィ ール ド に以下の値を入力す る 必要があ り ます。 SQLINITSTRING=set TextSize 32000; デー タ ベース と の接続 43 JDBC イ ン タ フ ェ ースの定義 user=system;password=manager; • ド ラ イバ名、 URL、 ユーザ ID、 パスワー ド ド ラ イ バ 固 有 の プ ロ パ テ ィ を定義す る 必要がない場合は、 こ の よ う な接続パ ラ メ ー タ の 組み合わせで値を指定 し ます。 Driver Name: com.sybase.jdbc3.jdbc.SybDriver URL: jdbc:sybase:Tds:localhost:2638 Login ID: dba Password: sql • ド ラ イバ名、 URL ユーザ ID と パ ス ワー ド が URL の一部に含まれ る 場合は、 こ の よ う な接続パ ラ メ ー タ の組み合わせで値を指定 し ます。 た と えば、 Oracle JDBC ド ラ イ バに接続す る 場合は、 次の よ う に URL にユーザ ID と パ ス ワ ー ド を含め る こ と がで き ます。 jdbc:oracle:thin:userid/password@host:port:dbname jConnect へ接続する際のプ ロパテ ィ の指定 InfoMaker で Blob 型を使用す る 場合、 jConnect では Blob サ イ ズに制約 があ る こ と に注意が必要です。 そのため、 InfoMaker か ら デー タ ベース 接続を行 う 前に、使用す る 予定の最大サ イ ズ よ り 大 き い値に Blob サ イ ズ を設定 し 直 し ます。 Blob サ イ ズ を設定す る には、 [接続] ページの [ ド ラ イ バ固有のパ ラ メ ー タ ] ボ ッ ク ス で jConnect の SQLINITSTRING プ ロ パテ ィ を定義 し ます。SQLINITSTRING プ ロ パテ ィ は、次の よ う に、バ ッ ク エ ン ド デー タ ベース サーバに渡 さ れ る コ マ ン ド を定義す る のに使用 さ れ ます。 SQLINITSTRING=set TextSize 32000; [ ド ラ イ バ固有のパ ラ メ ー タ ] ボ ッ ク ス でプ ロ パテ ィ を 定義す る 場合 は、ユーザ ID と パ ス ワー ド も 定義す る 必要があ る こ と に注意 し て く だ さ い。 44 InfoMaker 第 4 章 OLE DB イ ン タ フ ェ ース こ の章について こ の章では、 OLE DB イ ン タ フ ェ ー ス の概要について説明 し 、 こ の イ ン タ フ ェース を使用す る ための準備や OLE DB デー タ ベース プ ロ フ ァ イ ルの定義の し かたについて解説 し ます。 内容 詳細について 項目 OLE DB イ ン タ フ ェース について OLE DB イ ン タ フ ェース を使用す る ための準備 OLE DB イ ン タ フ ェース の定義 ページ 45 50 52 こ の章では、 一般的な OLE DB イ ン タ フ ェース の使用について説 明 し てい ます。 詳細については、 以下を参照 し て く だ さ い。 • Microsoft の MSDN ラ イ ブ ラ リ のサイ ト http://msdn.microsoft.com/en-us/library/ms713643.aspx で 『OLE DB Programmer's Guide』 マニ ュ アルを参照 し て く だ さ い。 • デー タ プ ロ バ イ ダのベン ダが提供す る オ ン ラ イ ン ヘルプ • OLE DB デー タ プ ロ バ イ ダに接続す る 方法を解説 し たテ ク ニ カル ド キ ュ メ ン ト があ る か ど う か を確認 し て く だ さ い。 接続 に関す る 新 し い情報は、 Sybase サポー ト と ダウ ン ロー ド のサイ ト http://www.sybase.com/support か ら 取得で き ます。 OLE DB イ ン タ フ ェ ースについて InfoMaker では、OLE DB デー タ プ ロ バ イ ダ を経由 し て さ ま ざ ま な デー タ にア ク セ ス で き ま す。 こ の節では、 OLE DB 接続を使用 し て InfoMaker か ら デー タ にア ク セ ス す る ために知っ てお く 必要が あ る 情報について解説 し ます。 デー タ ベース と の接続 45 OLE DB イ ン タ フ ェ ースについて サポー ト し ている OLE DB デー タ プ ロバイ ダ InfoMaker で提供 さ れ る OLE DB デー タ プ ロ バ イ ダ と 、 ア ク セ ス で き る デー タ の一覧については、 オ ン ラ イ ン ヘルプの 「サポー ト し てい る デー タ ベース イ ン タ フ ェ ース」 を参照 し て く だ さ い。 OLE DB と は ? OLE DB API OLE DB は、 Microsoft 社が開発 し た標準アプ リ ケーシ ョ ン プ ロ グ ラ ミ ン グ イ ン タ フ ェ ー ス (API) で、 Microsoft の Data Access Components ソ フ ト ウ ェ アの構成要素 と な っ てい ます。 OLE DB を使 う と 、 アプ リ ケーシ ョ ンは OLE DB デー タ プ ロ バ イ ダがあ る さ ま ざ ま なデー タ にア ク セ ス で き ます。 OLE DB に よ り 、 アプ リ ケーシ ョ ンは、 SQL ベース の DBMS だけでな く 、Btrieve の よ う な イ ンデ ッ ク ス付 き シーケ ン シ ャ ル フ ァ イ ル、 Paradox の よ う なパー ソ ナル デー タ ベース、 ス プ レ ッ ド シー ト や電子 メ ール と い っ た ツールな ど、 さ ま ざ ま な形式で保存 さ れ てい る デー タ に対 し て同一の方法でア ク セ ス で き ます。 OLE DB イ ン タ フ ェース では、 SQL ベース のデー タ ベース に直接接続 で き ます。 OLE DB を経由 し た デー タ ア ク セス OLE DB イ ン タ フ ェ ー ス を提供す る InfoMaker な ど のアプ リ ケーシ ョ ン は、 OLE DB デー タ プ ロ バ イ ダが あ る デー タ に ア ク セ ス で き ま す。 OLE DB デー タ プ ロ バ イ ダは、特定のデー タ ソ ース にア ク セ スす る た めの OLE DB 関数呼び出 し を実装す る ダ イ ナ ミ ッ ク リ ン ク ラ イ ブ ラ リ (DLL) です。 InfoMaker OLE DB イ ン タ フ ェース は、 表 4-1 に示す OLE DB オブジ ェ ク ト イ ン タ フ ェ ー ス を サポー ト す る 任意の OLE DB デー タ プ ロ バ イ ダに接続で き ます。OLE DB デー タ プ ロ バ イ ダは Microsoft OLE DB 2.0 仕様に準拠す る ために こ れ ら の イ ン タ フ ェ ー ス を サポー ト し てい る 必 要があ り ます。 表 4-1: 必要な OLE DB イ ン タ フ ェ ース IAccessor IDBInitialize IColumnsInfo IDBProperties ICommand IOpenRowset ICommandProperties IRowset ICommandText IRowsetInfo IDBCreateCommand IDBSchemaRowset IDBCreateSession ISourcesRowset 46 InfoMaker 第4章 OLE DB イ ン タ フ ェ ース 必要な OLE DB イ ン タ フ ェース に加え て、 InfoMaker は、 さ ら に高度な 機能を提供す る ために、 表 4-2 に示す OLE DB イ ン タ フ ェース も 使用 し ます。 表 4-2: そのほかの OLE DB イ ン タ フ ェ ース OLE DB イ ン タ フ ェ ース ICommandPrepare IDBInfo IDBCommandWithParameters IErrorInfo IErrorRecords IIndexDefinition IMultipleResults IRowsetChange IRowsetUpdate ISQLErrorInfo ISupportErrorInfo ITableDefinition InfoMaker での使用目的 コ マ ン ド の準備お よ びカ ラ ム情報の取得 デー タ プ ロ バ イ ダへのプ ロ パ テ ィ の問い合 わせ。 こ の イ ン タ フ ェ ース がサポー ト さ れて いない場合、 デー タ ベース接続は失敗す る こ と があ る デー タ プ ロ バ イ ダへのパ ラ メ ー タ の問い合 わせ エ ラ ー情報の提供 エ ラ ー情報の提供 拡張属性シ ス テ ム テーブルの イ ン デ ッ ク ス の作成。 デー タ ベース ペ イ ン タ の イ ンデ ッ ク ス の作成。 こ の イ ン タ フ ェ ース がサポー ト さ れ て い な い 場合、 InfoMaker は pbodb115.ini フ ァ イ ルで イ ンデ ッ ク ス定義構文を探す 情報の提供 拡張属性シ ス テ ム テーブル作成時に値 を 入 力する 。 Blob の更新 拡張属性シ ス テ ム テーブルの作成 エ ラ ー情報の提供 エ ラ ー情報の提供 拡張属性 シ ス テ ム テ ーブルの作成。 デー タ ベース ペ イ ン タ のテーブルの作成。 こ の イ ン タ フ ェ ース がサポー ト さ れていない場合、 以 下の こ と が起 こ り ます。 • InfoMaker は、 pbodb115.ini フ ァ イ ルでテー ブル定義構文を探す • InfoMaker カ タ ロ グ テーブルが使用で き な い ITransactionLocal デー タ ベース と の接続 • カ ラ ムの変更やデータ ベース ペイ ン タ での デー タ の編集な ど、 DDL 操作、 DML 操作 が正 し く 機能 し ない ト ラ ン ザ ク シ ョ ン のサポー ト 。 こ の イ ン タ フ ェ ー ス が サ ポ ー ト さ れ て い な い 場 合、 InfoMaker はデ フ ォ ル ト で AutoCommit モー ド を使用する 47 OLE DB イ ン タ フ ェ ースについて Unicode デー タ へのア ク セス InfoMaker は、 OLE DB イ ン タ フ ェ ース を使用 し て、 ANSI/DBCS お よ び Unicode の両方のデー タ ベー ス のデー タ に接続、 保存、 検索す る こ と がで き ますが、 Unicode と ANSI/DBCS 間でのデー タ 変換は行い ませ ん。 文字デー タ ま たは コ マ ン ド テ キ ス ト がデー タ ベース に送信 さ れ る と 、InfoMaker は Unicode 文字列を送信 し ます。デー タ が正 し く Unicode デー タ と し て保存 さ れ る こ と を デー タ プ ロ バ イ ダ が保証す る 必要が あ り ます。 InfoMaker は文字デー タ を検索す る と き 、 デー タ は Unicode であ る と 仮定 し ます。 Unicode デー タ ベー ス は、 文字セ ッ ト が Unicode 形式 (UTF-8、 UTF16、 UCS-2、 UCS-4 な ど) に設定 さ れ る デー タ ベース の こ と です。 すべ てのデー タ は、 Unicode 形式でなければな ら ず、 デー タ ベース に保存 さ れ る デー タ は、 暗黙的に ま たは明示的に Unicode デー タ に変換 さ れな ければな り ません。 文字セ ッ ト と し て ANSI (ま たは DBCS) を使用す る デー タ ベー ス は、 Unicode デー タ を格納す る 特殊なデー タ 型を使用す る こ と があ り ます。 こ れ ら のデー タ 型を持つカ ラ ムは、Unicode デー タ だけです。 その よ う な カ ラ ム に保存 さ れ る デー タ は、 明示的に Unicode に変換 さ れ る 必要 があ り ます。 こ の変換はデー タ ベース サーバ ま たは ク ラ イ ア ン ト が処 理す る 必要があ り ます。 OLE DB 接続の コ ンポーネ ン ト InfoMaker で OLE DB デー タ プ ロ バ イ ダにア ク セ スす る 場合、 デー タ プ ロ バ イ ダに到達す る ま でにい く つかの レ イ ヤ を経由 し ます。 それぞ れの レ イ ヤは、接続におけ る 独立 し た コ ン ポーネ ン ト であ り 、コ ン ポー ネ ン ト ご と に提供 し てい る ベン ダが違 う 可能性があ り ます。 OLE DB は標準 API であ る ため、InfoMaker はど の よ う な OLE DB デー タ プ ロ バ イ ダへア ク セ ス す る 場合で も 共通の イ ン タ フ ェ ー ス を 使用 し ます。 InfoMaker が必要 と す る オブジ ェ ク ト イ ン タ フ ェース を OLE DB デー タ プ ロ バ イ ダがサポー ト し てい る 限 り 、 InfoMaker は OLE DB イ ン タ フ ェ ース を経由 し てその OLE DB デー タ プ ロ バ イ ダにア ク セ ス で き ます。 図 4-1 では、 OLE DB 接続の一般的な コ ン ポーネ ン ト を示 し ます。 48 InfoMaker 第4章 OLE DB イ ン タ フ ェ ース 図 4-1: OLE DB 接続のコ ンポーネ ン ト OLE DB デー タ プ ロバイ ダの入手 InfoMaker を使用 し てい る 場合、 InfoMaker で要求 さ れ る OLE DB オブ ジ ェ ク ト イ ン タ フ ェース をサポー ト す る も のであれば、 Sybase 社以外 のベン ダか ら 入手 し た OLE DB デー タ プ ロ バ イ ダであ っ て も デー タ に ア ク セ スす る こ と がで き ます。 ほ と ん ど の場合、 こ の よ う な ド ラ イ バ を InfoMaker で使用で き ますが、 Sybase 社ではほかのベン ダが提供す る ド ラ イ バの正式な接続検証テ ス ト は実施 し てい ません。 サポー ト し ている OLE DB のバージ ョ ン OLE DB イ ン タ フ ェ ース は OLE DB デー タ プ ロ バ イ ダ を経由 し てデー タ ベー ス にア ク セ ス す る 際に PBOLE115.DLL と い う 名前の DLL を使 用 し ます。 デー タ ベース と の接続 49 OLE DB イ ン タ フ ェ ース を使用する ための準備 必要 と さ れる OLE DB のバージ ョ ン OLE DB イ ン タ フ ェース を使用 し て OLE DB デー タ ベース にア ク セ ス す る には、 OLE DB バージ ョ ン 2.0 以上をサポー ト す る OLE DB デー タ プ ロ バ イ ダ を経由 し て接続す る 必要があ り ます。 OLE DB 仕様の詳 細については、 Microsoft ラ イ ブ ラ リ のサイ ト http://msdn.microsoft.com/enus/library/default.aspx を参照 し て く だ さ い。 OLE DB イ ン タ フ ェ ース を使用する ための準備 イ ン タ フ ェ ース を定義 し 、 OLE DB を経由 し てデー タ プ ロ バ イ ダに接 続す る 前に、 次の操作を行い ます。 1 デー タ ベース サーバ、 ネ ッ ト ワー ク 、 お よ び ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ール し て設定 し ます。 2 OLE DB イ ン タ フ ェ ース、 お よ びデー タ ソ ース にア ク セ スす る た めの OLE DB デー タ プ ロ バ イ ダ を イ ン ス ト ール し ます。 3 マシ ン に Microsoft Data Access Components ソ フ ト ウ ェ ア を イ ン ス ト ール し ます。 4 必要であれば、 OLE DB デー タ ソ ース を定義 し ます。 デー タ ベース サーバを イ ン ス ト ールお よ び設定 し 、ネ ッ ト ワー ク ソ フ ト ウ ェ ア と ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ールす る 必要が あ り ます。 ス テ ッ プ 1 : デー タ サーバのイ ン ス ト ール と 設定 v デー タ ベース サーバ、 ネ ッ ト ワー ク、 ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ール し 、 設定する 1 サーバに適切なデータ ベース ソ フ ト ウ ェ アがイ ン ス ト ールさ れ、実 行 さ れてい る こ と を確認 し ます。 デー タ ベー ス サーバ ソ フ ト ウ ェ ア はデー タ ベー ス のベン ダ か ら 入手す る 必要が あ り ま す。 イ ン ス ト ールの手順については、 デー タ ベース ベン ダのマニ ュ アルを参照 し て く だ さ い。 50 InfoMaker 第4章 2 OLE DB イ ン タ フ ェ ース マシ ン上に必要なネ ッ ト ワ ー ク ソ フ ト ウ ェ ア (TCP/IP な ど) が イ ン ス ト ール、 実行 さ れていて、 自分のサ イ ト のデー タ サーバへ接 続で き る よ う に正 し く 設定 さ れてい る こ と を確認 し ま す。 た と え ば、 使用 し てい る ネ ッ ト ワ ー ク プ ロ ト コ ルやオペレーテ ィ ン グ シ ス テ ム プ ラ ッ ト フ ォーム をサポー ト す る 、 ネ ッ ト ワ ー ク コ ミ ュ ニ ケーシ ョ ン ド ラ イ バを イ ン ス ト ールす る 必要があ り ます。 イ ン ス ト ールお よ び設定の手順については、 ネ ッ ト ワ ー ク ま たは デー タ ソ ース の管理者にお問い合わせ く だ さ い。 3 必要に応 じ て、 InfoMaker が イ ン ス ト ール さ れてい る ク ラ イ ア ン ト マ シ ン それぞれに、 適切な ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ール し ます。 ク ラ イ ア ン ト ソ フ ト ウ ェ アの要件 ク ラ イ ア ン ト ソ フ ト ウ ェ アの要件を確認す る には、 デー タ ベース ベン ダのマニ ュ アルを参照 し て く だ さ い。 ス テ ッ プ 2 :OLE DB イ ン タ フ ェ ース と デー タ プ ロバイ ダのイ ン ス ト ール InfoMaker のセ ッ ト ア ッ プ プ ロ グ ラ ム で、 カ ス タ ム イ ン ス ト ールを選 択 し 、デー タ ベース にア ク セ スす る OLE DB プ ロ バ イ ダ を選択 し ます。 InfoMaker 付属の OLE DB デー タ プ ロ バ イ ダ を イ ン ス ト ール し て も 、ほ かのベ ン ダ か ら 提供 さ れ る デー タ プ ロ バ イ ダ を イ ン ス ト ール し て も か ま い ません。 ス テ ッ プ 3 :Microsoft Data Access Components ソ フ ト ウ ェ アのイ ン ス ト ール InfoMaker OLE DB イ ン タ フ ェース は、 Microsoft Data Access Components (MDAC) バージ ョ ン 2.8 以降の ソ フ ト ウ ェ アの機能を必 要 と し ます。 バージ ョ ン 2.8 は、 Windows XP Service Pack 2 お よ び Windows Server 2003 と と も に配布 さ れます。 マシ ン の MDAC のバージ ョ ン を確認す る には、 MDAC のバージ ョ ン を確 認す る ペー ジ のサ イ ト http://support.microsoft.com/kb/301202/ja か ら MDAC Component Checker ユーテ ィ リ テ ィ を ダ ウ ン ロ ー ド し ます。 Windows Vista オペ レ ーテ ィ ン グ シ ス テ ム では、 Windows Data Access Components (DAC) 6.0 は Vista で動作す る ための変更を含んでい ます が、 それ以外は MDAC 2.8 と 機能上同等です。 MDAC と と も に イ ン ス ト ール さ れる OLE DB デー タ プ ロバイ ダ 自動的に SQL Server (SQLOLEDB) と ODBC (MSDASQL) のプ ロ バ イ ダ を含むい く つかの Microsoft OLE DB デー タ プ ロ バ イ ダが MDAC と と も に イ ン ス ト ール さ れ ます。 デー タ ベース と の接続 51 OLE DB イ ン タ フ ェ ースの定義 ス テ ッ プ 4 :OLE DB デー タ ソ ースの定義 OLE DB デー タ プ ロ バ イ ダ を イ ン ス ト ール し た ら 、 そのデー タ プ ロ バ イ ダが ア ク セ ス す る OLE DB デー タ ソ ー ス を 定義す る 必要が あ り ま す。 デー タ ソ ース を定義す る 方法は、 使用 し てい る OLE DB デー タ と そのデー タ の提供ベン ダに よ っ て異な り ます。 ODBC デー タ プ ロ バ イ ダ (Microsoft OLE DB Provider for ODBC な ど) に接続す る 場合は、 直接 ODBC に接続す る 場合 と 同 じ よ う に ODBC デー タ ソ ース を定義す る 必要があ り ます。ODBC デー タ ソ ース を定義 す る には、 Microsoft の ODBC Data Source Administrator を使用 し ます。 Windows の コ ン ト ロ ール パネ ルか ら 、 あ る いは InfoMaker のデー タ ベース ペ イ ン タ か DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス か ら 、 こ のユーテ ィ リ テ ィ にア ク セ ス で き ます。 OLE DB イ ン タ フ ェ ースの定義 OLE DB のプ ロ フ ァ イ ルの作成 OLE DB イ ン タ フ ェース を使用す る 接続を定義す る には、DB プ ロ フ ァ イ ル設定 - OLE DB ダ イ ア ロ グ ボ ッ ク ス で基本接続パ ラ メ ー タ な ど の 値を指定 し てデー タ ベー ス プ ロ フ ァ イ ルを作成す る 必要があ り ま す。 作成後は、 いつで も こ のプ ロ フ ァ イ ルを選択 し て開発環境か ら デー タ に接続す る こ と がで き ます。 デー タ ベース プ ロ フ ァ イ ルの定義方法については、 6 ページの 「デー タ ベース プ ロ フ ァ イ ルの使い方」 を参照 し て く だ さ い。 接続パラ メ ー タ の指定 52 接続パ ラ メ ー タ の [プ ロ バ イ ダ] お よ び [デー タ ソ ース] の値を指定 す る 必要があ り ま す。 [プ ロ バ イ ダ] ド ロ ッ プダ ウ ン リ ス ト の イ ン ス ト ール済みのデー タ プ ロ バ イ ダの リ ス ト か ら デー タ プ ロ バ イ ダ を選 択 し ます。 [デー タ ソ ース] の値は、 使用す る デー タ ソ ース接続の種 類に よ っ て異な り ます。 以下に例を示 し ます。 • Microsoft OLE DB Provider for ODBC を使用 し て EAS Demo DB に 接続す る 場合は、 [プ ロ バ イ ダ] の値 と し て 「MSDASQL」 を選択 し 、[デー タ ソ ース] の値 と し て実際の ODBC デー タ ソ ース名 ( こ の場合は EAS Demo DB) を入力 し ます。 • Microsoft OLE DB Provider for SQL Server を使用す る 場合は、[プ ロ バ イ ダ] の値 と し て 「SQLOLEDB」 を選択 し 、 [デー タ ソ ース] の 値 と し て実際のサーバ名を入力 し ます。 複数のデー タ ベース イ ン ス タ ン ス を持つ こ と がで き る ため、 [拡張プ ロ パテ ィ ] フ ィ ール ド でデー タ ベース名 (た と えば Database=Pubs) も 使用す る 必要があ り ます。 InfoMaker 第4章 デー タ リ ン ク API の 使い方 OLE DB イ ン タ フ ェ ース [デー タ リ ン ク ] オプシ ョ ン を使 う と 、 Microsoft デー タ リ ン ク API に ア ク セ ス し 、 フ ァ イ ルを定義 し た り 、 OLE DB 接続情報が格納 さ れた 既存の フ ァ イ ルを使用 し た り す る こ と がで き ます。デー タ リ ン ク フ ァ イ ルは、 .udl と い う 拡張子で識別 さ れます。 デー タ リ ン ク フ ァ イ ルを 使用 し てデー タ ソ ースへ接続す る 場合は、DB プ ロ フ ァ イ ル設定 - OLE DB ダ イ ア ロ グ ボ ッ ク ス で指定 し たほかの設定値はすべて無視 さ れ ま す。 こ のオプシ ョ ン を起動す る には、 [接続] タ ブの [フ ァ イ ル名] チ ェ ッ ク ボ ッ ク ス を選択 し て [フ ァ イ ル名] ボ ッ ク ス の隣のボ タ ン を ク リ ッ ク し ま す。 ま た、 デー タ ベー ス ペ イ ン タ の [使用で き る DB イ ン タ フ ェ ー ス] の リ ス ト で、 OLE DB イ ン タ フ ェ ー ス に含 ま れ る Manage Data Links ユーテ ィ リ テ ィ を ダブル ク リ ッ ク し て も デー タ リ ン ク API を起動で き ます。 デー タ リ ン ク API の使い方についての詳細は、 Microsoft MSDN ラ イ ブ ラ リ のサイ ト http://msdn.microsoft.com/en-us/library/ms713643.aspx のマニ ュ アル 『OLE DB Programmer's Guide』 を参照 し て く だ さ い。 デー タ ベース と の接続 53 OLE DB イ ン タ フ ェ ースの定義 54 InfoMaker 第 3 部 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースの使い方 第 3 部では、 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ース を 使用 し て ア ク セ スするデー タ ベース接続を セ ッ ト ア ッ プお よび定義する方法について説明 し ます。 第 5 章 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースの使い方 こ の章について こ の章では、 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェース の概要につ いて説明 し ます。 以降の章では、 デー タ ベー ス を使用す る ための 準備や、 デー タ にア ク セ スす る ための固有のデー タ ベース イ ン タ フ ェース パ ラ メ ー タ の定義の し かたについて解説 し ます。 内容 項目 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェース について デー タ ベース イ ン タ フ ェ ース接続の コ ン ポーネ ン ト ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェース の使い方 ページ 57 58 59 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースについて ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェース では、 さ ま ざ ま なデー タ ベースや DBMS と ネ イ テ ィ ブな接続がで き ます。 こ の章では、 ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を 使用 し てデー タ ベー ス に接続をす る 方法について解説 し ます。 サポー ト さ れ る すべてのネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス の一覧については、オ ン ラ イ ン ヘルプの「サポー ト し てい る デー タ ベース イ ン タ フ ェ ース」 を参照 し て く だ さ い。 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェース を使用す る と 、 InfoMaker か ら デー タ ベース に直接 (ネ イ テ ィ ブ) に接続 し ます。 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェース は、ベン ダ固有のデー タ ベー ス API を経由 し て特定のデー タ ベー ス と 接続 を行 う ために、 そ れ ぞ れ専用 の イ ン タ フ ェ ー ス DLL を 使用 し ま す。 た と え ば Microsoft SQL Server の SQL Native Client イ ン タ フ ェース は、 デー タ ベー ス にア ク セ ス す る ために PBSNC115.DLL と い う DLL を使 用 し ま す。 ま た、 Oracle 11g デー タ ベー ス イ ン タ フ ェ ー ス は、 PBORA115.DLL を使用 し てデー タ ベース にア ク セ ス し ます。 デー タ ベース と の接続 57 デー タ ベース イ ン タ フ ェ ース接続の コ ンポーネ ン ト こ れに対 し て標準デー タ ベース イ ン タ フ ェース接続の場合は、 標準 API を使用 し てデー タ ベース にア ク セ ス し ます。 た と えば、 InfoMaker は イ ン タ フ ェース DLL (PBODB115.DLL) を使用 し て ODBC ド ラ イ バ マネージ ャ や対応す る ド ラ イ バ と 通信 し て、 ODBC デー タ ソ ース に ア ク セ ス し ます。 デー タ ベース イ ン タ フ ェ ース接続の コ ンポーネ ン ト ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を使用 し てデー タ ベー ス に ア ク セ ス す る 場合、 デー タ ベース に到達す る ま でにい く つかの レ イ ヤ を経由 し ます。 それぞれの レ イ ヤは、 デー タ ベー ス 接続におけ る 独立 し た コ ン ポーネ ン ト で あ り 、 レ イ ヤ ご と に提供 し て い る ベ ン ダ が異 な っ てい る 可能性があ り ます。 58 InfoMaker 第5章 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースの使い方 図 5-1: デー タ ベース接続の コ ンポーネ ン ト デー タ ベー ス接続の特定の コ ン ポーネ ン ト を示す図については、 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェース を説明 し てい る 章の 「基本 ソ フ ト ウ ェ ア コ ン ポーネ ン ト 」 を参照 し て く だ さ い。 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースの使い方 ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を使用 し てデー タ ベー ス に ア ク セ スす る には、 い く つかの基本ス テ ッ プ を実行 し ます。 デー タ ベース と の接続 59 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースの使い方 ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を経由 し てデー タ ベー ス に 接続す る には、 まず、使用す る デー タ ベース を準備 し ます。デー タ ベー ス を準備す る と 、InfoMaker か ら そのデー タ にア ク セ ス し 利用で き る よ う にな り ます。 デー タ ベース を使用す る ための準備 InfoMaker を起動 し 、 デー タ ベー ス イ ン タ フ ェ ー ス を定義 し てデー タ ベース に接続す る 前に、InfoMaker の外部の環境でデー タ ベース と 接続 す る ための準備が必要です。 各デー タ ベー ス に よ っ て必要な条件は異 な り ますが、 一般に、 デー タ ベー ス を準備す る には以下の手順を実行 し ます。 v InfoMaker で使用するデー タ ベース を準備する 1 必要なデー タ ベース サーバ ソ フ ト ウ ェ アが、 サ イ ト に正 し く イ ン ス ト ール さ れ、 設定 さ れてい る こ と を確認 し ます。 2 デー タ ベース サーバに接続す る ためにネ ッ ト ワー ク ソ フ ト ウ ェ アが必要 と な る 場合には、 ネ ッ ト ワ ー ク ソ フ ト ウ ェ アがサ イ ト と ク ラ イ ア ン ト マシ ン に正 し く イ ン ス ト ール さ れ、 設定 さ れてい る こ と を確認 し ます。 3 必要なデー タ ベース ク ラ イ ア ン ト ソ フ ト ウ ェ アが ク ラ イ ア ン ト コ ン ピ ュ ー タ に正 し く イ ン ス ト ール さ れ、 設定 さ れてい る こ と を 確認 し ます (通常、 ク ラ イ ア ン ト コ ン ピ ュ ー タ は InfoMaker が実 行 さ れてい る コ ン ピ ュ ー タ です)。 ク ラ イ ア ン ト ソ フ ト ウ ェ アは、 デー タ ベース ベン ダか ら 入手す る 必要が あ り ま す。 ま た、 イ ン ス ト ールす る ク ラ イ ア ン ト ソ フ ト ウ ェ アのバージ ョ ン が、 以下をすべてサポー ト し てい る こ と を確 認 し て く だ さ い。 ク ラ イ ア ン ト マシ ン上で稼働 し てい る オペレーテ ィ ン グ シ ス テム ア ク セ スす る デー タ ベース のバージ ョ ン 稼働 し てい る InfoMaker のバージ ョ ン 4 InfoMaker の外部の環境で、 ア ク セ ス し たいサーバやデー タ ベース に接続で き る こ と を確認 し ます。 デー タ ベース ご と の具体的な手順については、 ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェース についての章の 「デー タ ベース に接続す る ための準 備」 を参照 し て く だ さ い。 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ー スのイ ン ス ト ールにつ いて 60 デー タ ベー ス を使用す る ための準備を し た後で、 デー タ ベー ス にア ク セ ス す る ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を イ ン ス ト ールす る 必要があ り ます。 詳細については、 それぞれの イ ン タ フ ェ ー ス の説 明を参照 し て く だ さ い。 InfoMaker 第5章 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ー スの定義 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースの使い方 デー タ ベー ス にア ク セ スす る 準備を終え た ら 、 InfoMaker を起動 し て、 デー タ ベー ス イ ン タ フ ェ ー ス を 定義 し ま す。 デー タ ベー ス イ ン タ フ ェ ー ス を定義す る には、 その イ ン タ フ ェ ース の DB プ ロ フ ァ イ ル設 定 ダ イ ア ロ グ ボ ッ ク ス に適切な値を入力 し て、デー タ ベース プ ロ フ ァ イ ルを作成す る 必要があ り ます。 一般的な手順については、 7 ページの 「デー タ ベース プ ロ フ ァ イ ルの 作成について」 を参照 し て く だ さ い。特定のデー タ ベース に固有のデー タ ベース イ ン タ フ ェース パ ラ メ ー タ の定義方法については、ご使用の デー タ ベース イ ン タ フ ェ ース についての章の 「デー タ ベース に接続す る ための準備」 を参照 し て く だ さ い。 詳細について 以降の章では、各ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ース の使用に関 す る 一般的な内容について説明 し ます。 詳細については、 以下を参照 し て く だ さ い。 • デー タ ベース に接続す る 方法を解説 し たテ ク ニ カル ド キ ュ メ ン ト があ る か ど う か確認 し て く だ さ い。 接続に関す る 新 し い情報は、 Sybase サポー ト と ダウン ロー ド のサイ ト http://www.sybase.com/support か ら 取得で き ます。 • デー タ ベース と の接続 デー タ ベース サーバや ク ラ イ ア ン ト ソ フ ト ウ ェ アの イ ン ス ト ー ルや設定をす る 場合は、 そのサ イ ト のネ ッ ト ワ ー ク 管理者 ま たは シ ス テ ム管理者に相談 し て く だ さ い。 61 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースの使い方 62 InfoMaker 第 6 章 Adaptive Server Enterprise の使 い方 こ の章について こ の章では、 InfoMaker において Adaptive Server Enterprise デー タ ベース イ ン タ フ ェース を使用す る 方法について解説 し ます。 内容 項目 サポー ト し てい る Adaptive Server のバージ ョ ン サポー ト し てい る Adaptive Server デー タ 型 Adaptive Server の基本 ソ フ ト ウ ェ ア コ ン ポーネ ン ト Adaptive Server デー タ ベース を使用す る ための準備 Adaptive Server デー タ ベース イ ン タ フ ェ ース の定義 Open Client のセキ ュ リ テ ィ サービ ス Open Client のデ ィ レ ク ト リ サービ ス の使い方 Adaptive Server ス ト ア ド プ ロ シージ ャ におけ る PRINT 文の使 い方 デー タ ベース間の結合に基づ く レ ポー ト の作成 Adaptive Server デー タ ベー ス におけ る ス ト ア ド プ ロ シージ ャ の イ ン ス ト ール ページ 63 64 67 67 70 71 73 77 77 77 サポー ト し ている Adaptive Server のバージ ョ ン SYC Adaptive Server デー タ ベー ス イ ン タ フ ェ ー ス を 使用 し て、 Adaptive Server バージ ョ ン 11.x、 12.x、 お よ び 15.x にア ク セ ス が で き ます。 こ の イ ン タ フ ェ ース を使用 し たほかの Open Server™ プ ロ グ ラ ムへのア ク セ ス は、サポー ト し てい ません。SYC デー タ ベー ス イ ン タ フ ェ ー ス は、 PBSYC115.DLL と い う DLL を 使用 し て Open Client™ CT-Lib API 経由でデー タ ベース にア ク セ ス し ます。 デー タ ベース と の接続 63 サポー ト し ている Adaptive Server デー タ 型 ASE Adaptive Server デー タ ベース イ ン タ フ ェ ース を使用 し て、Adaptive Server バージ ョ ン 15.x に ア ク セ ス す る こ と も で き ま す。 こ の イ ン タ フ ェ ース を使用 し たほかの Open Server™ プ ロ グ ラ ムへのア ク セ ス は、 サポー ト し てい ません。 Adaptive Server デー タ ベース イ ン タ フ ェース は、 PBASE115.DLL と い う DLL を使用 し て Open Client CT-Lib API 経 由でデー タ ベー ス にア ク セ ス し ます。 こ の イ ン タ フ ェ ース を使用す る た め に は、 Adaptive Server 15 ク ラ イ ア ン ト が ク ラ イ ア ン ト の コ ン ピ ュ ー タ に イ ン ス ト ール さ れ て い る 必要 が あ り ま す。 ASE イ ン タ フ ェ ース は、 128 文字ま での大 き な識別子をサポー ト し ます。 Client Library API Adaptive Server デー タ ベー ス イ ン タ フ ェ ー ス は、 Open Client™ CTLibrary (CT-Lib) ア プ リ ケーシ ョ ン プ ロ グ ラ ミ ン グ イ ン タ フ ェ ー ス (API) を使用 し てデー タ ベース にア ク セ ス し ます。 Adaptive Server デー タ ベース に接続す る と 、 InfoMaker に よ っ て、 必要 な API 呼び出 し が行 わ れ ま す。 し た が っ て、 デー タ ベー ス イ ン タ フ ェ ース を使用す る 上で、 CT -Lib に関す る 知識は必要あ り ません。 サポー ト し ている Adaptive Server デー タ 型 Adaptive Server イ ン タ フ ェース は、 レ ポー ト において、 表 6-1 に示す Sybase デー タ 型をサポー ト し てい ます。 64 InfoMaker 第6章 Adaptive Server Enterprise の使い方 表 6-1: サポー ト し ている Adaptive Server Enterprise デー タ 型 Binary NVarChar BigInt (15.x 以降) Bit Real SmallDateTime Char (66 ページ の 「カ ラ ム の長 さ の制限」 SmallInt を参照) DateTime SmallMoney Decimal Text Double precision Timestamp Float TinyInt Identity UniChar Image UniText (15.x 以降) Int UniVarChar Money VarBinary NChar VarChar Numeric Adaptive Server 15.0 以降では、 InfoMaker は符号付 き の bigint、 int、 お よ び smallint デー タ 型 と 同 じ よ う に符号な し のデー タ 型 も サポー ト し ま す。 bigint、 int、 numeric、 smallint、 tinyint、 unsigned bigint、 unsigned int、 お よ び unsigned smallint デー タ 型 も 、 Adaptive Server 15.0 以降では Identity カ ラ ム と し て使用で き ます。 Unicode デー タ へのア ク セス InfoMaker は、ANSI/DBCS お よ び Unicode の両方のデー タ ベース のデー タ に接続、 保存、 検索す る こ と がで き ます。 文字デー タ ま たは コ マ ン ド テ キ ス ト がデー タ ベース に送信 さ れ る と 、InfoMaker は UTF8 デー タ ベース パ ラ メ ー タ が 0 に設定 さ れてい る (デフ ォ ル ト ) 場合は、 DBCS 文字列を送信 し ます。 UTF8 が 1 に設定 さ れてい る 場合、 InfoMaker は UTF-8 文字列を送信 し ます。UTF-8 文字列を受け取 る には、デー タ ベー ス サーバが正 し く 設定 さ れてい る 必要があ り ま す。 詳細については、 オ ン ラ イ ン ヘルプの UTF8 デー タ ベース パ ラ メ ー タ の説明を参照 し て く だ さ い。 Adaptive Server デー タ ベース サーバで使用 さ れ る 文字セ ッ ト は、 サー バのすべて のデー タ ベー ス に適用 さ れ ま す。 サーバの文字セ ッ ト が UTF-8 の場合、 nchar と nvarchar デー タ 型は UTF-8 デー タ を格納 し ます。 Unicode デー タ 型 unichar と univarchar は、Unicode デー タ をサポー ト す る ために、 Adaptive Server 12.5 で導入 さ れ ま し た。 こ れ ら のデー タ 型を 持つカ ラ ムは、 Unicode デー タ だけ を格納 し ます。 その よ う な カ ラ ムに 保存 さ れ る デー タ は、 明示的に Unicode に変換 さ れ る 必要があ り ます。 こ の変換はデー タ ベー ス サーバ ま たは ク ラ イ ア ン ト が処理す る 必要 があ り ます。 デー タ ベース と の接続 65 サポー ト し ている Adaptive Server デー タ 型 Adaptive Server 12.5.1 以降に Unicode デー タ に関 し て、追加サポー ト が 追加 さ れ ま し た。 詳細については、 Adaptive Server の使用バージ ョ ン のマニ ュ アルを参照 し て く だ さ い。 ペ イ ン タ での表示値の 違い unichar お よ び univarchar デー タ 型は UTF-16 エ ン コ ーテ ィ ン グ を サポー ト し ます。 そのため、 unichar あ る いは univarchar 文字はそれぞれ 2 バ イ ト の ス ト レ ー ジ を 必要 と し ま す。 次 の 例 は、 1 unichar カ ラ ム が 10 Unicode 文字を保持す る テーブルを作成 し ます。 create table unitbl (unicol unichar(10)) デー タ ベー ス ペ イ ン タ では、 カ ラ ム が 20 バ イ ト の ス ト レージ を必要 と す る ため、カ ラ ム を unichar(20) と し て表示 し ます。こ れは、Sybase Central でカ ラ ム を表示す る 方法 と 一致 し てい ます。 し か し 、 レ ポー ト ペ イ ン タ におけ る カ ラ ムの仕様ビ ュ ーのデー タ 型 と デー タ ベース におけ る テーブルのカ ラ ム のデー タ 型間でのマ ッ ピ ン グ は、 1 対 1 ではあ り ません。 カ ラ ムの仕様ビ ュ ーでのデー タ 型は、 デー タ ウ ィ ン ド ウ ® カ ラ ムのデー タ 型 と デー タ ウ ィ ン ド ウ カ ラ ム の長 さ を 表示 し ま す。 カ ラ ム の長 さ は文字数にな り ま す。 そのため、 Adaptive Server unichar(20) カ ラ ムは、 カ ラ ムの仕様ビ ュ ーでは char(10) と し て表示 さ れ ます。 カ ラ ムの長 さ の制限 Adaptive Server 12.0 以下は、 カ ラ ム の長 さ を 255 バ イ ト に制限 し てい ます。Adaptive Server 12.5.x 以降は、Char、VarChar、Binary、お よ び VarBinary デー タ 型用の ワ イ ド カ ラ ム を サポー ト し 、 サーバが使用す る 論理ペー ジ サ イ ズ と ロ ッ ク ス キームに依存 し ます。 InfoMaker で は、 以下の条件の時に、 Adaptive Server 12.5.x で Char と VarChar デー タ 型用の ワ イ ド カ ラ ム を使用で き ます。 • Release デー タ ベース パ ラ メ ー タ を 12.5 以降に設定 • デー タ ベース ア ク セ ス に Open Client 12.5.x 以降を使用 最大幅の利点を享受す る には、 大容量の論理ページ サ イ ズ を使用す る よ う にデー タ ベース で設定す る 必要があ り ます。 ワ イ ド カ ラ ム と 設定の問題に関す る 詳細については、 製品マニ ュ アル の http://www.sybase.com/support/manuals/ を 参 照 し て く だ さ い。 Release デー タ ベー ス パ ラ メ ー タ の詳細については、 オ ン ラ イ ン ヘル プ を参照 し て く だ さ い。 サイ ト 66 InfoMaker 第6章 Adaptive Server Enterprise の使い方 Adaptive Server の基本 ソ フ ト ウ ェ ア コ ンポーネ ン ト 図 6-1 は、InfoMaker か ら Adaptive Server デー タ ベース にア ク セ スす る ために必要な基本 ソ フ ト ウ ェ ア コ ン ポーネ ン ト を示 し てい ます。 図 6-1: Adaptive Server Enterprise 接続のコ ンポーネ ン ト Adaptive Server デー タ ベース を使用する ための準備 デー タ ベース イ ン タ フ ェ ース を定義 し 、InfoMaker か ら Adaptive Server デー タ ベー ス に接続す る 前に、 以下の手順に従 っ て使用す る デー タ ベース を準備 し ます。 1 デー タ ベース と の接続 接続に必要なデー タ ベース サーバ、 ネ ッ ト ワー ク 、 ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ール し 、 設定 し ます。 67 Adaptive Server デー タ ベース を使用する ための準備 2 Adaptive Server デー タ ベース イ ン タ フ ェ ース を イ ン ス ト ール し ま す。 3 InfoMaker の外部の環境で、 Adaptive Server に接続で き る こ と を確 認 し ます。 4 sybsystemprocs デー タ ベース に必要な InfoMaker ス ト ア ド プ ロ シー ジ ャ を イ ン ス ト ール し ます。 InfoMaker で使用す る Adaptive Server デー タ ベース を準備す る には、基 本的に共通の以下の 4 つの操作を し ます。 Adaptive Server 用にデー タ ベース サーバ、 ネ ッ ト ワ ー ク 、 ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ール し 、 設定す る 必要があ り ます。 ス テ ッ プ 1 : デー タ ベース サーバのイ ン ス ト ール と 設定 v デー タ ベース サーバ、 ネ ッ ト ワー ク、 ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ール し 、 設定する 1 デー タ ベース プ ロ フ ァ イ ルに指定 さ れてい る サーバ上に、Adaptive Server デー タ ベー ス ソ フ ト ウ ェ アが イ ン ス ト ール さ れてい る こ と を確認 し ます。 Sybase 社のデー タ ベー ス サーバ ソ フ ト ウ ェ ア を 入手す る 必要が あ り ます。 イ ン ス ト ールの手順については、Adaptive Server のマニ ュ アルを参 照 し て く だ さ い。 2 自分のマシ ン上に、 サポー ト し てい る ネ ッ ト ワ ー ク ソ フ ト ウ ェ ア (TCP/IP な ど) が イ ン ス ト ール さ れ、 稼働 し てい る こ と に加え て、 自分のサ イ ト か ら デー タ ベース サーバに接続す る 設定が正 し い こ と を確認 し ます。 た と えば、 使用 し てい る ネ ッ ト ワ ー ク プ ロ ト コ ルやオペレーテ ィ ン グ シ ス テ ム プ ラ ッ ト フ ォ ーム を サポー ト す る 、ネ ッ ト ワ ー ク コ ミ ュ ニ ケーシ ョ ン ド ラ イ バ を イ ン ス ト ールす る 必要が あ り ま す。 ド ラ イ バは、 Net-Library ク ラ イ ア ン ト ソ フ ト ウ ェ アの一部 と し て イ ン ス ト ール さ れます。 イ ン ス ト ール と 設定の手順については、 ネ ッ ト ワ ー ク ま たはデー タ ベース の管理者に問い合わせて く だ さ い。 3 InfoMaker が イ ン ス ト ール さ れてい る 各 ク ラ イ ア ン ト マシ ンに、必 要な Open Client CT-Library (CT-Lib) ソ フ ト ウ ェ ア を イ ン ス ト ー ル し ます。 Sybase 社の Open Client ソ フ ト ウ ェ ア を入手す る 必要があ り ます。 イ ン ス ト ールす る Open Client のバージ ョ ン が、 以下 を すべて サ ポー ト す る こ と を確認 し ます。 68 InfoMaker 第6章 Adaptive Server Enterprise の使い方 ク ラ イ ア ン ト マシ ン上で稼働 し てい る オペレーテ ィ ン グ シ ス テム ア ク セ スす る Adaptive Server のバージ ョ ン 稼働 し てい る InfoMaker のバージ ョ ン ク ラ イ ア ン ト ソ フ ト ウ ェ アのバージ ョ ンの要件 ASE Adaptive Server イ ン タ フ ェ ー ス を 使用す る た め に は、 Open Client バージ ョ ン 15.x 以上 を イ ン ス ト ールす る 必要が あ り ま す。 SYC Adaptive Server イ ン タ フ ェ ー ス を 使用す る た め に は、 Open Client バージ ョ ン 11.x 以上を イ ン ス ト ールす る 必要があ り ます。 4 自分のサ イ ト か ら デー タ ベース に接続で き る よ う に、 Open Client ソ フ ト ウ ェ アが正 し く 設定 さ れてい る こ と を確認 し ます。 Open Client ソ フ ト ウ ェ ア を イ ン ス ト ールす る と 、 ク ラ イ ア ン ト マ シ ンの Adaptive Server デ ィ レ ク ト リ に SQL.INI 構成フ ァ イ ルが イ ン ス ト ール さ れ ます。 SQL.INI 構成フ ァ イ ルは、 サ イ ト か ら デー タ ベー ス サーバを検出 し 、 接続す る た めに必要な Adaptive Server の情報 を 提供 し ま す。 Open Client ソ フ ト ウ ェ ア と と も に提供 さ れ る 構成ユーテ ィ リ テ ィ を使用す る と 、 SQL.INI の内容の変更や表示がで き ます。 SQL.INI やそ の ほか の構成 フ ァ イ ルの設定につい て は、 Adaptive Server のマニ ュ アルを参照 し て く だ さ い。 5 オペレーテ ィ ン グ シ ス テ ムの必要に応 じ て、 Open Client ソ フ ト ウ ェ アのデ ィ レ ク ト リ がシ ス テ ム パ ス にあ る こ と を確認 し ます。 6 以下の フ ァ イ ルが ク ラ イ ア ン ト マシ ン上に イ ン ス ト ール さ れてい る こ と を確認 し ます。 • Adaptive Server イ ン タ フ ェ ース DLL • ネ ッ ト ワー ク コ ミ ュ ニ ケーシ ョ ン DLL (Windows Sockets 準拠 TCP/IP 用の NLWNSCK.DLL な ど) • デー タ ベース ベン ダ DLL (LIBCT.DLL な ど) ス テ ッ プ 2 : デー タ ベース イ ン タ フ ェ ー スのイ ン ス ト ール InfoMaker のセ ッ ト ア ッ プ プ ロ グ ラ ム で、 標準 イ ン ス ト ールを選択す る か、 カ ス タ ム イ ン ス ト ー ル を 選 択 し た 場 合 は Adaptive Server Enterprise (ASE ま たは SYC) デー タ ベース イ ン タ フ ェ ース を選択 し て く だ さ い。 ス テ ッ プ 3 : 接続の確 認 InfoMaker の外部の環境で、Adaptive Server デー タ ベース サーバに接続 し 、ア ク セ ス し たいデー タ ベース に ロ グ イ ン で き る こ と を確認 し ます。 以下の ツールを実行す る と 、 接続を確認で き ます。 デー タ ベース と の接続 69 Adaptive Server デー タ ベース イ ン タ フ ェ ースの定義 • デー タ ベース サーバ と の接続 Open Client/Open Server Configuration ユーテ ィ リ テ ィ (ま たは Ping ユーテ ィ リ テ ィ ) な ど の ツールは、 自分のマシ ン か ら デー タ ベース サーバにア ク セ ス で き る か ど う か をチ ェ ッ ク し ます。 • デー タ ベース と の接続 ISQL (対話型 SQL ユーテ ィ リ テ ィ ) な ど の ツールは、 デー タ ベー ス に ロ グ イ ン し 、 デー タ ベー ス 操作が実行 で き る か ど う か を チ ェ ッ ク し ま す。 デー タ ベー ス にア ク セ ス す る と き InfoMaker のデー タ ベース プ ロ フ ァ イ ルで使用す る 予定の接 続パ ラ メ ー タ と 、 同 じ 値の接続パ ラ メ ー タ を指定す る こ と をお勧 め し ます。 ス テ ッ プ 4 :InfoMaker ス ト ア ド プ ロ シー ジ ャのイ ン ス ト ール InfoMaker では、 Adaptive Server デー タ ベー ス に最初に接続す る 前に、 sybsystemprocs デー タ ベー ス に特定の ス ト ア ド プ ロ シージ ャ を イ ン ス ト ール し てお く 必要があ り ます。InfoMaker は、 こ の ス ト ア ド プ ロ シー ジ ャ を使用 し て、 DBMS シ ス テ ム カ タ ロ グか ら テーブルやカ ラ ムにつ いての情報を取得 し ます。 sybsystemprocs デー タ ベー ス に InfoMaker ス ト ア ド プ ロ シージ ャ を イ ン ス ト ールす る ために必要な SQL ス ク リ プ ト を実行 し ます。 詳 し い手順については、 77 ページの 「Adaptive Server デー タ ベース に おけ る ス ト ア ド プ ロ シージ ャ の イ ン ス ト ール」 を参照 し て く だ さ い。 Adaptive Server デー タ ベース イ ン タ フ ェ ースの定義 Adaptive Server イ ン タ フ ェ ー ス を介 し た接続を定義す る には、 少な く と も 、DB プ ロ フ ァ イ ル設定 - Adaptive Server Enterprise ダ イ ア ロ グボ ッ ク ス の基本接続パ ラ メ ー タ 用の値を指定 し て、 デー タ ベース プ ロ フ ァ イ ルを作成 し なければな り ません。 次回以降、 こ のデー タ ベース プ ロ フ ァ イ ルを選択す る と 、 開発環境でそのデー タ ベース にいつで も 接続 で き ます。 デー タ ベース プ ロ フ ァ イ ルの定義方法については、 6 ページの 「デー タ ベース プ ロ フ ァ イ ルの使い方」 を参照 し て く だ さ い。 70 InfoMaker 第6章 Adaptive Server Enterprise の使い方 Open Client のセキ ュ リ テ ィ サービ ス Adaptive Server イ ン タ フ ェ ース は、Open Client 11.1.x 以上のネ ッ ト ワ ー ク ベー ス のセ キ ュ リ テ ィ サー ビ ス を ア プ リ ケーシ ョ ン 内で有効にす る DBParm パ ラ メ ー タ を提供 し ます。 必要なデー タ ベース、 セキ ュ リ テ ィ 、 お よ び InfoMaker の 3 つの ソ フ ト ウ ェ ア を 使用すれば、 Open Client のセキ ュ リ テ ィ サービ ス の利点を活かすアプ リ ケーシ ョ ン を構 築で き ます。 Open Client のセキ ュ リ テ ィ サービ ス と は ? Open Client 11.1.x 以上のセ キ ュ リ テ ィ サービ ス に よ り 、 サポー ト さ れ てい る サー ド パーテ ィ のセキ ュ リ テ ィ メ カ ニズ ム (CyberSafe Kerberos な ど) を使用 し て、 アプ リ ケーシ ョ ン に対 し て ロ グ イ ン認証やパケ ッ ト 単位のセ キ ュ リ テ ィ を提供す る こ と がで き ます。 ロ グ イ ン認証は安 全な接続を確立 し 、 パケ ッ ト 単位のセ キ ュ リ テ ィ はネ ッ ト ワ ー ク を介 し たデー タ 転送を保護 し ます。 Open Client のセキ ュ リ テ ィ サービ ス を使用する ための条件 アプ リ ケーシ ョ ン において Open Client のセ キ ュ リ テ ィ サービ ス を使 用す る には、 以下の条件をすべて満た さ なければな り ません。 • Open Client Client-Library (CT-Lib) 11.1.x 以上を使用 し て Adaptive Server デー タ ベース サーバにア ク セ ス し ます。 • ネ ッ ト ワー ク セキ ュ リ テ ィ す。 メ カ ニズ ムお よ び ド ラ イ バが必要で Sybase がサポー ト し てい る ネ ッ ト ワ ー ク セ キ ュ リ テ ィ メ カ ニ ズ ムお よ び Sybase か ら 提供 さ れ る セ キ ュ リ テ ィ ド ラ イ バ を イ ン ス ト ール し 、使用環境に合わせて正 し く 設定 し てお き ます。オペレー テ ィ ン グ シ ス テ ム に よ っ て異な り ますが、 サポー ト さ れてい る セ キ ュ リ テ ィ メ カ ニ ズ ム に は、 Distributed Computing Environment (DCE)セ キ ュ リ テ ィ サービ ス と ク ラ イ ア ン ト 、CyberSafe Kerberos、 お よ び Windows NT LAN Manager Security Services Provider Interface (SSPI) があ り ます。 Sybase 社が Open Client のセ キ ュ リ テ ィ サービ ス を使用 し て動作 確認 し た サー ド パーテ ィ のセ キ ュ リ テ ィ メ カ ニ ズ ム お よ びオペ レーテ ィ ン グ シ ス テ ム の詳細については、 Open Client マニ ュ アル を参照 し て く だ さ い、 デー タ ベース と の接続 71 Open Client のセキ ュ リ テ ィ サービ ス • InfoMaker の外部の安全なサーバにア ク セ ス で き ます。 InfoMaker の外部の環境か ら Open Client 11.1.x 以上を使用 し て安全 な Adaptive Server にア ク セ ス で き なければな り ません。 接続を確認す る には、 ISQL ま たは SQL Advantage な ど の ツールを 使用 し て、 サーバに接続 し デー タ ベー ス に ロ グ イ ン で き る か ど う か をチ ェ ッ ク し ます。 こ の際、接続パ ラ メ ー タ お よ びセキ ュ リ テ ィ オプシ ョ ンには、 InfoMaker アプ リ ケーシ ョ ン で使用す る 予定の値 と 同 じ 値を指定 し ます。 • デー タ ベース イ ン タ フ ェ ース を使用 し ます。 デー タ ベース のア ク セ ス には ASE ま たは SYC Adaptive Server イ ン タ フ ェース を使用 し ます。 • Release DBParm パ ラ メ ー タ にデー タ ベース に適切な値を設定 し ま す。 アプ リ ケーシ ョ ンが Open Client CT-Lib ソ フ ト ウ ェ アの適切なバー ジ ョ ン を利用で き る よ う に、 Release DBParm パ ラ メ ー タ を 11 以上 に設定 し てお き ます。 こ の詳細については、オ ン ラ イ ン ヘルプの Release の ト ピ ッ ク を参 照 し て く だ さ い。 • セ キ ュ リ テ ィ メ カ ニズ ムお よ び ド ラ イ バは要求 さ れたサービ ス を サポー ト し ます。 使用す る セ キ ュ リ テ ィ メ カ ニ ズ ムお よ び ド ラ イ バは、 DBParm が 要求す る サービ ス をサポー ト し ていなければな り ません。 セキ ュ リ テ ィ サービ スの DBParm パラ メ ー タ 71 ページの「Open Client のセキ ュ リ テ ィ サービ ス を使用す る ための条 件」を満た し ていれば、接続用の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス内でセキ ュ リ テ ィ サービ ス の DBParm パ ラ メ ー タ を設定す る こ と がで き ます。 Open Client のセ キ ュ リ テ ィ サー ビ ス を サポー ト す る ために設定す る DBParm パ ラ メ ー タ は、 ロ グ イ ン認証 と パケ ッ ト 単位のセ キ ュ リ テ ィ の 2 種類です。 ログ イ ン認証 DBParm 72 以下の ロ グ イ ン認証 DBParm パ ラ メ ー タ は、 Open Client 11.1.x 以上の 接続プ ロ パテ ィ に相当 し てお り 、 こ れ ら のパ ラ メ ー タ を使用す る こ と で、 アプ リ ケーシ ョ ンが安全な接続を確立す る こ と がで き ます。 InfoMaker 第6章 Adaptive Server Enterprise の使い方 Sec_Channel_Bind Sec_Cred_Timeout Sec_Delegation Sec_Keytab_File Sec_Mechanism Sec_Mutual_Auth Sec_Network_Auth Sec_Server_Principal Sec_Sess_Timeout DBParm パ ラ メ ー タ の設定手順については、 オ ン ラ イ ン ヘルプでそれ ぞれのパ ラ メ ー タ の説明を参照 し て く だ さ い。 パケ ッ ト 単位のセキ ュ リ テ ィ DBParm 以下 の パ ケ ッ ト 単位 セ キ ュ リ テ ィ 用 の DBParm パ ラ メ ー タ は Open Client 11.1.x 以上の接続プ ロ パテ ィ に相当 し てお り 、 ネ ッ ト ワ ー ク を介 し たデー タ 転送を保護 し ます。 パケ ッ ト 単位セ キ ュ リ テ ィ を使用す る と 、 ク ラ イ ア ン ト と サーバ間の通信にオーバーヘ ッ ド が生 じ る 場合が あ り ます。 Sec_Confidential Sec_Data_Integrity Sec_Data_Origin Sec_Replay_Detection Sec_Seq_Detection DBParm パ ラ メ ー タ の設定手順については、 オ ン ラ イ ン ヘルプでそれ ぞれのパ ラ メ ー タ の説明を参照 し て く だ さ い。 Open Client のデ ィ レ ク ト リ サービ スの使い方 Adaptive Server イ ン タ フ ェ ース は、Open Client 11.1.x 以上のネ ッ ト ワ ー ク ベー ス のデ ィ レ ク ト リ サー ビ ス を ア プ リ ケーシ ョ ン 内で有効にす る DBParm パ ラ メ ー タ を提供 し ます。 必要なデー タ ベース、 デ ィ レ ク ト リ サービ ス、お よ び InfoMaker の 3 つの ソ フ ト ウ ェ ア を使用すれば、 Open Client のデ ィ レ ク ト リ サー ビ ス の利点 を 活かすア プ リ ケーシ ョ ン を構築で き ます。 デー タ ベース と の接続 73 Open Client のデ ィ レ ク ト リ サービ スの使い方 Open Client のデ ィ レ ク ト リ サービ ス と は ? Open Client 11.1.x 以上のデ ィ レ ク ト リ サービ ス に よ り 、 サポー ト さ れ てい る サー ド パーテ ィ のデ ィ レ ク ト リ サービ ス製品 (Windows レ ジ ス ト リ な ど) をデ ィ レ ク ト リ サービ ス プ ロ バ イ ダ と し て使用す る こ と が で き ます。 デ ィ レ ク ト リ サービ ス は、 環境内のネ ッ ト ワ ー ク エ ン テ ィ テ ィ (ユーザ、 サーバ、 プ リ ン タ な ど) の制御お よ び管理を集中化 し ます。 Open Client のデ ィ レ ク ト リ サービ ス を使用する ための条件 アプ リ ケーシ ョ ン において Open Client のデ ィ レ ク ト リ サービ ス を使 用す る には、 以下の条件をすべて満た さ なければな り ません。 • Open Client-Library (CT-Lib) 11.x 以上を使用 し て Adaptive Server デー タ ベース サーバにア ク セ ス し ます。 • Sybase がサポー ト し てい る デ ィ レ ク ト リ サービ ス プ ロ バ イ ダ ソ フ ト ウ ェ アお よ び Sybase か ら 提供 さ れ る デ ィ レ ク ト リ ド ラ イ バ を イ ン ス ト ール し 、 使用環境に合わせて正 し く 設定 し てお き ます。 オペレーテ ィ ン グ シ ス テ ム に よ っ て異な り ますが、 サポー ト さ れ てい る セ キ ュ リ テ ィ メ カ ニズ ム には、 Windows レ ジ ス ト リ お よ び Distributed Computing Environment Cell Directory Services(DCE/CDS) があ り ます。 Sybase 社が Open Client のデ ィ レ ク ト リ サービ ス を使用 し て動作 確認 し たデ ィ レ ク ト リ サー ビ ス プ ロ バ イ ダお よ びオペ レ ーテ ィ ン グ シ ス テ ム の詳細については、 Open Client のマニ ュ アルを参照 し て く だ さ い。 • InfoMaker の外部の環境か ら Open Client 11.1.x 以上を使用 し て安全 な Adaptive Server にア ク セ ス で き なければな り ません。 接続を確認す る には、 ISQL ま たは SQL Advantage な ど の ツールを 使用 し て、 サーバに接続 し デー タ ベー ス に ロ グ イ ン で き る か ど う か をチ ェ ッ ク し ます。 こ の際、接続パ ラ メ ー タ お よ びデ ィ レ ク ト リ サービ ス オプシ ョ ンには、InfoMaker アプ リ ケーシ ョ ン で使用す る 予定の値 と 同 じ 値を指定 し ます。 • 74 デー タ ベース のア ク セ ス には ASE ま たは SYC Adaptive Server イ ン タ フ ェース を使用 し ます。 InfoMaker 第6章 • Adaptive Server Enterprise の使い方 デー タ ベース プ ロ フ ァ イ ルにサーバ名を指定す る 際には、 デ ィ レ ク ト リ サー ビ ス プ ロ バ イ ダ に要求 さ れて い る 構文 を 使用 し な け ればな り ません。 各プ ロ バ イ ダには、 デ ィ レ ク ト リ エ ン ト リ 名を 指定す る 形式に基づい た 構文 を そ れぞれ使用す る 必要が あ り ま す。 各デ ィ レ ク ト リ サービ ス プ ロ バ イ ダの詳細 と 例については、 次の 「Open Client のデ ィ レ ク ト リ サービ ス を使用す る 場合のサーバ名 の指定」 を参照 し て く だ さ い。 • アプ リ ケーシ ョ ンが Open Client CT-Lib ソ フ ト ウ ェ アの適切なバー ジ ョ ン を利用で き る よ う に、 Release DBParm を 11 以上に設定 し て お き ます。 設定手順については、 オ ン ラ イ ン ヘルプの 「Release デー タ ベース パ ラ メ ー タ 」 を参照 し て く だ さ い。 • 使用す る デ ィ レ ク ト リ サービ ス プ ロ バ イ ダお よ び ド ラ イ バは、 DBParm が要求す る サービ ス をサポー ト し ていなければな り ませ ん。 Open Client のデ ィ レ ク ト リ サービ ス を使用する場合のサーバ名の指定 InfoMaker アプ リ ケーシ ョ ン で Open Client のデ ィ レ ク ト リ サービ ス を 使用す る 場合、 デー タ ベー ス プ ロ フ ァ イ ルでサーバ名 を 指定す る 際 に、デ ィ レ ク ト リ サービ ス プ ロ バ イ ダが要求す る 構文を使用 し なけれ ばな り ません。 各デ ィ レ ク ト リ サービ ス プ ロ バ イ ダには、 デ ィ レ ク ト リ エ ン ト リ 名 を指定す る 形式に基づい た構文を それぞれ使用す る 必要が あ り ま す。 デ ィ レ ク ト リ のエ ン ト リ 名は、 完全修飾名の場合や、 Open Client/Open Server™ 設定ユーテ ィ リ テ ィ で指定 し たデフ ォ ル ト の (ア ク テ ィ ブな) Directory Information Tree ベース (DIT ベース) に対す る 相対名の場合 があ り ます。 DIT ベース はデ ィ レ ク ト リ 検索の開始 ノ ー ド にな り ます。 DIT ベー ス を指定す る こ と は、 MS-DOS フ ァ イ ル シ ス テ ム で現行の作業デ ィ レ ク ト リ を 設定す る こ と と ほぼ同 じ です。 DS_DitBase DBParm を 使 う と 、 デフ ォ ル ト 以外の DIT ベース を指定す る こ と がで き ます。 手順につい ては、 オ ン ラ イ ン ヘルプの 「DS_DitBase」 を参照 し て く だ さ い。 Windows レ ジス ト リ のサーバ名の例 次の例は、 デ ィ レ ク ト リ サービ ス プ ロ バ イ ダに Windows レ ジ ス ト リ を使用す る 場合にサーバ名を指定す る 構文を示 し ます。 ノ ー ド 名 : SALES:software\sybase\server\SYS12 デー タ ベース と の接続 75 Open Client のデ ィ レ ク ト リ サービ スの使い方 DIT ベース : SALES:software\sybase\server サーバ名 : SYS12 v デー タ ベース プ ロ フ ァ イルにサーバ名を指定する • DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス の [接続] タ ブにあ る [サーバ] ボ ッ ク ス に次の よ う に入力 し ま す。 サーバ名 を 円記号 (\) で始めてはな り ません。 SYS12 DCE/CDS のサーバ名 の例 次の例は、 デ ィ レ ク ト リ サービ ス プ ロ バ イ ダに DCE/CDS (Distributed Computing Environment Cell Directory Service) を使用す る 場合にサーバ 名を指定す る 構文を示 し ます。 ノ ー ド 名 : /.../boston.sales/dataservers/sybase/SYS12 DIT ベース : /../boston.sales/dataservers サーバ名 : sybase/SYS12 v デー タ ベース プ ロ フ ァ イルにサーバ名を指定する • DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス の [接続] タ ブにあ る [サーバ] ボ ッ ク ス に次の よ う に入力 し ま す。 サーバ名 を ス ラ ッ シ ュ (/) で始めてはな り ません。 sybase/SYS12 デ ィ レ ク ト リ サービ スの DBParm パラ メ ー タ 74 ページの「Open Client のデ ィ レ ク ト リ サービ ス を使用す る ための条 件」を満た し ていれば、接続用の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス 内でセ キ ュ リ テ ィ サー ビ ス の DBParm を 設定す る こ と がで き ま す。 以下の DBParm は、 Open Client 11.1.x 以上のデ ィ レ ク ト リ サービ ス の 接続パ ラ メ ー タ に相当 し ます。 DS_Alias DS_Copy DS_DitBase DS_Failover DS_Password (Open Client 12.5 以上) DS_Principal DS_Provider DS_TimeLimit 76 InfoMaker 第6章 Adaptive Server Enterprise の使い方 こ れ ら の DBParm の設定手順については、 オ ン ラ イ ン ヘルプでそれぞ れのパ ラ メ ー タ の説明を参照 し て く だ さ い。 Adaptive Server ス ト ア ド プ ロ シージ ャ における PRINT 文の使い方 ASE ま たは SYC Adaptive Server デー タ ベース イ ン タ フ ェ ース に よ り 、 デバ ッ グ用の ス ト ア ド プ ロ シージ ャ で PRINT 文を使用で き ます。 つま り 、ASE ま たは SYC イ ン タ フ ェース を介 し てデー タ ベース にア ク セ ス す る 際にデー タ ベー ス ト レ ー ス を オ ン に し た場合、 PRINT メ ッ セージが ト レース ロ グに表示 さ れ ますが、 エ ラ ーを返 し た り 、 残 り の ス ト ア ド プ ロ シージ ャ を キ ャ ン セル し た り し ません。 デー タ ベース間の結合に基づ く レポー ト の作成 異種デー タ ベー ス 間の結合に基づい て レ ポ ー ト を 作成す る 機能は、 Adaptive Server の コ ン ポーネ ン ト 総合サービ ス を使用す る こ と に よ っ て利用で き ます。 コ ン ポーネ ン ト 総合サービ ス を使用す る と 、 複数の 異種 リ モー ト デー タ ベース サーバに接続 し 、それ ら のサーバ上に位置 す る テーブルを参照す る 複数のプ ロ キ シ テーブルを定義で き ます。 プ ロ キ シ テーブルの作成方法については、 Adaptive Server のマニ ュ ア ルを参照 し て く だ さ い。 Adaptive Server デー タ ベースにおける ス ト ア ド プ ロ シー ジ ャ のイ ン ス ト ール こ の節では、Sybase 社が提供す る SQL ス ク リ プ ト を実行 し て、Adaptive Server Enterprise デー タ ベース に InfoMaker ス ト ア ド プ ロ シージ ャ を イ ン ス ト ールす る 方法について解説 し ます。 デー タ ベース と の接続 77 Adaptive Server デー タ ベースにおける ス ト ア ド プ ロ シージ ャのイ ン ス ト ール Sybase で は、 Adaptive Server (ASE ま た は SYC DBMS 識別子) ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を 経由 し て、 初め て Adaptive Server デー タ ベース に接続す る 前に、 InfoMaker の外部の環境で こ れ ら の ス ク リ プ ト を実行す る こ と を推奨 し てい ます。 デー タ ベース イ ン タ フ ェ ー ス は、 こ れ ら の ス ク リ プ ト に よ っ て作成 さ れた InfoMaker ス ト ア ド プ ロ シージ ャ を使用 し な く て も 動作 し ますが、 すべての機能を使 用す る には こ の ス ト ア ド プ ロ シージ ャ が必要にな り ます。 InfoMaker ス ト ア ド プ ロ シージ ャ ス ク リ プ ト と は ? 必要な操作 InfoMaker で Adaptive Server デ ー タ ベ ー ス を 操 作 す る た め に は、 InfoMaker か ら Adaptive Server に初めて接続す る 前に、ユーザ ま たはシ ス テ ム管理者が、 デー タ ベース に ス ト ア ド プ ロ シージ ャ を イ ン ス ト ー ル し ます。 InfoMaker ス ト ア ド プ ロ シージ ャ ス ク リ プ ト は 1 つのデー タ ベー ス サーバに対 し て 1 つだけ を、 InfoMaker のセ ッ シ ョ ン の前に実行 し ま す。 サポー ト し てい る いずれかのプ ラ ッ ト フ ォ ーム上の InfoMaker で 接続す る 前に、 Adaptive Server に InfoMaker ス ト ア ド プ ロ シージ ャ を すで に イ ン ス ト ール し て い る 場合には、 別の プ ラ ッ ト フ ォ ー ム 上の InfoMaker で接続す る と き で も 、 ス ト ア ド プ ロ シージ ャ を も う 一度 イ ン ス ト ールす る 必要はあ り ません。 InfoMaker ス ト ア ド プ ロ シージ ャ ス ト ア ド プ ロ シージ ャ と は、デー タ ベース処理を実行す る SQL 文を あ ら か じ め コ ンパ イ ル し 、 最適化 し た も のです。 ス ト ア ド プ ロ シージ ャ はデー タ ベース サーバ上に イ ン ス ト ール し てお き 、 ク ラ イ ア ン ト マシ ン か ら 必要に応 じ て ア ク セ ス し ます。 InfoMaker は、 こ れ ら の ス ト ア ド プ ロ シージ ャ を 使用 し て、 Adaptive Server シ ス テ ム カ タ ロ グか ら テーブルやカ ラ ム についての情報を取得 し ま す (InfoMaker ス ト ア ド プ ロ シージ ャ は、 ユーザがデー タ ベー ス 上に作成す る ス ト ア ド プ ロ シージ ャ と は異な り ます)。 SQL ス ク リ プ ト InfoMaker は、 必要な ス ト ア ド プ ロ シージ ャ を sybsystemprocs デー タ ベース に イ ン ス ト ールす る ために、 SQL ス ク リ プ ト フ ァ イ ルを提供 し てい ます。 スク リプ ト PBSYC.SQL PBSYC2.SQL 78 対象 Adaptive Server デー タ ベース Select Tables リ ス ト を 制限 し た 状態 の Adaptive Server デー タ ベース InfoMaker 第6章 ス ク リ プ ト の保存場所 Adaptive Server Enterprise の使い方 ス ト ア ド プ ロ シージ ャ ス ク リ プ ト は、 InfoMaker CD-ROM の Server デ ィ レ ク ト リ に保存 さ れてい ます。 Server デ ィ レ ク ト リ には、 InfoMaker のセ ッ ト ア ッ プ プ ロ グ ラ ム か ら は イ ン ス ト ール さ れない サーバ サ イ ド イ ン ス ト ール コ ン ポーネ ン ト が格納 さ れてい ます。 PBSYC.SQL ス ク リ プ ト 動作内容 PBSYC.SQL ス ク リ プ ト は、 Adaptive Server の sybsystemprocs デー タ ベース上で InfoMaker と 同 じ バージ ョ ン に対応す る ス ト ア ド プ ロ シー ジ ャ を上書 き し てか ら 、 こ れを再び作成 し ます。 PBSYC.SQL ス ク リ プ ト は、 sybsystemprocs デー タ ベース に InfoMaker ス ト ア ド プ ロ シ ー ジ ャ を 格納 し ま す。 こ のデー タ ベー ス は、 Adaptive Server を イ ン ス ト ールす る と き に作成 さ れ ます。 実行する タ イ ミ ング ASE ま た は SYC DBMS 識 別 子 を 使 用 し て InfoMaker か ら Adaptive Server デー タ ベー ス に初めて接続す る 前に、 ユーザ ま たはシ ス テ ム管 理者が、 デー タ ベース サーバご と に PBSYC.SQL ス ク リ プ ト を 1 回実 行 し て、 sybsystemprocs デー タ ベース に ス ト ア ド プ ロ シージ ャ を イ ン ス ト ール し ます。 サ イ ト のサーバが InfoMaker か ら 、 ま たはアプ リ ケーシ ョ ン の配布先 マシ ン か ら ア ク セ ス さ れ る 場合、 PBSYC.SQL を実行 し ます。 ユーザ ま たはデー タ ベース管理者が、現行のバージ ョ ンの PBSYC.SQL をすでに実行 し て、サーバの sybsystemprocs デー タ ベース に InfoMaker ス ト ア ド プ ロ シージ ャ を イ ン ス ト ール し てい る 場合、 ス ク リ プ ト を再び 実行 し て、 ス ト ア ド プ ロ シージ ャ を イ ン ス ト ール し 直す必要はあ り ま せん。 PBSYC.SQL を実行す る 手順については、 81 ページの 「ス ク リ プ ト の 実行方法」 を参照 し て く だ さ い。 作成 さ れる ス ト ア ド プ ロ シージ ャ PBSYC.SQL ス ク リ プ ト に よ っ て、以下に示す InfoMaker ス ト ア ド プ ロ シージ ャ が Adaptive Server の sybsystemprocs デー タ ベース に作成 さ れ ま す。 プ ロ シージ ャ は、 作成 さ れ る 順に一覧 さ れてい ます。 PBSYC.SQL ス ト ア ド プ ロ シージ ャ sp_pb115column sp_pb115pkcheck sp_pb115fktable sp_pb115procdesc デー タ ベース と の接続 動作内容 テーブルのカ ラ ムの リ ス ト を表示す る テーブルに主キーがあ る か ど う か を確認す る 現行テーブル を 参照す る テーブルの リ ス ト を表示 する 指定 し た ス ト ア ド プ ロ シージ ャ の引数 リ ス ト の説 明を取得す る 79 Adaptive Server デー タ ベースにおける ス ト ア ド プ ロ シージ ャのイ ン ス ト ール PBSYC.SQL ス ト ア ド プ ロ シージ ャ sp_pb115proclist sp_pb115text sp_pb115table sp_pb115index 動作内容 使用可能な ス ト ア ド プ ロ シージ ャ と 拡張 ス ト ア ド プ ロ シージ ャ を一覧表示す る SystemProcs DBParm パ ラ メ ー タ が、 1 ま た は Yes (デ フ ォ ル ト ) に 設 定 さ れ て い る 場 合、 sp_pb115proclist に よ っ て シ ス テ ム ス ト ア ド プ ロ シージ ャ と ユーザ定義 ス ト ア ド プ ロ シージ ャ の両 方が表示 さ れ る 。 SystemProcs が 0 ま たは No に設 定 さ れてい る 場合は、 sp_pb115proclist に よ っ てユー ザ定義ス ト ア ド プ ロ シージ ャ だけが表示 さ れ る SYSCOMMENTS テ ー ブ ル か ら ス ト ア ド プ ロ シ ー ジ ャ のテ キ ス ト を取得す る 現行のユーザが権限を持た ないテーブル も 含めて、 デー タ ベー ス 内のすべて の テーブルについ て の情 報を取得する PBSYC.SQL はデフ ォ ル ト の sp_pb115table を含んで い る 。 テーブルの リ ス ト をユーザが SELECT 権限を 持つテーブルに制限す る sp_pb115table に置 き 換え る には、 次の 「PBSYC2.SQL ス ク リ プ ト 」 で解説す る PBSYC2.SQL ス ク リ プ ト を実行す る 指定 し た テーブルに対応す る すべて の イ ンデ ッ ク ス についての情報を取得す る PBSYC2.SQL ス ク リ プ ト 動作内容 PBSYC2.SQL ス ク リ プ ト は、Adaptive Server の sybsystemprocs デー タ ベー ス上にあ る 既存の sp_pb115table InfoMaker ス ト ア ド プ ロ シージ ャ を削除 し てか ら 、 こ れを再び作成 し ます。 デ フ ォ ル ト の sp_pb115table は PBSYC.SQL ス ク リ プ ト に よ っ て イ ン ス ト ール さ れ ます。 InfoMaker は、 こ の sp_pb115table プ ロ シージ ャ を使用 し て、 デー タ ベー ス 内のすべてのテーブルの リ ス ト を作成 し ます。 こ の リ ス ト には、 ユーザが権限を持た ないテーブル も あ り ます。 こ の リ ス ト は、 InfoMaker のテーブルの選択 ダ イ ア ロ グ ボ ッ ク ス に表示 さ れ ます。 セ キ ュ リ テ ィ 上の理由で、 テーブル リ ス ト の表示を、 ユーザが権限を 持つテーブルに限っ て行 う こ と が望ま れ る 場合があ り ます。 こ のため には、 PBSYC.SQL を実行 し た後で、 PBSYC2.SQL ス ク リ プ ト を実行 し ま す。 PBSYC2.SQL に よ っ て デ フ ォ ル ト の sp_pb115table が 新 し い sp_pb115table に置 き 換わ り 、 以下のテーブル と ビ ュ ーだけに限定 さ れ たテーブル リ ス ト が表示 さ れます。 80 InfoMaker 第6章 実行する タ イ ミ ング Adaptive Server Enterprise の使い方 • 現行ユーザが所有す る テーブルやビ ュ ー • 現行ユーザが SELECT 権限を持つテーブルやビ ュ ー • 現行ユーザのグループが SELECT 権限を持つテーブルやビ ュ ー • SELECT 権限が PUBLIC に与え ら れてい る テーブルやビ ュ ー ASE ま たは SYC DBMS 識別子を使用 し て InfoMaker か ら Adaptive Server にア ク セ スす る 場合、 デー タ ベース サーバご と に PBSYC.SQL を最初に 1 回実行 し て、 sybsystemprocs デー タ ベース に必要な InfoMaker ス ト ア ド プ ロ シージ ャ を イ ン ス ト ールす る 必要があ り ます。 PBSYC.SQL を実行 し た後、 sp_pb115table を置 き 換え て、 テーブル リ ス ト を、 ユ ー ザ が SELECT 権 限 を 持 つ テ ー ブ ル に 限 定 す る に は、 PBSYC2.SQL を実行 し ます。 テーブル リ ス ト を限定す る 必要がない場合は、 PBSYC2.SQL を実行す る 必要はあ り ません。 PBSYC2.SQL を実行す る 手順については、 81 ページの 「ス ク リ プ ト の 実行方法」 を参照 し て く だ さ い。 作成 さ れる ス ト ア ド プ ロ シージ ャ PBSYC2.SQL ス ク リ プ ト に よ っ て、 以下に示す InfoMaker ス ト ア ド プ ロ シージ ャ が Adaptive Server の sybsystemprocs デー タ ベース に作成 さ れ ます。 PBSYC2.SQL ス ト ア ド プ ロ シージ ャ sp_pb115table 動作内容 現行ユーザが SELECT 権限を持つ、デー タ ベース内 のテーブルについての情報を取得す る こ のバージ ョ ンの sp_pb115table は、 PBSYC.SQL ス ク リ プ ト に よ っ て イ ン ス ト ール さ れ る デフ ォ ル ト の sp_pb115table を置 き 換え る ス ク リ プ ト の実行方法 ISQL ま たは SQL Advantage ツールを使用すれば、 InfoMaker の外部の 環境で ス ク リ プ ト を実行で き ます。 デー タ ベース と の接続 81 Adaptive Server デー タ ベースにおける ス ト ア ド プ ロ シージ ャのイ ン ス ト ール ス ト ア ド プ ロ シージ ャ ス ク リ プ ト を実行する ISQL の使い方 ISQL は、 Open Client ソ フ ト ウ ェ ア と と も に提供 さ れ る 対話型の SQL ユーテ ィ リ テ ィ で、 Windows ベース のオペレーテ ィ ン グ シ ス テ ム上で 稼働 し ま す。 ISQL が イ ン ス ト ール さ れて い る 場合は、 以下の手順で InfoMaker ス ト ア ド プ ロ シージ ャ ス ク リ プ ト を実行 し ます。 ISQL の使い方の詳細については、 Open Client のマニ ュ アルを参照 し て く だ さ い。 v InfoMaker ス ト ア ド プ ロ シージ ャ ス ク リ プ ト を実行する ために ISQL を使 用する 1 シ ス テ ム管理者 と し て sybsystemprocs Adaptive Server デー タ ベース に接続 し ます。 2 実行す る InfoMaker ス ト ア ド プ ロ シージ ャ ス ク リ プ ト が入っ てい る 以下のいずれかの フ ァ イ ルを開 き ます。 PBSYC.SQL PBSYC2.SQL 3 ユーザ ID (sa)、 サーバ名 (servername)、 そ し てオプシ ョ ン と し て パ ス ワ ー ド (password) を 指定 し た ISQL コ マ ン ド を 実行 し ま す。 なお、 大文字 と 小文字は区別 さ れ る ので注意 し て く だ さ い。 isql -U sa -S SERVERNAME -i pathname -P { password } パラ メ ー タ sa SERVERNAME pathname password 説明 シ ス テ ム管理者のユーザ ID を指定。 こ のユーザ ID は、 変更 し ない Adaptive Server デー タ ベース が稼働 し てい る マシ ンの名前を指定 実行す る SQL ス ク リ プ ト のパ ス 名を ド ラ イ ブ名 か ら 指定 (オプシ ョ ン) sa (シ ス テ ム管理者) ユーザ ID の パ ス ワ ー ド を指定。 Adaptive Server Enterprise を イ ン ス ト ールす る と 、 デフ ォ ル ト では、 パ ス ワ ー ド を 持た な い sa ユーザ ID が作成 さ れ る 。 イ ン ス ト ールの際に sa のパス ワー ド を変更 し た場合は、 そのパ ス ワ ー ド を password に置 き 換え る た と えば、InfoMaker を使用 し 、製品 CD-ROM の ス ト ア ド プ ロ シー ジ ャ ス ク リ プ ト にア ク セ ス し てい る 場合、 以下のいずれかの コ マ ン ド を 入力 し ま す (CD-ROM ド ラ イ ブ を D ド ラ イ ブ と し て い ま す)。 isql -U sa /S TESTDB -i d:\server\pbsyb.sql -P 82 InfoMaker 第6章 Adaptive Server Enterprise の使い方 isql -U sa /S SALES -i d:\server\pbsyc.sql -P adminpwd ス ト ア ド プ ロ シージ ャ ス ク リ プ ト を実行する SQL Advantage の使い方 SQL Advantage は、 Open Client ソ フ ト ウ ェ ア と と も に提供 さ れ る 対話 型の SQL ユーテ ィ リ テ ィ で、 Windows ベー ス のオペレ ーテ ィ ン グ シ ス テ ム上で稼働 し ま す。 SQL Advantage が イ ン ス ト ール さ れてい る 場 合は、 以下の手順で InfoMaker ス ト ア ド プ ロ シージ ャ ス ク リ プ ト を実 行 し ます。 SQL Advantage の使い方の詳細については、 Open Client のマニ ュ アル を参照 し て く だ さ い。 v InfoMaker ス ト ア ド プ ロ シージ ャ ス ク リ プ ト を実行する ために SQL Advantage を使用する 1 SQL Advantage ユーテ ィ リ テ ィ を起動 し ます。 2 シ ス テ ム管理者 と し て sybsystemprocs Adaptive Server デー タ ベース に接続 し ます。 3 実行す る InfoMaker ス ト ア ド プ ロ シージ ャ ス ク リ プ ト が入っ てい る 以下のいずれかの フ ァ イ ルを開 き ます。 PBSYC.SQL PBSYC2.SQL 4 各ス ク リ プ ト の先頭にあ る use sybsystemprocs コ マ ン ド 、ま たは go コ マ ン ド を削除 し ます。 SQL Advantage では、 use sybsystemprocs コ マ ン ド は単独で実行 し ま す。 実際には、 ス テ ッ プ 2 で sybsystemprocs デー タ ベース と の接続 を開 く と き に、 use sybsystemprocs コ マ ン ド が実行 さ れてい ます。 こ のため、 こ の コ マ ン ド が ス ト ア ド プ ロ シージ ャ ス ク リ プ ト に よ っ て再び実行 さ れない よ う に し ます。 ス ト ア ド プ ロ シージ ャ を正 し く イ ン ス ト ールす る ためには、 ス ク リ プ ト を実行す る 前に、 InfoMaker ス ト ア ド プ ロ シージ ャ ス ク リ プ ト の先頭か ら 、 以下の表に示す行を削除す る 必要があ り ます。 実行する ス ク リ プ ト PBSYC.SQL 削除する コ マ ン ド use sybsystemprocs go PBSYC2.SQL use sybsystemprocs go デー タ ベース と の接続 83 Adaptive Server デー タ ベースにおける ス ト ア ド プ ロ シージ ャのイ ン ス ト ール 84 5 SQL ス ク リ プ ト 内のすべての文を実行 し ます。 6 SQL Advantage セ ッ シ ョ ン を終了 し ます。 InfoMaker 第 7 章 Informix の使い方 こ の章について こ の章では、 InfoMaker において ネ イ テ ィ ブ IBM Informix デー タ ベース イ ン タ フ ェース を使用す る 方法について解説 し ます。 内容 項目 サポー ト し てい る Informix のバージ ョ ン サポー ト し てい る Informix デー タ 型 I10 イ ン タ フ ェース でサポー ト し てい る 機能 Informix の基本 ソ フ ト ウ ェ ア コ ン ポーネ ン ト Informix デー タ ベース を使用す る ための準備 Informix デー タ ベース イ ン タ フ ェ ース の定義 ページ 85 86 88 92 93 95 サポー ト し ている Informix のバージ ョ ン InfoMaker IN9 お よ び I10 のネ イ テ ィ ブ Informix デー タ ベース イ ン タ フ ェ ース を使用す る と 、 IBM Informix Dynamic Server (IDS デー タ ベース バージ ョ ン 9.x 以降にア ク セ ス で き ます。 ま た、 Informix OnLine お よ び Informix Standard Engine (SE) デー タ ベース に も ア ク セ ス で き ます。 PBIN9115.DLL の IN9 イ ン タ フ ェ ース を使用す る には、Informix ア プ リ ケーシ ョ ン開発用の Informix Client SDK 2.8.1 以降、 お よ び実 行時配布用の Informix Connect 2.9 が必要です。 PBI10115.DLL の I10 イ ン タ フ ェース を使用す る には、 Informix ア プ リ ケーシ ョ ン開発用の Informix Client SDK 2.9 以降、お よ び実行 時配布用の Informix Connect 2.9 以降が必要です。 制限事項 単一の InfoMaker セ ッ シ ョ ン で、 IN9 イ ン タ フ ェ ース と I10 イ ン タ フ ェース の両方を使用す る こ と はで き ません。 デー タ ベース と の接続 85 サポー ト し ている Informix デー タ 型 Informix デー タ ベース を使用 し ての InfoMaker の使用方法の最新情報 の詳細については、 Sybase Support Web のサイ ト http://www.sybase.com/detail?id=47934 を参照 し て く だ さ い。 サポー ト し ている Informix デー タ 型 Informix デー タ ベース イ ン タ フ ェース は、 レ ポー ト と フ ォ ームにおい て、 表 7-1 に示す Informix デー タ 型を サポー ト し ます。 表 7-1: サポー ト し てい る Informix デー タ 型 Blob LVarChar Boolean Money NChar Byte (最大 2^31 バ イ ト ) Char NVarChar Clob Real Date Serial DateTime Serial8 Decimal SmallInt (2 バ イ ト ) Float Text (最大 2^31 バ イ ト ) Int8 Time Integer (4 バ イ ト ) Interval VarChar (1 ~ 255 バ イ ト ) Informix の DateTime デー タ 型 DateTime デー タ 型は、 任意の日付 と 時刻の格納に使用 し ま すが、 その 用途に合わせて精度を指定で き ます。 DateTime デー タ 型を定義す る 場 合は、 時間を表す連続 し たボ ッ ク ス の う ち、 最大精度 と 最少制度を修 飾子で指定 し ます。 以下に構文を示 し ます。 DATETIME largest_qualifier TO smallest_qualifier InfoMaker におけ る 修飾子のデフ ォ ル ト は Year TO Fraction(5) です。 修飾子の一覧については、 Informix のマニ ュ アルを参照 し て く だ さ い。 v 独自の DateTime デー タ 型を作成する 1 86 デー タ ベース ペ イ ン タ の [テーブルの選択] で、 DateTime カ ラ ム を伴 う テーブルを作成 し ます。 InfoMaker 第7章 Informix の使い方 テーブルの詳 し い作成手順につい ては、 『ユーザーズ ガ イ ド 』 マ ニ ュ アルを参照 し て く だ さ い。 2 カ ラ ム ビ ュ ーで、 [オブジ ェ ク ト ] ま たはポ ッ プア ッ プ メ ニ ュ ー か ら [処理前の構文] を選択 し ます。 カ ラ ム ビ ュ ーに、 テーブル定義に加え ら れた保留中の変更が表示 さ れ ます。 こ れ ら の変更は、 [保存] ボ タ ン を ク リ ッ ク し て テーブ ル定義を保存す る と き に限っ て実行 さ れ ます。 3 [編集] ま たはポ ッ プア ッ プ メ ニ ュ ーか ら [ コ ピー] を選択す る か、 [ コ ピー] ボ タ ン を ク リ ッ ク し ます。 SQL 構文 (ま たは選択 し た部分) が ク リ ッ プボー ド に コ ピー さ れ ます。 4 ISQL セ ッ シ ョ ン ビ ュ ーで、 DateTime の構文を修正 し 、 CREATE TABLE 文を実行 し ます。 ISQL セ ッ シ ョ ン ビ ュ ーの詳 し い使い方については、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照 し て く だ さ い。 Informix の Time デー タ 型 Informix デー タ ベース イ ン タ フ ェース は、 Time (時刻) デー タ 型 も サ ポー ト し ます。 Time デー タ 型は、 DateTime デー タ 型のサブセ ッ ト に相 当 し ます。 Time デー タ 型では、 時刻の修飾子フ ィ ール ド だけ を使用 し ます。 Informix の Interval デー タ 型 Interval (時間隔) デー タ 型は、 あ る 時間の値、 ま たは継続時間を表す 時間の長 さ を格納 し ます。 以下に構文を示 し ます。 INTERVAL largest_qualifier TO smallest_qualifier InfoMaker でのデフ ォ ル ト は Day(3) TO Day です。 Interval デー タ 型の 詳細については、 Informix のマニ ュ アルを参照 し て く だ さ い。 デー タ ベース と の接続 87 I10 イ ン タ フ ェ ースでサポー ト し ている機能 I10 イ ン タ フ ェ ース でサポー ト し ている機能 I10 イ ン タ フ ェ ース は、 IN9 イ ン タ フ ェ ース を使用 し てい る 場合には使 用で き ない、 い く つかの機能を サポー ト し ます。 こ れ ら の機能の一部 には、Informix Dynamic Server デー タ ベース の特定のバージ ョ ン が必要 です。 Unicode デー タ へのア ク セス InfoMaker は、IN9 イ ン タ フ ェ ース を使用 し て、ANSI/DBCS デー タ ベー ス のデー タ に対す る 接続、 保存、 お よ び検索を行 う こ と がで き ますが、 IN9 イ ン タ フ ェース は Unicode デー タ ベース をサポー ト し てい ません。 Informix I10 イ ン タ フ ェ ー ス は、 ANSI/DBCS デ ー タ ベ ー ス お よ び Unicode デー タ ベース をサポー ト し てい ます。 I10 ネ イ テ ィ ブ イ ン タ フ ェ ース では、 広域言語サポー ト (GLS: Global Language Support) を目的 と し て、Informix GLS API を使用 し てい ます。 ネ イ テ ィ ブ イ ン タ フ ェ ース は、 次の 3 つの DBParms を使用 し て、 現行 接続で使用す る ロ ケールを設定 し ます。 • Client_Locale • DB_Locale • StrByCharset こ れ ら のパ ラ メ ー タ は、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の [地域の設定] タ ブ ページで設定で き ます。 Client_Locale Client_Locale は、 Informix 環境変数 CLIENT_LOCALE の値を指定 し ま す。 書式は language_territory.codeset です。 次に例を示 し ます。 Client_Locale='en_us.1252' Client_Locale='en_us.utf8' I10 イ ン タ フ ェ ース は、こ の設定を使用 し て Informix デー タ ベース の文 字列デー タ にア ク セ ス し 、 SQL 文を処理 し ます。 DBParm を設定 し な い場合、 デフ ォ ル ト の ロ ケール値は OS の ロ ケールに基づ き ます。 DB_Locale DB_Locale は、 Informix 環境変数 DB_LOCALE の値を指定 し ます。 書 式は language_territory.codeset です。 次に例を示 し ます。 DB_Locale='en_us.1252' DB_Locale='en_us.utf8' 88 InfoMaker 第7章 Informix の使い方 DB_LOCALE は、 デー タ ベー ス サーバが特定のデー タ ベー ス での ロ ケールに依存 し たデー タ 型の解釈に必要な、 言語、 地域、 お よ び コ ー ド セ ッ ト を指定 し ます。 こ れ ら のデー タ 型には、 NChar お よ び NVarChar な ど が あ り ま す。 DB_LOCALE に指定 さ れた コ ー ド セ ッ ト を 使用 し て、 すべての文字カ ラ ム の文字、 ま たはデー タ ベー ス、 テーブル、 カ ラ ム、 ビ ュ ーな どデー タ ベース オブジ ェ ク ト の名前が有効か ど う か を 判 断 し ま す。 DBParm を 設 定 し な い 場 合、 I10 イ ン タ フ ェ ー ス は、 DB_LOCALE の値は CLIENT_LOCALE の値 と 同一 と みな し ます。 CLIENT_LOCALE 環境変数お よ び DB_LOCALE 環境変数は、 Informix デー タ ベー ス イ ン タ フ ェ ー ス 用 の Utilities フ ォ ル ダ で 使用 で き る Informix Setnet32 ユーテ ィ リ テ ィ を使用 し て、 デー タ ベー ス ペ イ ン タ のオブジ ェ ク ト ビ ュ ーま たは DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス で 直接設定で き ます。 Informix の CLIENT_LOCALE 環境変数お よ び DB_LOCALE 環境変数 の詳細については、 Informix library Web のサイ ト http://publib.boulder.ibm.com/epubs/pdf/b8886700.pdf の 『IBM Informix GLS ユーザーズガ イ ド 』 を参照 し て く だ さ い。 StrByCharset StrByCharset DBParm は、InfoMaker Unicode 文字列 と Informix ク ラ イ ア ン ト の マルチバ イ ト 文字列 と の文字列デー タ の変換方法 を 指定 し ま す。 デフ ォ ル ト では、 UTF-8 コ ー ド セ ッ ト の文字列変換は UTF-8 コ ー ド セ ッ ト に基づいて実行 さ れ、UTF-8 コ ー ド セ ッ ト 以外の文字列変換 は、 現行の OS の コ ー ド ページに基づいて実行 さ れ ます。 StrByCharset が 1 (true) に設定 さ れてい る 場合、文字列変換は、DBParm Client_Locale で指定 さ れた コ ー ド セ ッ ト に基づいて実行 さ れます。 InfoMaker カ タ ログ テーブルへのオーナーの割 り 当て I10 イ ン タ フ ェ ー ス を 使 用 す る 場 合、 [シ ス テ ム] タ ブ ペ ー ジ の [PowerBuilder カ タ ロ グ テーブル オーナー](PBCatalogOwner DBParm) を使用 し て、 拡張属性シ ス テ ム テーブルにデフ ォ ル ト 以外のオーナー を割 り 当て る こ と がで き ます。 ANSI 準拠のデー タ ベース の場合、 指定 す る オーナー名は固有であ る 必要があ り ますが、 テーブル名は固有で あ る 必要はあ り ません。 異な る ユーザ名で始ま る カ タ ロ グ テーブルの 複数のセ ッ ト を作成で き ます。 ただ し 、 デー タ ベース が ANSI 準拠で ない場合は、 テーブル名は固有で あ る 必要が あ り ま す。 つ ま り 、 オー ナー名が割 り 当て ら れた カ タ ロ グ テーブルのセ ッ ト を 1 つだけ作成す る こ と がで き ます。 デー タ ベース と の接続 89 I10 イ ン タ フ ェ ースでサポー ト し ている機能 長いオブ ジ ェ ク ト 名のサポー ト I10 イ ン タ フ ェ ース は、 128 文字ま での Informix の長いオブジ ェ ク ト 名 をサポー ト し ます。 イ ンデ ッ ク スの名前変更 IDS 9.2.1 以降では、 I10 イ ン タ フ ェ ース を使用 し て接続 し てい る 場合、 デー タ ベー ス ペ イ ン タ で イ ンデ ッ ク ス の名前を変更で き ます。 I10 イ ン タ フ ェース で IDS RENAME INDEX 文を使用 し て、 イ ンデ ッ ク ス の 名前を変更 し ます。 ほかの変更を行 う 場合は、 イ ンデ ッ ク ス を削除 し て再度作成す る 必要があ り ます。 SQL ス テー ト メ ン ト キ ャ ッ シ ュ IDS 9.2.1 以降では、デー タ ベース サーバは SQL ス テー ト メ ン ト キ ャ ッ シ ュ (SSC) を使用 し て、 ユーザのセ ッ シ ョ ンが終了す る ま で SQL ス テー ト メ ン ト を格納 し ます。ユーザが SQL ス テー ト メ ン ト キ ャ ッ シ ュ に格納 さ れてい る SQL ス テー ト メ ン ト を実行す る 場合、 デー タ ベース サーバは ス テー ト メ ン ト の解析お よ び最適化を再度行 う こ と はあ り ま せん。 その結果、 パ フ ォ ーマ ン ス が向上 し ま す。 キ ャ ッ シ ュ に格納で き る のは、 SELECT 文、 UPDATE 文、 DELETE 文、 INSERT 文のみで、 こ れ ら の ス テー ト メ ン ト にユーザ定義のルーチン を含め る こ と はで き ま せん。 サーバのキ ャ ッ シ ュ を設定す る 方法は、 い く つかあ り ます。 SET STATEMENT CACHE 文は、 STMT_CACHE 環境変数お よ び STMT_CACHE 設定パ ラ メ ー タ よ り 優先 さ れ ます。 SET STATEMENT CACHE 文を正常に実行で き る よ う に、 事前に、 STMT_CACHE 設定パ ラ メ ー タ を設定す る か Informix onmode ユーテ ィ リ テ ィ を使用 し て、 SQL ス テー ト メ ン ト キ ャ ッ シ ュ を有効にす る 必要があ り ます。 I10 接続の、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の [シ ス テ ム] タ ブ ページで [SQL ス テー ト メ ン ト キ ャ ッ シ ュ の有効化] (StmtCache DBParm) を設定 し て、 ク ラ イ ア ン ト での SQL ス テー ト メ ン ト キ ャ ッ シ ュ を オ ン ま たはオ フ に し ます。ただ し 、ク ラ イ ア ン ト か ら キ ャ ッ シ ュ にア ク セ ス す る 前に、 サーバで SQL ス テー ト メ ン ト キ ャ ッ シ ュ を サ ポー ト す る よ う に設定す る 必要があ り ます。 Informix SQL ス テー ト メ ン ト キ ャ ッ シ ュ の詳細については、 IBM Informix Dynamic Server パフ ォ ーマ ン ス ガ イ ド のサイ ト http://publib.boulder.ibm.com/epubs/pdf/b8886780.pdf を参照 し て く だ さ い。 90 InfoMaker 第7章 Informix の使い方 ロ ッ ク せずに イ ンデ ッ ク スの作成 と 削除 IDS 10.0 以降では、 CREATE INDEX お よ び DROP INDEX の SQL 構文は ONLINE キー ワ ー ド を サポー ト し ま す。 こ のキー ワ ー ド を使用す る と 、 デー タ ベー ス と そ の テーブルが継続的に使用可能な オ ン ラ イ ン 環境 で、 イ ンデ ッ ク ス の作成 と 削除を実行で き ます。 ONLINE キー ワー ド を 使用 し て イ ンデ ッ ク ス の作成 ま たは削除を実行 し た場合、 デー タ 定義 言語 (DDL) 処理は、 指定 し た イ ンデ ッ ク ス が定義 さ れた テーブルで 排他 ロ ッ ク を行わずに実行 し ます。 CREATE INDEX ONLINE を使用 し て、 ほかのユーザがア ク セ ス 中のテー ブルで イ ンデ ッ ク ス を作成 し た場合、 ほかのユーザのテーブル更新が 終了す る ま で、 作成 し た イ ンデ ッ ク ス は有効にな り ません。 DROP INDEX ONLINE を発行 し て イ ンデ ッ ク ス を削除 し た場合、 ユーザ はその イ ンデ ッ ク ス を参照で き ませんが、同時デー タ 操作言語 (DML) 処理は、 処理が終了す る ま でその イ ンデ ッ ク ス を使用で き ます。 イ ン デ ッ ク ス の削除は、 すべてのユーザがその イ ンデ ッ ク ス の使用を終了 す る ま で延期 さ れます。 I10 接続の、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の [シ ス テ ム] タ ブ ページ で [非 ク ラ ス タ 化 イ ン デ ッ ク ス の作成 ま たは削除の際に テーブルを ロ ッ ク し ない] (OnlineIndex 静的 DBParm) を設定 し て、 イ ンデ ッ ク ス を作成 し た り 削除 し た り す る 場合に、 デー タ ベース ペ イ ン タ が必ず ONLINE キー ワー ド を使用す る よ う に指定 し ます。 サポー ト さ れていない ク ラ ス タ 化イ ンデ ッ ク ス ク ラ ス タ 化 イ ンデ ッ ク ス は、 オ ン ラ イ ン モー ド を使用 し て作成で き ま せん。 こ れは、 IDS でサポー ト さ れていないためです。 カ ラ ム レ ベルの暗号化 IDS 10.0 以降では、 SQL 文 SET ENCRYPTION PASSWORD を使用す る と 、 カ ラ ム レ ベルでデー タ を 暗号化お よ び復号化す る ためのパ ス ワ ー ド を定義 し た り 再設定 し た り す る こ と に よ っ て、 デー タ の機密性を向上 さ せ、 デー タ の整合性をサポー ト で き ます。 デー タ ベース と の接続 91 Informix の基本ソ フ ト ウ ェ ア コ ンポーネ ン ト I10 接続の、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の [シ ス テ ム] タ ブ ページ で [暗号化パ ス ワ ー ド ] (EncryptionPass DBParm) お よ び [ ヒ ン ト ] (Hint DBParm) を設定 し て、 パ ス ワー ド 、 お よ びパ ス ワー ド を 思 い 出す た め の ヒ ン ト を 指定 で き ま す。 ア プ リ ケ ー シ ョ ン で は Informix の組み込み関数を使用 し て、 文字デー タ の暗号化 と 復号化を 行い ます。 ユーザ定義ルーチ ン での複数の OUT パラ メ ー タ の使い方 ユーザ定義ルーチン (UDR) では、 OUT パ ラ メ ー タ は、 ポ イ ン タ を介 し て返 さ れた値に対応 し ます。 IDS バージ ョ ン 9.4 よ り 前では、 1 つの UDR での複数の OUT パ ラ メ ー タ はサポー ト し てい ま せんで し た。 さ ら に、 OUT パ ラ メ ー タ は、 パ ラ メ ー タ リ ス ト の最後の項目 と し て登録 す る 必要があ り ま し た。 IDS バージ ョ ン 9.4 で こ の制限がな く な り 、 複 数の OUT パ ラ メ ー タ がサポー ト さ れ、 UDR のパ ラ メ ー タ リ ス ト の ど の位置で も 有効にな り ま し た。 こ の機能は、 I10 イ ン タ フ ェース を使用 す る 場合に有効にな り ます。 こ れに よ っ て、 UDR の定義におけ る 柔軟 性が向上 し 、 複数の戻 り 値が必要な コ ン テ キ ス ト に コ レ ク シ ョ ン変数 を返す必要がな く な り ま し た。 UDR か ら OUT パ ラ メ ー タ を返すには、 ス テー ト メ ン ト の ロ ーカル変 数 (SLV) を使用す る 必要があ り ます。 次の ス テー ト メ ン ト では、 UDR myfunc の OUT パ ラ メ ー タ が SLV 構文 slvname#out_param_type を使用 し て定義 さ れてい ます。 SELECT sales FROM mytable WHERE myfunc(10, sales#money) < 1000 Informix の基本 ソ フ ト ウ ェ ア コ ンポーネ ン ト 図 7-1 は、 ネ イ テ ィ ブ Informix デー タ ベース イ ン タ フ ェース を使用 し て Informix デー タ ベース にア ク セ スす る ために必要な基本 ソ フ ト ウ ェ ア コ ン ポーネ ン ト を示 し てい ます。 92 InfoMaker 第7章 Informix の使い方 図 7-1: Informix 接続のコ ンポーネ ン ト Informix デー タ ベース を使用する ための準備 デー タ ベー ス イ ン タ フ ェ ース を定義 し 、 InfoMaker か ら Informix デー タ ベー ス に接続す る 前に、 以下の手順に従っ て使用す る デー タ ベー ス を準備 し ます。 デー タ ベース と の接続 1 接続に必要なデー タ ベース サーバ、 ネ ッ ト ワー ク 、 ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ール し 、 設定 し ます。 2 ネ イ テ ィ ブ Informix IN9 ま たは I10 デー タ ベース イ ン タ フ ェース を イ ン ス ト ール し ます。 93 Informix デー タ ベース を使用する ための準備 3 InfoMaker の外部の環境で、 Informix サーバやデー タ ベース に接続 で き る こ と を確認 し ます。 Informix 用に必要なデー タ ベース サーバ、 ネ ッ ト ワ ー ク 、 ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ール し 、 設定す る 必要があ り ます。 ス テ ッ プ 1 : デー タ ベース サーバのイ ン ス ト ール と 設定 v デー タ ベース サーバ、 ネ ッ ト ワー ク、 ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ール し 、 設定する 1 デー タ ベース プ ロ フ ァ イ ルに指定 さ れてい る サーバ上に、Informix デー タ ベー ス サーバ ソ フ ト ウ ェ アやデー タ ベー ス ネ ッ ト ワ ー ク ソ フ ト ウ ェ アが イ ン ス ト ール さ れ、 稼働 し てい る こ と を確認 し ま す。 Informix デー タ ベース サーバ ソ フ ト ウ ェ アやデー タ ベース ネ ッ ト ワー ク ソ フ ト ウ ェ ア を入手す る 必要があ り ます。 イ ン ス ト ールの手順については、Informix のマニ ュ アルを参照 し て く だ さ い。 2 InfoMaker がイ ン ス ト ールさ れている 各ク ラ イ ア ン ト マシン に、 Informix ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ール し ます。 Informix Connect ま たは Informix Client SDK (Informix Connect を含 む) を イ ン ス ト ール し ます。 IBM 社の Informix ク ラ イ ア ン ト ソ フ ト ウ ェ ア を入手す る 必要があ り ます。 イ ン ス ト ールす る ク ラ イ ア ン ト ソ フ ト ウ ェ アが、 以下を すべてサポー ト し てい る こ と を確認 し ます。 ク ラ イ ア ン ト マシ ン上で稼働 し てい る オペレーテ ィ ン グ シ ス テム ア ク セ スす る デー タ ベース のバージ ョ ン 稼働 し てい る InfoMaker のバージ ョ ン イ ン ス ト ールの手順については、Informix のマニ ュ アルを参照 し て く だ さ い。 3 94 自分のサ イ ト か ら Informix デー タ ベース サーバに接続で き る よ う に、 Informix ク ラ イ ア ン ト ソ フ ト ウ ェ アが正 し く 設定 さ れてい る こ と を確認 し ます。 InfoMaker 第7章 Informix の使い方 SetNet32 ユーテ ィ リ テ ィ を 実行 し て ク ラ イ ア ン ト の レ ジ ス ト リ の 値を設定 し ます。Informix Connect ク ラ イ ア ン ト ソ フ ト ウ ェ ア を設 定 す る と 、 HKEY_LOCAL_MACHINE\Software\Informix\SqlHosts に レ ジ ス ト リ エ ン ト リ が作成 さ れ ま す。 レ ジ ス ト リ エ ン ト リ に は、 ネ ッ ト ワ ー ク 構成、 ネ ッ ト ワ ー ク プ ロ ト コ ル、 環境変数を定 義す る パ ラ メ ー タ が格納 さ れてい ま す。 ネ イ テ ィ ブ Informix デー タ ベー ス イ ン タ フ ェ ー ス を 定義す る と き に、 デー タ ベー ス プ ロ フ ァ イ ルに こ れ ら の値を指定 し ない と 、 レ ジ ス ト リ エ ン ト リ に指 定 さ れてい る 値がデフ ォ ル ト 値 と し て適用 さ れ ます。 Informix ク ラ イ ア ン ト ソ フ ト ウ ェ ア の設定の処理手順につい て は、 Informix のマニ ュ アルを参照 し て く だ さ い。 4 オペレーテ ィ ン グ シ ス テ ムの必要に応 じ て、 Informix ク ラ イ ア ン ト ソ フ ト ウ ェ アのデ ィ レ ク ト リ がシ ス テ ムパ ス にあ る こ と を確認 し ます。 ス テ ッ プ 2 : デー タ ベース イ ン タ フ ェ ー スのイ ン ス ト ール InfoMaker のセ ッ ト ア ッ プ プ ロ グ ラ ム で、 標準 イ ン ス ト ールを選択す る か、 カ ス タ ム イ ン ス ト ール を 選択 し た場合は ネ イ テ ィ ブ Informix デー タ ベース イ ン タ フ ェ ース を選択 し て く だ さ い。 ス テ ッ プ 3 : 接続の確 認 InfoMaker の外部の環境で、 ア ク セ ス し たい Informix サーバやデー タ ベース に接続で き る こ と を確認 し ます。 接続を確認す る には、 デー タ ベース に接続す る (Informix ilogin.exe プ ロ グ ラ ム な ど の) Windows ベース のユーテ ィ リ テ ィ を使用 し ます。 デー タ ベー ス に 接続す る 時 に は、 デー タ ベー ス に ア ク セ ス す る た め に InfoMaker のデー タ ベー ス プ ロ フ ァ イ ルで使用す る 予定の接続パ ラ メ ー タ と 同 じ パ ラ メ ー タ を指定 し てい る こ と を確認 し ます。 ilogin.exe を使用す る 手順については、Informix のマニ ュ アルを参照 し て く だ さ い。 Informix デー タ ベース イ ン タ フ ェ ースの定義 Informix デー タ ベー ス イ ン タ フ ェ ー ス を介 し た接続を定義す る には、 少な く と も Informix IN9 ま たは I10 の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の基本接続パ ラ メ ー タ 用の値を指定 し て、 デー タ ベース プ ロ フ ァ イ ルを作成 し な ければな り ません。 次回以降、 こ のデー タ ベー ス プ ロ フ ァ イ ルを選択す る と 、 開発環境でそのデー タ ベース にいつで も 接続で き ます。 デー タ ベース と の接続 95 Informix デー タ ベース イ ン タ フ ェ ースの定義 デー タ ベース プ ロ フ ァ イ ルの定義方法については、 6 ページの 「デー タ ベース プ ロ フ ァ イ ルの使い方」 を参照 し て く だ さ い。 サーバ名の指定 サーバ名の値 を 指定す る 際には、 Informix イ ン タ フ ェ ー ス を 介 し て デー タ ベー ス に接続す る ために、 次の形式で使用 し な ければな り ませ ん。 host_name@server_name パラ メ ー タ host_name server_name 説明 Informix デー タ ベース サーバを実行 し てい る ホ ス ト コ ン ピ ュ ー タ の 名 前。 こ の パ ラ メ ー タ は、 Informix HOSTNAME 環境変数に相当 し ます。 Informix デー タ ベー ス が入っ てい る サーバの名前。 こ のパ ラ メ ー タ は、 Informix SERVER 環境変数に相当 し ます。 た と えば、 ネ イ テ ィ ブ イ ン タ フ ェ ース を使用 し て、 sales と い う ホ ス ト マシ ン上の server01 と い う Informix デー タ ベース サーバに接続す る には、 デー タ ベー ス プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の [接 続] タ ブにあ る [ホ ス ト 名] ボ ッ ク ス にホ ス ト 名 (sales) を、 [サー バ] ボ ッ ク ス にサーバ名 (server01) を それぞれ入力 し ます。InfoMaker は、 こ のサーバ名を sales@server01 と し て、 シ ス テ ム レ ジ ス ト リ 内 のデー タ ベース プ ロ フ ァ イ ルのエ ン ト リ に保存 し ます。 96 InfoMaker 第 8 章 Microsoft SQL Server の使い方 こ の章について こ の章では、 InfoMaker において Microsoft SQL Server Native Client デー タ ベー ス イ ン タ フ ェ ー ス を 使用す る 方法につい て解説 し ま す。 内容 項目 サポー ト し てい る SQL Server のバージ ョ ン サポー ト し てい る SQL Server デー タ 型 Microsoft SQL Server の基本 ソ フ ト ウ ェ ア コ ン ポーネ ン ト SQL Server デー タ ベース を使用す る ための準備 SQL Server デー タ ベース イ ン タ フ ェ ース の定義 MSS や OLE DB デー タ ベース イ ン タ フ ェ ース か ら の移行 SQL Server 2005 の機能 SQL Server 2008 の機能 SNC イ ン タ フ ェース使用時の注意事項 ページ 97 98 99 100 102 103 106 107 115 サポー ト し ている SQL Server のバージ ョ ン SQL Native Client イ ン タ フ ェ ー ス を 使用す る と 、 Microsoft SQL Server 2000 お よ び 2005 デー タ ベー ス に ア ク セ ス で き ま す。 SQL Native Client イ ン タ フ ェース は、 PBSNC115.DLL と い う DLL を使 用 し てデー タ ベー ス にア ク セ ス し ます。 イ ン タ フ ェ ー ス は、 ク ラ イ ア ン ト 側 で は SQL Server 2005 Native Client (sqlncli.h お よ び sqlncli.dll) を使用 し 、 OLE DB を使用 し て接続 し ます。 SQL Server 2000 に関 し て、 SQL ク ラ イ ア ン ト SDK は Microsoft Database Access Components (MDAC) で 提 供 さ れ て い ま し た。 MDAC は SQL Server 2005 の新 し い機能を サポー ト し てい ません。 こ れ ら の機能を使用す る ためには、 SNC イ ン タ フ ェース を使用す る 必要があ り ます。 SQL Server 2005 SQL Native Client ソ フ ト ウ ェ アが ク ラ イ ア ン ト のマ シ ン に イ ン ス ト ール さ れてい る 必要があ り ます。 デー タ ベース と の接続 97 サポー ト し ている SQL Server デー タ 型 PBODB 初期設定 フ ァ イルを使用 し ない OLE DB か ら 直接行 う 接続では、 一部のパ ラ メ ー タ を設定す る ために PBODB 初期設定フ ァ イ ルを使用 し ま すが、 SNC イ ン タ フ ェ ー ス を使 用 し て行 う 接続では、 PBODB 初期設定フ ァ イ ルに依存 し ません。 サポー ト し ている SQL Server デー タ 型 SQL Native Client デー タ ベース イ ン タ フ ェ ース は、 表 8-1 に示すデー タ 型をサポー ト し てい ます。 表 8-1: サポー ト し てい る Microsoft SQL Server 2005 デー タ 型 Binary Real Bit SmallDateTime SmallInt Character (255 文字 よ り 小 さ い) DateTime SmallMoney Decimal Text Float Timestamp Identity TinyInt Image VarBinary(max) Int VarBinary(n) Money VarChar(max) Numeric VarChar(n) NVarChar(max) XML NVarChar(n) XML デー タ 型は SQL Server 2005 の組み込みデー タ 型で、 こ のデー タ 型に よ り SQL Server デー タ ベース に XML 文書やフ ラ グ メ ン ト を格納 す る こ と がで き ます。 テーブルを作成す る 際のカ ラ ム のデー タ 型 と し て、 こ のデー タ 型を使用す る こ と がで き ます。 SQL Server 2008 ではそのほかのデー タ 型 も サポー ト さ れ ます。 詳細に ついては、 108 ページの 「SQL Server 2008 の新 し いデー タ 型のサポー ト 」 を参照 し て く だ さ い。 98 InfoMaker 第8章 Microsoft SQL Server の使い方 SQL Server 2005 では、VarChar(max)、NVarChar(max)、お よ び VarBinary(max) デー タ 型は、 と て も 大 き な値 (2^31 バ イ ト ま で) を格納 し ます。 メ タ デー タ を取得 し て、 新 し いカ ラ ム を定義 し 、 カ ラ ム のデー タ を検索す る ために こ れ ら のデー タ 型を使用す る こ と がで き ます。 デー タ をパ イ プ ラ イ ン 処理す る た めに こ れ ら のデー タ 型 を 使用す る こ と も で き ま す。 Microsoft SQL Server の基本ソ フ ト ウ ェ ア コ ンポーネ ン ト SQL Native Client イ ン タ フ ェ ー ス を使用 し てデー タ ベー ス にア ク セ ス す る ためには、 図 8-1 の ソ フ ト ウ ェ ア コ ン ポーネ ン ト を イ ン ス ト ール す る 必要があ り ます。 Microsoft SQL Server Native Client ソ フ ト ウ ェ ア は、 1 つの DLL に SQL OLE DB プ ロ バ イ ダお よ び ODBC ド ラ イ バを 含んでい ます。 デー タ ベース と の接続 99 SQL Server デー タ ベース を使用する ための準備 図 8-1: Microsoft SQL Server 接続の コ ンポーネ ン ト SQL Server デー タ ベース を使用する ための準備 デー タ ベース イ ン タ フ ェース を定義 し 、 InfoMaker か ら Microsoft SQL Server デー タ ベー ス に接続す る 前に、 以下の手順に従 っ て 使用す る デー タ ベース を準備 し ます。 100 1 接続に必要なデー タ ベース サーバ、 ネ ッ ト ワー ク 、 ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ール し 、 設定 し ます。 2 SQL Native Client デー タ ベース イ ン タ フ ェ ース を イ ン ス ト ール し ます。 InfoMaker 第8章 3 Microsoft SQL Server の使い方 InfoMaker の外部の環境で、Microsoft SQL Server サーバお よ びデー タ ベース に接続で き る こ と を確認 し ます。 SQL Server 用にデー タ ベース サーバ、 ネ ッ ト ワー ク 、 ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ール し 、 設定す る 必要があ り ます。 ス テ ッ プ 1 : デー タ ベース サーバのイ ン ス ト ール と 設定 v デー タ ベース サーバ、 ネ ッ ト ワー ク、 ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ール し 、 設定する 1 デー タ ベース プ ロ フ ァ イ ルに指定 さ れてい る サーバ上に、 Microsoft SQL Server デー タ ベース ソ フ ト ウ ェ アが イ ン ス ト ール さ れ、 稼働 し てい る こ と を確認 し ます。 Microsoft 社か ら デー タ ベー ス サーバ ソ フ ト ウ ェ アお よ び必要な ラ イ セ ン ス を入手す る 必要があ り ま す。 イ ン ス ト ールの手順につ いては、 Microsoft SQL Server のマニ ュ アルを参照 し て く だ さ い。 SQL Server の以前のバージ ョ ンからのア ッ プグ レー ド SQL Server の最新バージ ョ ンへのア ッ プグ レー ド あ る いは旧バー ジ ョ ン と 一緒に最新バージ ョ ン を イ ン ス ト ールす る 手順について は、 Microsoft SQL Server のマニ ュ アルを参照 し て く だ さ い。 2 リ モー ト の SQL Server デー タ ベース にア ク セ ス し てい る 場合、 必 要なネ ッ ト ワ ー ク ソ フ ト ウ ェ ア (TCP/IP な ど) がマシ ン上に イ ン ス ト ール さ れ、 稼働 し てお り 、 自分のサ イ ト の SQL Server デー タ ベース サーバに接続で き る よ う に正 し く 設定 さ れてい る こ と を確 認 し ます。 イ ン ス ト ール と 設定の手順については、 ネ ッ ト ワ ー ク ま たはデー タ ベース の管理者に問い合わせて く だ さ い。 3 InfoMaker がイ ン ス ト ールさ れている 各ク ラ イ ア ン ト マシン に、 必 要な Microsoft SQL Native Client ソ フ ト ウ ェ ア を イ ン ス ト ール し ま す。 Microsoft 社か ら SQL Native Client ソ フ ト ウ ェ ア を入手す る 必要が あ り ま す。 イ ン ス ト ールす る ク ラ イ ア ン ト ソ フ ト ウ ェ ア のバー ジ ョ ン が、 以下をすべてサポー ト す る こ と を確認 し ます。 ク ラ イ ア ン ト マシ ン上で稼働 し てい る オペレーテ ィ ン グ シ ス テム ア ク セ スす る デー タ ベース のバージ ョ ン 稼働 し てい る InfoMaker のバージ ョ ン イ ン ス ト ールの手順については、 Microsoft SQL Server のマニ ュ ア ルを参照 し て く だ さ い。 デー タ ベース と の接続 101 SQL Server デー タ ベース イ ン タ フ ェ ースの定義 4 自分のサ イ ト か ら SQL Server デー タ ベース サーバに接続で き る よ う に、 SQL Native Client ク ラ イ ア ン ト ソ フ ト ウ ェ アが正 し く 構成 さ れてい る こ と を確認 し ます。 設定の手順については、 Microsoft SQL Server のマニ ュ アルを参照 し て く だ さ い。 5 SQL Native Client ソ フ ト ウ ェ ア を含むデ ィ レ ク ト リ がシ ス テ ム パ ス にあ る こ と を確認 し ます。 6 Sqlncli.dll フ ァ イ ルの 1 つの コ ピーだけが自分のマシ ン に イ ン ス ト ール さ れてい る こ と を確認 し ます。 ス テ ッ プ 2 : デー タ ベース イ ン タ フ ェ ー スのイ ン ス ト ール InfoMaker のセ ッ ト ア ッ プ プ ロ グ ラ ム で、 カ ス タ ム イ ン ス ト ールを選 択 し て、SQL Native Client デー タ ベース イ ン タ フ ェ ース を選択 し ます。 ス テ ッ プ 3 : 接続の確 認 InfoMaker の外部の環境で、 ア ク セ ス し たい SQL Server サーバやデー タ ベース に接続で き る こ と を確認 し ます。 接続を確認す る には、 デー タ ベース に接続す る Windows ベース のユー テ ィ リ テ ィ を使用 し ます。デー タ ベース に接続す る 時には、デー タ ベー ス にア ク セ スす る ために InfoMaker のデー タ ベース プ ロ フ ァ イ ルで使 用す る 予定の接続パ ラ メ ー タ と 同 じ パ ラ メ ー タ を指定 し てい る こ と を 確認 し ます。 SQL Server デー タ ベース イ ン タ フ ェ ースの定義 SQL Native Client イ ン タ フ ェ ー ス を介 し た接続を定義す る には、 少な く と も 、 DB プ ロ フ ァ イ ル設定 - SQL ネ ィ テ ィ ブ ク ラ イ ア ン ト (OLE DB) ダ イ ア ロ グ ボ ッ ク ス の基本接続パ ラ メ ー タ 用の値 を 指定 し て、 デー タ ベー ス プ ロ フ ァ イ ル を作成 し な ければな り ま せん。 次回以降、 こ のデー タ ベース プ ロ フ ァ イ ルを選択す る と 、 開発環境でそのデー タ ベース にいつで も 接続で き ます。 デー タ ベース プ ロ フ ァ イ ルの定義方法については、 10 ページの 「デー タ ベース プ ロ フ ァ イ ルの作成」 を参照 し て く だ さ い。 デー タ ベース プ ロ フ ァ イ ルで特別な設定を要求す る 新 し い機能については、 106 ペー ジ の 「SQL Server 2005 の機能」 を 参照 し て く だ さ い。 既存の ア プ リ ケーシ ョ ン で使用 し たデー タ ベー ス パ ラ メ ー タ と SNC デー タ ベー ス イ ン タ フ ェ ー ス で使用 し たデー タ ベー ス パ ラ メ ー タ の比較につい て は、 次の 「MSS や OLE DB デー タ ベース イ ン タ フ ェース か ら の移行」 を参照 し て く だ さ い。 102 InfoMaker 第8章 Microsoft SQL Server の使い方 MSS や OLE DB デー タ ベース イ ン タ フ ェ ースか らの移行 InfoMaker の以前の リ リ ース では、 MSS ネ イ テ ィ ブ イ ン タ フ ェース を Microsoft SQL Server への接続の た めに提供 し て い ま し た。 こ の ネ イ テ ィ ブ イ ン タ フ ェース は、 Microsoft DB-LIB 機能をベース に し てい ま し た。 Microsoft は こ の機能を サポー ト し な く な り 、 Unicode を使用す る こ と がで き ません。 MSS イ ン タ フ ェ ー ス は、 InfoMaker 10.0 で削除 さ れま し た。 SQL Server 2005 お よ び SQL Native Client の導入の前に、 Microsoft は SQL Server に接続す る ために、 OLE DB デー タ ベース イ ン タ フ ェース お よ び MDAC を使用す る こ と を推奨 し てい ま し た。SQL Server 2005 や SQL Server 2008 の新 し い機能 を 使用す る 必要が な い場合は、 こ の ソ リ ュ ーシ ョ ン を使用 し 続け る こ と がで き ます。 こ の節では、 既存の ア プ リ ケーシ ョ ン で使用 し たデー タ ベー ス パ ラ メ ー タ と SNC デー タ ベー ス イ ン タ フ ェ ー ス で使用で き る パ ラ メ ー タ と の比較を行い ます。 SNC でサポー ト する MSS デー タ ベース パ ラ メータ 表 8-2 は、Microsoft SQL Server のための使用 さ れな く な っ た MSS ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス 用の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス で設定 さ れ る デー タ ベー ス パ ラ メ ー タ お よ び環境設 定項目を記述 し 、 SNC イ ン タ フ ェ ース でサポー ト し てい る か ど う か を 示 し てい ます。 左の列は、 MSS の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の タ ブ ページ を表 し てい ます。 パ ラ メ ー タ お よ び環境設定項目は、 SNC プ ロ フ ァ イ ル と 異な る タ ブ ページにあ る こ と があ り ます。 デー タ ベース と の接続 103 MSS や OLE DB デー タ ベース イ ン タ フ ェ ースか ら の移行 表 8-2: SNC でサポー ト し ている MSS パラ メ ー タ MSS SNC [接続] タ ブ : Language Lock AutoCommit CommitOnDisconnect [シ ス テ ム] タ ブ : Log SystemProcs PBCatalogOwner [ ト ラ ンザ ク シ ョ ン] タ ブ : Async DBGetTime CursorLock CursorScroll StaticBind MaxConnect [構文] タ ブ : DBTextLimit SNC でサポー ト する OLE DB デー タ ベース パラ メ ー タ 未サポー ト サポー ト ([ ト ラ ンザ ク シ ョ ン] タ ブ) サポー ト サポー ト 未サポー ト 未サポー ト サポー ト 未サポー ト 未サポー ト 未サポー ト 未サポー ト サポー ト 未サポー ト DateTimeAllowed OptSelectBlob サポー ト ([ ト ラ ンザ ク シ ョ ン] タ ブの PBMaxTextSize) 未サポー ト 未サポー ト [ネ ッ ト ワー ク ] タ ブ : AppName Host PacketSize Secure サポー ト サポー ト サポー ト サポー ト ([シ ス テ ム] タ ブ) ([シ ス テ ム] タ ブ) ([シ ス テ ム] タ ブ) ([接続] タ ブの TrustedConnection) 表 8-3 は、 Microsoft SQL Server のための OLE DB 標準 イ ン タ フ ェース 用の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス で設定 さ れ る デー タ ベース パ ラ メ ー タ お よ び環境設定を記述 し 、SNC イ ン タ フ ェ ース でサ ポー ト し てい る か ど う か を示 し てい ます。 左の列は、 OLE DB の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の タ ブ ページ を表 し て い ま す。 パ ラ メ ー タ お よ び環境設定は、 SNC プ ロ フ ァ イ ル と 異な る タ ブ ページにあ る こ と があ り ます。 104 InfoMaker 第8章 Microsoft SQL Server の使い方 表 8-3: SNC でサポー ト し てい る MSS パラ メ ー タ OLE DB SNC [接続] タ ブ : Provider DataSource DataLink Location ProviderString [シ ス テ ム] タ ブ : PBCatalogOwner デー タ ベース と の接続 未サポー ト 実行時にサポー ト (SQLCA.ServerName と し て) サポー ト 未サポー ト サポー ト ServiceComponents AutoCommit CommitOnDisconnect StaticBind DisableBind Init_Prompt TimeOut LCID サポー ト 未サポー ト サポー ト ([接続] タ ブ) サポー ト ([接続] タ ブ) サポー ト ([ ト ラ ンザ ク シ ョ ン] タ ブ) サポー ト ([ ト ラ ンザ ク シ ョ ン] タ ブ) 未サポー ト サポー ト 未サポー ト [ ト ラ ンザ ク シ ョ ン] タ ブ : Block PBMaxBlobSize Mode Lock サポー ト サポー ト 未サポー ト サポー ト [構文] タ ブ : DelimitIdentifier IdentifierQuoteChar DateFormat TimeFormat DecimalSeparator OJSyntax サポー ト 未サポー ト サポー ト サポー ト サポー ト サポー ト [セキ ュ リ テ ィ ] タ ブ : EncryptPassword CacheAuthentication PersistSensitive MaskPassword PersistEncrypted IntegratedSecurity 未サポー ト 未サポー ト 未サポー ト 未サポー ト 未サポー ト サポー ト ([接続] タ ブの TrustedConnection) 105 SQL Server 2005 の機能 OLE DB ImpersonationLevel ProtectionLevel SNC 未サポー ト 未サポー ト 追加のデー タ ベース パラ メ ー タ SNC イ ン タ フ ェース は、 Encrypt、 TrustServerCertificate、 SPCache パ ラ メ ー タ ([シ ス テ ム] タ ブ ページ) お よ び Identity パ ラ メ ー タ ([構文] タ ブ ページ) も サポー ト し てい ます。 SPCache デー タ ベー ス パラ メ ー タ SPCache デー タ ベース パ ラ メ ー タ の設定を変更す る こ と で、 パ ラ メ ー タ 情報 と 一緒に キ ャ ッ シ ュ す る ス ト ア ド プ ロ シージ ャ の数 を 制御す る こ と がで き ま す。 デ フ ォ ル ト は、 100 プ ロ シージ ャ です。 ス ト ア ド プ ロ シージ ャ のキ ャ ッ シ ュ を解除す る には、 SPCache に 0 を設定 し ま す。 SNC イ ン タ フ ェ ー ス でサポー ト す る デー タ ベー ス パ ラ メ ー タ につい ては、 オ ン ラ イ ン ヘルプの 『接続 リ フ ァ レ ン ス 』 マニ ュ アルを参照 し て く だ さ い。 SQL Server 2005 の機能 SNC デー タ ベース イ ン タ フ ェ ース は、 SQL Server 2005 で導入 さ れたい く つか の機能 を サ ポー ト し て い ま す。 こ れ ら の機能の使用につい て は、 Microsoft SQL Server 2005 のマニ ュ アルを参照 し て く だ さ い。 Multiple Active Result Sets SNC イ ン タ フ ェ ース は、 Multiple Active Result Sets (MARS) をサポー ト し ま す。 MARS は、 アプ リ ケーシ ョ ン が複数のデフ ォ ル ト の結果集 合を開いて、 それ ら か ら の読み込みを イ ン タ リ ーブにで き ます。 アプ リ ケ ー シ ョ ン は、 デ フ ォ ル ト の結果集合 を 開い て い る 間に INSERT、 UPDATE、 DELETE な ど の ス テー ト メ ン ト お よ びス ト ア ド プ ロ シージ ャ 呼び出 し を実行す る こ と も で き ます。 検証 し ない暗号化 SQL Server 2005 は、 ロ グ イ ン に関連 し たネ ッ ト ワ ー ク パケ ッ ト を常に 暗号化 し ます。開始時にサーバーで証明書が提供 さ れない場合は、SQL Server は ロ グ イ ン パケ ッ ト を暗号化す る ために使用 さ れ る 自己署名入 り の証明書を生成 し ます。 SQL Native Client は、 証明書を検証せずにサーバへ暗号化デー タ を送 信す る こ と を サポー ト し ます。 DB 接続プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス の [シ ス テ ム] ページにあ る [サーバ証明書を信頼す る ] デー タ ベース パ ラ メ ー タ (TrustServerCertificate) で、 こ の機能を制御す る こ と がで き ます。 106 InfoMaker 第8章 スナ ッ プ シ ョ ッ ト 分離 Microsoft SQL Server の使い方 ス ナ ッ プシ ョ ッ ト 分離 レベルは、オ ン ラ イ ン ト ラ ンザ ク シ ョ ン処理の ア プ リ ケーシ ョ ン に関す る 同時実行を 拡張す る ために作 ら れ ま し た。 ス ナ ッ プシ ョ ッ ト 分離の も と で起動す る ト ラ ンザ ク シ ョ ンは、 起動時 に行っ たデー タ ベース ス ナ ッ プシ ョ ッ ト を読み込みます。 こ の コ ン テ キ ス ト 内のキーセ ッ ト 、 動的、 お よ び静的サーバ カー ソ ルは、 シ リ ア ル化可能な ト ラ ン ザ ク シ ョ ン内で開いた静的カー ソ ルの よ う に動作 し ますが、 サーバでのブ ロ ッ ク を減 ら す こ と がで き る ロ ッ ク を行い ませ ん。 ス ナ ッ プシ ョ ッ ト 分離の SQLCA.Lock 値は、 SS です。 DB 接続プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス の [ ト ラ ンザ ク シ ョ ン] タ ブ ページに あ る [分離レベル] 項目で こ の値を設定す る こ と がで き ます。 SQL Server 2008 の機能 InfoMaker は、新 し いデー タ ベース パ ラ メ ー タ お よ び新 し い SQL Server デー タ 型のサポー ト を含めて、 SQL Server 2008 デー タ ベース と の接続 を サポー ト し ま す。 InfoMaker か ら SQL Server 2008 に接続す る には、 SNC 10.0 ド ラ イ バを イ ン ス ト ールす る 必要があ り ます。 新 し いデー タ ベース パラ メ ー タ Provider パラ メ ー タ SQL Native Client (SNC) イ ン タ フ ェ ース の Provider DBParm パ ラ メ ー タ を使用 し て、 接続す る SQL Server のバージ ョ ン を選択で き ます。 ス ク リ プ ト 内で こ のパ ラ メ ー タ を SQLNCLI (SQL Server 2005 に接続す る SNC 9.0 ド ラ イ バの場合) ま たは SQLNCLI10 (SQL Server 2008 に接 続す る SNC 10.0 ド ラ イ バの場合) に設定で き ます。 ま た、 SNC イ ン タ フ ェース のための DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の[接続] タ ブで、 こ れ ら のいずれかのプ ロ バ イ ダ を選択す る こ と も で き ます。 プ ロ バ イ ダ の設定や選択 を 行わ な い場合は、 デ フ ォ ル ト の SQLNCLI (SQL Server 2005 用の SNC 9.0) が選択 さ れます。 こ の場合、 変更を加 え る こ と な く 、 既存の SNC イ ン タ フ ェース のユーザが InfoMaker 11.5 に移行で き ます。 InfoMaker が SQLNCLI プ ロ バ イ ダに接続で き なか っ た場合は、 SQLNCLI10 プ ロ バ イ ダ と の接続を試みます。 ただ し 、 プ ロ バ イ ダ を明示的に設定 し た場合に接続が失敗す る と 、 InfoMaker にエ ラ ー メ ッ セージが表示 さ れます。 デー タ ベース と の接続 107 SQL Server 2008 の機能 Failover パラ メ ー タ FailoverPartner DBParm パ ラ メ ー タ を 使用 し て ミ ラ ー サーバの名前 を 指定 し 、 フ ェ イ ルオーバ イ ベン ト が発生 し た場合にデー タ ベース のア ベ イ ラ ビ リ テ ィ を維持で き ます。 SNC イ ン タ フ ェース のための DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の [シ ス テ ム] タ ブ で、 ミ ラ ー サーバの名前を設定す る こ と も で き ます。 フ ェ イ ルオーバが発生す る と 、 InfoMaker と SQL Server の既存の接続 が失われます。 SNC ド ラ イ バが既存の接続を解放 し 、 再度接続を開 こ う と し ま す。 再接続が成功す る と 、 InfoMaker が フ ェ イ ルオーバ イ ベ ン ト を起動 し ます。 InfoMaker が フ ェ イ ルオーバ イ ベン ト を起動す る には、 以下の条件を 満たす必要があ り ます。 • 接続時に FailoverPartner DBParm を指定 し た • SQL Server デー タ ベース の ミ ラ ー リ ン グが設定 さ れてい る • InfoMaker が、 既存の接続が失われた と き に正常に再接続で き る フ ェ イ ルオーバが発生す る と 、 以下の よ う な状態にな り ます。 • InfoMaker がエ ラ ー コ ー ド (998) を返 し 、 フ ェ イ ルオーバ イ ベン ト を起動す る • 既存のカー ソ ルは使用で き ないため、 閉 じ る 必要があ る • 失敗 し たデー タ ベース の操作を再試行で き る • コ ミ ッ ト さ れていない ト ラ ン ザ ク シ ョ ン は失われ る 。 新規 ト ラ ン ザ ク シ ョ ン を開始す る 必要があ る SQL Server 2008 の新 し いデー タ 型のサポー ト 日付 と 時刻のデー タ 型 以下の表に、 SQL Server 2008 の新 し い日付 と 時刻のデー タ 型、 お よ び こ れ ら がマ ッ プ さ れ る PowerScript デー タ 型を示 し ます。 SQL Server のデー タ 型 DATE TIME DATETIME2 108 PowerScript のデー タ 型 日付 Time (小数秒精度は 6 桁ま で。ただ し 、SQL Server のデー タ 型では 7 桁 ま での小数秒精度がサポー ト さ れる) DateTime (小数秒精度は 6 桁ま で。 ただ し 、 SQL Server のデー タ 型では 7 桁ま での小数秒精度がサ ポー ト さ れ る ) InfoMaker 第8章 Microsoft SQL Server の使い方 SQL Server 2008 の DATETIMEOFFSET デー タ 型は InfoMaker 11.5 では サポー ト さ れ ません。 精度の設定 SQL Server 2008 デー タ ベース のテーブル カ ラ ム にマ ッ プ す る 際に、 InfoMaker は レ ポー ト ペ イ ン タ の カ ラ ム の仕様 ビ ュ ーに [Dec] と い う カ ラ ム を追加 し 、 デー タ ベース ペ イ ン タ のカ ラ ム (オブ ジ ェ ク ト の詳細) ビ ュ ーに [小数秒精度] と い う テ キ ス ト ボ ッ ク ス を 追 加 し ま す。 こ れ ら の フ ィ ー ル ド を 使 用 し て、 TIME および DATETIME2 カ ラ ム の精度を指定で き ます。 精度の設定はテーブル作成以外には使用で き ません。 カ ラ ム のデー タ の検索や更新の際には、 カ ラ ム に対 し て高い精度を入力 し た場合で も 6 桁の小数秒精度だけが使用 さ れ ます。 Filestream デー タ 型 FILESTREAM デー タ 型を使用 し て、 大 き なバ イ ナ リ デー タ を NTFS フ ァ イ ル シ ス テ ム に直接格納で き ます。 Transact-SQL 文で FILESTREAM デー タ の挿入、 更新、 ク エ リ 、 検索、 お よ びバ ッ ク ア ッ プ を行 う こ と がで き ます。 SQL Server デー タ ベース エ ン ジ ンに よ り FILESTREAM が Varbinary(max) デー タ 型 と し て実装 さ れ ます。 InfoMaker SNC イ ン タ フ ェース に よ り Varbinary(max) デー タ 型が BLOB デー タ 型にマ ッ プ さ れ、 それぞれ SelectBlob ま たは UpdateBlob SQL 文を使用 し て Filestream デー タ が検索ま たは更新 さ れ ます。 デー タ を フ ァ イ ル シ ス テ ムに格納す る よ う にカ ラ ム を設定す る には、 Varbinary(max) カ ラ ム 定義に FILESTREAM 属性を含め る 必要があ り ます。 た と えば、 以下 の よ う に指定 し ます。 CREATE TABLE FSTest ( GuidCol1 uniqueidentifier ROWGUIDCOL NOT NULL UNIQUE DEFAULT NEWID(), IntCol2 int, varbinaryCol3 varbinary(max) FILESTREAM); FILESTREAM デー タ には PowerScript のフ ァ イル ア ク セス関数を使用 し な い InfoMaker アプ リ ケーシ ョ ン内で直接 Win32 API 関数を宣言 し て使用 す る こ と に よ り 、 FILESTREAM デー タ にア ク セ ス で き ます。 ただ し 、 InfoMaker の既存の フ ァ イ ル ア ク セ ス関数を使用 し て FILESTREAM フ ァ イ ルにア ク セ スす る こ と はで き ません。 Win32 API を使用 し て FILESTREAM デー タ にア ク セ スす る ための詳細は、 MSDN SQL Server Developer Center Web のサイ ト http://msdn.microsoft.com/enus/library/bb933877(SQL.100).aspx を参照 し て く だ さ い。 デー タ ベース と の接続 109 SQL Server 2008 の機能 InfoMaker における CLR デー タ 型の使用 .NET 共通言語 ラ ン タ イ ム (CLR: Common Language Runtime) デー タ 型のバ イ ナ リ 値は、 SQL Server デー タ ベース か ら Blob と し て検索す る こ と が可能で、 こ れを InfoMaker アプ リ ケーシ ョ ン内で使用 し て、 デー タ ベース のほかのカ ラ ム を更新で き ます。 こ の戻 り 値が InfoMaker デー タ 型 と 互換性を持つ場合は、 CLR デー タ 型の メ ソ ッ ド を PowerScript、 動的 SQL、 埋め込み SQL ま たは レ ポー ト オブジ ェ ク ト 内で使用で き ます。 こ れは、 SQL ス ク リ プ ト が SQL Server 側で実行 さ れ る ためです。 CLR デー タ 型を PowerScript の文字列にマ ッ プす る こ と も で き ますが、 検索 さ れ る デー タ はバ イ ナ リ デー タ を 16 進法文字列で表現 し た も の です。 ToString メ ソ ッ ド を使用 し て、 HierarchyID デー タ 型、 Spatial デー タ 型、 ユーザ定義のデー タ 型な ど CLR デー タ 型 と し て実装 さ れたすべて の デー タ 型を扱 う こ と がで き ます。 HierarchyID デー タ 型 HierarchyID は可変長のシ ス テ ム デー タ 型で、 組織構造な ど 階層型 ツ リ ーの ノ ー ド を表す値を格納で き ます。 こ のデー タ 型の値はツ リ ー階 層内の位置を表 し ます。 ISQL の使い方 ISQL ペ イ ン タ では、 CREATE TABLE、 SELECT、 UPDATE、 INSERT、 お よ び DELETE 文で HierarchyID カ ラ ム を使用で き ます。 た と えば、 以下の よ う に指定 し ます。 CREATE TABLE Emp ( EmpId int NOT NULL, EmpName varchar(20) NOT NULL, EmpNode hierarchyid NULL); HierarchyID デー タ を挿入す る には、HierarchyID を正規文字列で表現す る か、以下の よ う に HierarchyID デー タ 型 と 関連付け ら れた メ ソ ッ ド を 使用で き ます。 INSERT into Emp VALUES (1, 'Scott', hierarchyid::GetRoot()); INSERT into Emp VALUES (2, 'Tom' , '/1/'); DECLARE @Manager hierarchyid SELECT @Manager = hierarchyid::GetRoot() FROM Emp INSERT into Emp VALUES (2, 'Tom', @Manager.GetDescendant(NULL,NULL)); DECLARE @Employee hierarchyid SELECT @Employee = CAST('/1/2/3/4/' AS hierarchyid) INSERT into Emp VALUES (2, 'Jim' , @Employee); 110 InfoMaker 第8章 Microsoft SQL Server の使い方 HierarchyID カ ラ ムはバ イ ナ リ デー タ を含むため、カ ラ ム を直接選択す る こ と はで き ません。 ま た、 ISQL ペ イ ン タ の結果ビ ュ ーにはバ イ ナ リ カ ラ ム は表示で き ま せん。 ただ し 、 HierarchyID の ToString メ ソ ッ ド を 使用 し て、 HierarchyID デー タ を文字列値 と し て検索で き ます。 た と え ば、 以下の よ う に指定 し ます。 Select EmpId, EmpName, EmpNode.ToString() from Emp; HierarchyID カ ラ ムに対 し て、GetAncestor、GetDescendant、GetLevel、GetRoot、 IsDescendant、 Parse、 お よ び Reparent メ ソ ッ ド を使用 し てデー タ を検索す る こ と も で き ます。こ れ ら のいずれかの メ ソ ッ ド が HierarchyID ノ ー ド を返 し た場合は、 ToString を使用 し てデー タ を文字列に変換 し ます。 た と えば、 以下の よ う に指定 し ます。 Select EmpId, EmpName, EmpNode.GetLevel() from Emp; Select EmpId, EmpName, EmpNode.GetAncestor(1).ToString() from Emp; 以下の よ う に、 文字列値ま たは HierarchyID 変数を使用 し て HierarchyID カ ラ ム を更新で き ます。 Update Emp Set EmpNode = '/1/2/' where EmpId=4; Delete from Emp where EmpNode = '/1/2/'; PowerScript の使い方 SELECT、 INSERT、 UPDATE、 お よ び DELETE 操作 で は、 埋 め 込み SQL 文 で HierarchyID カ ラ ム を 使用 で き ま す。 HierarchyID デー タ は、 SelectBlob 文を使用 し て String ま たはバ イ ナ リ (Blob) デー タ 型 と し て検索で き ます。 String デー タ 型で HierarchyID デー タ を検索す る 場合は、ToString メ ソ ッ ド を使用 し ます。 それ以外の場合、 HierarchyID のバ イ ナ リ 値が 16 進 法で表現 さ れます。 以下の例では、 埋め込み SQL で HierarchyID メ ソ ッ ド を使用 し てい ま す。 long id String hid,name Select EmpId, EmpName, EmpNode.ToString() into :id, :name, :hid from Emp where EmpId=3; Select EmpId, EmpName, EmpNode.GetLevel() into :id, :name, :hid from Emp where EmpId=3; Blob b Selectblob EmpNode into :b from Emp where EmpId =2; デー タ ベース と の接続 111 SQL Server 2008 の機能 デー タ ウ ィ ン ド ウの使い方 Report では HierarchyID デー タ 型は直接はサ ポー ト さ れません。 し か し 、 デー タ ソ ース の SQL で ToString メ ソ ッ ド ま たは関連す る HierarchyID メ ソ ッ ド を使用 し て、 HierarchyID を文字 列に変換で き ます。 た と えば、 以下の よ う に指定 し ます。 SELECT EmpId, EmpName, EmpNode.ToString() FROM Emp; SELECT EmpId, EmpName, EmpNode.GetLevel() FROM Emp; Spatial デー タ 型 Microsoft SQL Server 2008 では、 geometry デー タ 型 と geography デー タ 型の 2 つの spatial デー タ 型がサポー ト さ れ ます。 SQL Server では、 こ れ ら のデー タ 型が .NET 共通言語 ラ ン タ イ ム (CLR: Common Language Runtime) デー タ 型 と し て実装 さ れます。 InfoMaker SNC イ ン タ フ ェース では CLR デー タ 型を扱え ませんが、 spatial デー タ 型を (ToString 関数を使用 し て) 文字列に変換 し 、 PowerScript、 ISQL ペ イ ン タ 、 埋め込み SQL、 お よ びレ ポー ト 内で使 用で き ます。 こ れは HierarchyID デー タ 型を使用す る 場合 と 似てい ま す。 SelectBlob SQL 文を使用 し て、 こ れ ら のデー タ 型のバ イ ナ リ 値を 検索す る こ と も で き ます。 geography お よ び geometry デー タ 型は 11 種類のデー タ オブジ ェ ク ト ( イ ン ス タ ン ス の種類) を サポー ト し ますが、 イ ン ス タ ン ス化で き る の はその う ち 6 つだけで、 Points、 LineStrings、 Polygons、 お よ び イ ン ス タ ン ス 化 で き る GeometryCollection の オ ブ ジ ェ ク ト (MultiPoints、 MultiLineStrings、 MultiPolygons) です。 STAsText、 STArea、 STGeometryType な ど の関連 し た メ ソ ッ ド を呼び出 し て、 こ れ ら のオブジ ェ ク ト を作成 し てデー タ ベース で扱 う こ と がで き ます。 た と えば、 以下の よ う に指 定 し ます。 CREATE TABLE SpatialTable (id int IDENTITY (1,1), GeomCol geometry); INSERT INTO SpatialTable (GeomCol) VALUES ( geometry::STGeomFromText( 'LINESTRING (100 100,20 180,180 180)',0)); select id, GeomCol.ToString() from SpatialTable; select id, GeomCol.STAsText(), GeomCol.STGeometryType(), GeomCol.STArea() from SpatialTable; ユーザ定義のデー タ 型 112 ユーザ定義のデー タ 型 (UDT: User-Defined Type) は CLR デー タ 型 と し て SQL Server に 実装 さ れ、 .NET と 統合 さ れ ま す。 Microsoft SQL Server 2008 では UDT の 8KB の制限がな く な っ たため、 UDT デー タ の サ イ ズ を大幅に拡張す る こ と が可能です。 InfoMaker 第8章 Microsoft SQL Server の使い方 InfoMaker SNC イ ン タ フ ェ ース では UDT デー タ 型は直接サポー ト さ れ ませんが、 ToString メ ソ ッ ド を使用 し て、 HierarchyId や spatial デー タ 型 な ど の CLR デー タ 型 と 同様に、 UDT のデー タ を検索で き ま す。 ただ し 、 PowerScript で UDT デー タ 型を String デー タ 型にマ ッ プ し た場合 は、 UDT バ イ ナ リ 値が 16 進法文字列 と し て検索 さ れ ます。 UDT か ら バ イ ナ リ 形式 (blob) でデー タ を検索 ま たは更新す る には、 それぞれ SelectBlob ま たは UpdateBlob SQL 文を使用 し ます。 InfoMaker アプ リ ケーシ ョ ン では、 互換性のあ る デー タ (String、 Long、 Decimal な ど) を返す UDT ま たは CLR デー タ 型に関連付け ら れた任意 の メ ソ ッ ド を使用で き ます。 T-SQL の拡張機能 MERGE 文 MERGE Transact-SQL 文は、 タ ーゲ ッ ト テーブル ま たは ソ ース テーブ ル と の結合結果に基づ く ビ ュ ーに対 し て、 INSERT、 UPDATE、 ま たは DELETE 操作を実行 し ま す。 MERGE 文は ISQL ペ イ ン タ と 動的 SQL を使用す る PowerScript で使用で き ます。 た と えば、 以下の よ う に指定 し ます。 String mySQL mySQL = "MERGE INTO a USING b ON a.keycol = b.keycol " & + "WHEN MATCHED THEN "& + "UPDATE SET col1 = b.col1,col2 = b.col2 " & + "WHEN NOT MATCHED THEN " & + "INSERT (keycol, col1, col2, col3)" & + "VALUES (b.keycol, b.col1, b.col2, b.col3) " & + "WHEN SOURCE NOT MATCHED THEN " & + "DELETE;" EXECUTE IMMEDIATE :Mysql; ISQL での MERGE 文の使用 MERGE 文はセ ミ コ ロ ン で終了す る 必要があ り ます。 ISQL ペ イ ン タ の デフ ォ ル ト では、 セ ミ コ ロ ン が SQL 終了文字 と し て使用 さ れ る ため、 ISQL で MERGE 文を使用す る には、 終了文字を コ ロ ン (:) 、 ス ラ ッ シ ュ (/)、 ま たはそのほかの特殊文字に変更す る 必要があ り ます。 GROUPING SETS デー タ ベース と の接続 GROUPING SETS は GROUP BY 句の拡張機能で、同 じ ク エ リ 内で複数 のグループ化を定義で き ます。 GROUPING SETS では単一の結果セ ッ ト が生成 さ れ る ため、 集計の ク エ リ と レ ポー ト を容易に高速に実行で き ます。 こ れは異な る 方法でグループ化 さ れた行の UNION ALL 操作 に相当 し ます。 113 SQL Server 2008 の機能 GROUPING SETS、 ROLLUP、 お よ び CUBE 演算子が GROUP BY 句に 追加 さ れ ま し た。 新 し い関数 GROUPING_ID は既存の GROUPING 関 数 よ り 高度 に グ ル ー プ 化 さ れ た 情報 を 返 し ま す (WITH ROLLUP、 WITH CUBE、 お よ び ALL 構文は ISO 準拠で な い た め廃止 さ れ ま し た)。 以下の例では、 GROUPING SETS 演算子 と GROUPING_ID 関数が使用 さ れてい ます。 SELECT EmpId, Month, Yr, SUM(Sales) AS Sales FROM Sales GROUP BY GROUPING SETS((EmpId, ROLLUP(Yr, Month))); SELECT COL1, COL2, SUM(COL3) AS TOTAL_VAL, GROUPING(COL1) AS C1, GROUPING(COL2) AS C2, GROUPING_ID(COL1, COL2) AS GRP_ID_VALUE FROM TEST_TBL GROUP BY ROLLUP (COL1, COL2); GROUPING SETS 演算子は ISQL ペ イ ン タ 、PowerScript (埋め込み SQL と 動的 SQL)、 お よ びレ ポー ト (構文表示モー ド ) で使用で き ます。 行コ ンス ト ラ ク タ Transact-SQL で、1 つの INSERT 文内で複数の値の挿入を実行で き る よ う にな り ま し た。拡張 さ れた INSERT 文を ISQL ペ イ ン タ と PowerScript (埋め込み SQL と 動的 SQL) で使用で き ます。 た と えば、 以下の よ う に指定 し ます。 INSERT INTO Employees VALUES ('tom', 25, 5), ('jerry', 30, 6), ('bok', 25, 3); 1 つ の INSERT 文 で ホ ス ト 変数 を 含む複数 の 値 を 指定す る 場合は、 DisableBind DBParm を 1 に設定す る 必要があ り ます。 上記の例の よ う に リ テ ラ ル値 を 使用す る と 、 バ イ ン ド 設定 と は関係 な く 、 1 つの INSERT 文で複数の行を挿入で き ます。 互換性レ ベル SQL Server 2008 では、 ALTER DATABASE 文でデー タ ベース の互換性 レベル (SQL Server のバージ ョ ン) を設定で き ます。 こ れは sp_dbcmptlevel プ ロ シージ ャ と 置 き 換え ら れ ま し た。 こ の構文は ISQL ペ イ ン タ と PowerScript (動的 SQL) で使用で き ます。 た と えば、 以 下の よ う に指定 し ます。 ALTER DATABASE <database_name> SET COMPATIBILITY_LEVEL = {80 | 90 | 100} 80 = SQL Server 2000 90 = SQL Server 2005 100 = SQL Server 2008 114 InfoMaker 第8章 Microsoft SQL Server の使い方 互換性 レ ベルは、 デー タ ベー ス サーバ全体では な く 指定 し たデー タ ベース の動作のみに影響 し ます。こ の場合、旧バージ ョ ンの SQL Server と の下位互換性は部分的な も のです。 デー タ ベー ス の互換性レベルを 一時的な移行手段 と し て利用 し 、 異な る バージ ョ ン のデー タ ベース の 動作の違い を回避す る こ と がで き ます。 テーブル ヒ ン ト FORCESEEK テーブル ヒ ン ト は、 ク エ リ オプテ ィ マ イ ザのデフ ォ ル ト の動作を無効に し ます。 こ れは高度なパフ ォ ーマ ン ス チ ュ ーニ ン グ オ プシ ョ ン を備え、 ク エ リ に よ り 参照す る テーブル ま たはビ ュ ーのデー タ の唯一の ア ク セ ス パ ス と し て イ ンデ ッ ク ス シー ク 操作を使用す る よ う に、 ク エ リ オプテ ィ マ イ ザに指示 し ます。 FORCESEEK テーブル ヒ ン ト は ISQL ペ イ ン タ 、 PowerScript (埋め込み SQL と 動的 SQL)、 お よ びレ ポー ト (構文表示モー ド ) で使用で き ます。 た と えば、 以下の よ う に指定 し ます。 Select ProductID, OrderQty from SalesOrderDetail with (FORCESEEK); 未サポー ト の SQL Server 2008 の機能 InfoMaker SNC イ ン タ フ ェース は、 SQL Server 2008 で導入 さ れたユー ザ定義のテーブルの種類 (テーブル構造の定義を表すユーザー定義の 種類) をサポー ト し ません。 SNC イ ン タ フ ェ ース使用時の注意事項 SQL バ ッ チ文 SNC イ ン タ フ ェ ー ス は、 SQL バ ッ チ文 を サ ポー ト し ま す。 し か し 、 BEGIN...END ブ ロ ッ ク で囲んだ り 、 キー ワ ー ド DECLARE で開始 し た り す る 必要があ り ます。 • BEGIN...END ブ ロ ッ ク で囲む場合 : BEGIN INSERT INSERT SELECT SELECT END • デー タ ベース と の接続 INTO t_1 values(1, 'sfdfs') INTO t_2 values(1, 'sfdfs') * FROM t_1 * FROM t_2 キー ワ ー ド DECLARE で開始す る 場合 : 115 SNC イ ン タ フ ェ ース使用時の注意事項 DECLARE @p1 int, @p2 varchar(50) SELECT @p1 = 1 EXECUTE sp_4 @p1, @p2 OUTPUT SELECT @p2 AS 'output' デー タ ベース ペ イ ン タ の SQL 文のバ ッ チを返す こ と がで き ます。次の よ う に指定 し ます。 String batchSQL //SQL 文のバ ッ チ を含む DECLARE my_cursor DYNAMIC CURSOR FOR SQLSA ; PREPARE SQLSA FROM :batchSQL ; OPEN DYNAMIC my_cursor ; // 最初の結果集合 FETCH my_cursor INTO . . . //2 番目の結果集合 FETCH my_cursor INTO . . . . . CLOSE my_cursor ; 接続プー リ ング SNC イ ン タ フ ェ ー ス は、 OLE DB プール を 使用 し て自動的に接続 を プール し ます。 OLE DB プールを無効にす る には、 DB プ ロ フ ァ イ ル設 定 ダ イ ア ロ グ ボ ッ ク ス の [接続] タ ブ ページ の [拡張プ ロ パ テ ィ ] ボ ッ ク ス に次の よ う に入力 し ます。 OLE DB Services=-4 デー タ ベース ペ イ ン タ の ト リ ガ と シ ノ ニム 116 デー タ ベース ペ イ ン タ の SNC プ ロ フ ァ イ ル用のオブジ ェ ク ト ビ ュ ー では、ト リ ガはテーブル フ ォ ルダにテーブルについて表示 し 、Microsoft SQL Server 2005 シ ノ ニ ムはテーブルお よ びビ ュ ーを表示 し ます。 InfoMaker 第 9 章 Oracle の使い方 こ の章について こ の節では、 InfoMaker において ネ イ テ ィ ブ Oracle デー タ ベー ス イ ン タ フ ェース を使用す る 方法について解説 し ます。 内容 項目 サポー ト し てい る Oracle のバージ ョ ン サポー ト し てい る Oracle デー タ 型 Oracle の基本 ソ フ ト ウ ェ ア コ ン ポーネ ン ト Oracle デー タ ベース を使用す る ための準備 Oracle デー タ ベース イ ン タ フ ェース の定義 デー タ ソ ース と し ての Oracle ス ト ア ド プ ロ シージ ャ の使い方 Oracle ユーザ定義デー タ 型の使い方 ORA ド ラ イ バに よ る Oracle 11g の機能のサポー ト ページ 117 118 121 122 127 128 133 135 サポー ト し ている Oracle のバージ ョ ン InfoMaker では、3 種類の Oracle デー タ ベース イ ン タ フ ェース が提 供 さ れてい ます。 こ れ ら の イ ン タ フ ェース は、Oracle の各バージ ョ ン に対応 し た DLL を使用 し て Oracle デー タ ベー ス に ア ク セ ス し ます。 表 9-1: サポー ト し ている ネ イ テ ィ ブ Oracle デー タ ベース イ ン タ フ ェ ース DLL Oracle イ ン タ フ ェ ース O90 Oracle9i PBO90115DLL O10 Oracle 10g PBO10115.DLL ORA Oracle 11g PBORA115.DLL O84 Oracle8i イ ン タ フ ェース は InfoMaker 11.5 以降ではサポー ト さ れません。 デー タ ベース と の接続 117 サポー ト し ている Oracle デー タ 型 詳細について サポー ト し てい る Oracle のバージ ョ ン についての最新情報は、 Sybase サポー ト と ダウン ロー ド のサイ ト http://www.sybase.com/detail?id=1011566 ま たは InfoMaker の リ リ ース ノ ー ト を参照 し て く だ さ い。 ORA デー タ ベース イ ン タ フ ェ ース では、 Oracle 11g Database Client ま たは Oracle 11g Instant Client を使用 し て Oracle 11g サーバに接続で き ま す。 こ の イ ン タ フ ェース では、 InfoMaker String デー タ 型にマ ッ プ さ れ る XMLType デー タ 型 も 部分的にサポー ト さ れます。 ま た、 セ ッ シ ョ ン プ ー リ ン グ と 接続 プ ー リ ン グ、 ロ ー ド バ ラ ン シ ン グ、 Oracle Client キ ャ ッ シ ュ 、 アプ リ ケーシ ョ ン の ド ラ イ バ名の設定、 プ ロ キ シ を介 し た ア ク セ ス も サポー ト さ れます。Oracle 11g ク ラ イ ア ン ト は Oracle9i ま たは Oracle 10g サーバに も 接続で き ます。 O10 デー タ ベース イ ン タ フ ェース では、Oracle 10g Database Client ま た は Oracle 10g Instant Client を使用 し て Oracle 10g サーバに接続で き ま す。 BINARY_FLOAT デー タ 型 と BINARY_DOUBLE デー タ 型 を サ ポー ト し 、 CLOB デー タ 型 と NCLOB デー タ 型のサ イ ズ制限 を拡大 し ま し た。 Oracle 10g ク ラ イ ア ン ト は、 Oracle9i サーバ と Oracle 10g サーバへ接続 す る こ と がで き ま すが、 Oracle8i 以前のサーバに接続す る こ と はで き ません。 サポー ト し ている Oracle デー タ 型 Oracle デー タ ベース イ ン タ フ ェース は、 レ ポー ト において、 表 9-2 に 示す Oracle デー タ 型をサポー ト し てい ます。 118 InfoMaker 第9章 Oracle の使い方 表 9-2: サポー ト し ている Oracle のデー タ 型 LongRaw Binary_Float (Oracle 10g 以降のみ) Binary_Double (Oracle 10g 以降のみ) Bfile Blob Char Clob Date Float Long NChar Number NVarChar2 Raw TimeStamp VarChar VarChar2 XMLType (部分的サポー ト 、 ORA ド ラ イ バのみ) ORA ド ラ イ バでは、 Oracle 9i で導入 さ れた XMLType デー タ 型のサポー ト が追加 さ れ ま し た。 ただ し 、 埋め込み SQL 文ま たは レ ポー ト では こ のデー タ 型は使用で き ません。 Unicode デー タ へのア ク セス InfoMaker は、 ANSI/DBCS お よ び Unicode の両方のデー タ ベース の デー タ に接続、 保存、 検索す る こ と がで き ますが、 Unicode と ANSI/DBCS 間でデー タ 変換を行い ません。 文字デー タ ま たは コ マ ン ド テ キ ス ト がデー タ ベース に送信 さ れ る と 、 InfoMaker は Unicode 文 字列を送信 し ます。 デー タ が正 し く Unicode デー タ と し て保存 さ れ る こ と を ド ラ イ バが保証す る 必要があ り ます。 InfoMaker は文字デー タ を検索す る と き 、 デー タ は Unicode であ る と 仮定 し ます。 Unicode デー タ ベー ス は、 文字セ ッ ト が Unicode 形式 (UTF-8、 UTF16、 UCS-2、 UCS-4 な ど) に設定 さ れ る デー タ ベース の こ と です。 すべ てのデー タ は、 Unicode 形式でなければな ら ず、 デー タ ベース に保存 さ れ る デー タ は、 暗黙的に ま たは明示的に Unicode デー タ に変換 さ れな ければな り ません。 文字セ ッ ト と し て ANSI (ま たは DBCS) を使用す る デー タ ベー ス は、 Unicode デー タ を格納す る 特殊なデー タ 型を使用す る こ と があ り ます。 こ れ ら のデー タ 型は NCHAR、 お よ び NVARCHAR2 です。 こ のデー タ 型 を持つカ ラ ムは、 Unicode デー タ だけです。 その よ う な カ ラ ムに保存 さ れ る デー タ は、 明示的に Unicode に変換 さ れ る 必要があ り ます。 こ の 変換はデー タ ベー ス サーバ ま たは ク ラ イ ア ン ト が処理す る 必要が あ り ます。 デー タ ベース と の接続 119 サポー ト し ている Oracle デー タ 型 Oracle は定数文字列を Char 型 と し て認識 し 、 文字セ ッ ト は NLS_CHARACTERSET です。 し か し 、 デー タ ベース でのデー タ 型が NCHAR で、 文字セ ッ ト が NLS_NCHAR_CHARACTERSET の場合、 Oracle は NLS_CHARACTERSET か ら NLS_NCHAR_CHARACTERSET へ変換 し ます。 こ れに よ り デー タ の喪失が生 じ ます。 例えば、 NLS_CHARACTERSET が WE8ISO8859P1 で、 NLS_NCHAR_CHARACTERSET が UTF8 の場合、 Unicode デー タ が WE8ISO8859P1 へ割 り 当て ら れ る と 、 Unicode デー タ は破損 し ます。 デフ ォ ル ト では、 Oracle デー タ ベース イ ン タ フ ェース は、 パフ ォ ーマ ン ス の ダ ウ ン グ レ ー ド を 避 け る た め に、 すべ て の 文字列デー タ を Oracle CHAR デー タ 型 と し て内部変数にバ イ ン ド し ます。サーバ上で確 実に NCHAR お よ び NVARCHAR2 カ ラ ムが こ の よ う に処理 さ れ る よ う に す る ために、 NCharBind デー タ ベース パ ラ メ ー タ を 1 に設定 し て、 ド ラ イ バが文字列デー タ を Oracle NCHAR デー タ 型 と し てバ イ ン ド す る よ う に し ます。 NCHAR デ ー タ 型 や NVARCHAR2 デ ー タ 型 の 入 力 パ ラ メ ー タ を 持 つ Oracle の ス ト ア ド プ ロ シージ ャ で、 入力デー タ が Unicode 文字列の場 合、 Oracle デ ー タ ベ ー ス に 入 力 デ ー タ を バ イ ン ド さ せ る た め に、 BindSPInput デー タ ベース パ ラ メ ー タ に 1 を設定 し ます。Oracle デー タ ベース イ ン タ フ ェース は、 そのパ ラ メ ー タ を設定す る プ ロ シージ ャ を 記述で き ます。 そのため、 NCharBind デー タ ベース パ ラ メ ー タ を設定 す る 必要があ り ません。 レ ポー ト が NCHAR や NVARCHAR2 カ ラ ム にア ク セ ス し 、 正 し く デー タ を検索す る ためには、 DisableBind と StaticBind の両方に 0 を設定 し ま す。 StaticBind に 0 を設定す る こ と で、 InfoMaker は検索す る 前に正 し いデー タ 型を取得 し ます。 TimeStamp デー タ 型 Oracle9i 以降の TimeStamp デー タ 型は、 Date デー タ 型を拡張 し た も ので す。 以下の よ う に Date 値の年、 月、 日に加え て、 時間、 分、 秒を格納 し ます。 Timestamp[fractional_seconds_precision] fractional_seconds_precision 値はオプシ ョ ン で、 秒を示す小数値を指定 し ます。 InfoMaker での使用で有効な値の範囲は、 0-6 です。 120 InfoMaker 第9章 Oracle の使い方 Oracle の基本ソ フ ト ウ ェ ア コ ンポーネ ン ト InfoMaker か ら Oracle デー タ ベース にア ク セ スす る ためには、図 9-1 に 示す ソ フ ト ウ ェ ア コ ン ポーネ ン ト を イ ン ス ト ールす る 必要が あ り ま す。 デー タ ベース と の接続 121 Oracle デー タ ベース を使用する ための準備 図 9-1: Oracle 接続の コ ンポーネ ン ト Oracle デー タ ベース を使用する ための準備 デー タ ベース イ ン タ フ ェ ース を定義 し 、 InfoMaker か ら Oracle デー タ ベー ス に接続す る 前に、 以下の手順に従っ て使用す る デー タ ベー ス を 準備 し ます。 1 122 接続に必要なデー タ ベース サーバ、 ネ ッ ト ワー ク 、 ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ール し 、 設定 し ます。 InfoMaker 第9章 Oracle の使い方 2 ア ク セ スす る Oracle のバージ ョ ンに対応す る ネ イ テ ィ ブ Oracle デー タ ベース イ ン タ フ ェ ース を イ ン ス ト ール し ます。 3 InfoMaker の外部の環境で、 Oracle サーバやデー タ ベース に接続で き る こ と を確認 し ます。 4 (ORA ド ラ イ バのみ) 接続プー リ ン グ ま たはセ ッ シ ョ ン プー リ ン グ を使用す る か決定 し ます。 InfoMaker で使用す る Oracle デー タ ベー ス を準備す る には、 以下の基 本的な操作を し ます。 Oracle のデー タ ベー ス サーバ、 ネ ッ ト ワ ー ク 、 ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ール し 、 設定す る 必要があ り ます。 ス テ ッ プ 1 : デー タ ベース サーバのイ ン ス ト ール と 設定 v デー タ ベース サーバ、 ネ ッ ト ワー ク、 ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ール し 、 設定する 1 自分のマシ ン上、 ま たはデー タ ベース プ ロ フ ァ イ ルに指定 さ れて い る サーバ上に、 Oracle デー タ ベー ス ソ フ ト ウ ェ アが イ ン ス ト ー ル さ れてい る こ と を確認 し ます。 た と えば、 Oracle O90 イ ン タ フ ェース では、 Oracle9i ま たは Oracle 10g デー タ ベース サーバにア ク セ ス で き ます。 Oracle 社のデー タ ベース サーバ ソ フ ト ウ ェ ア を入手す る 必要があ り ます。 イ ン ス ト ールの手順については、 Oracle のマ ニ ュ アルを参照 し て く だ さ い。 2 サポー ト さ れ る ネ ッ ト ワー ク ソ フ ト ウ ェ ア (TCP/IP な ど) がマシ ン上に イ ン ス ト ール さ れ、 稼動 し てお り 、 自分のサ イ ト のデー タ ベース サーバに接続で き る よ う に正 し く 設定 さ れてい る こ と を確 認 し ます。 Hosts フ ァ イ ル と Services フ ァ イ ルが自分のマシ ン上にあ り 、 環境 に合わせて正 し く 設定 さ れていなければな り ません。 ネ ッ ト ワー ク ソ フ ト ウ ェ アは、 ネ ッ ト ワー ク ベン ダ ま たはデー タ ベース ベン ダか ら 入手す る 必要があ り ます。 イ ン ス ト ール と 設定の手順については、 ネ ッ ト ワ ー ク ま たはデー タ ベース の管理者に問い合わせて く だ さ い。 3 デー タ ベース と の接続 InfoMaker がイ ン ス ト ールさ れている 各ク ラ イ ア ン ト マシン に、 Oracle ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ール し ます。 123 Oracle デー タ ベース を使用する ための準備 Oracle 社か ら ク ラ イ ア ン ト ソ フ ト ウ ェ ア を入手す る 必要があ り ま す。ま た、イ ン ス ト ールす る ク ラ イ ア ン ト ソ フ ト ウ ェ アのバージ ョ ンが、 以下をすべてサポー ト す る こ と を確認 し ます。 ク ラ イ ア ン ト マシ ン上で稼働 し てい る オペレーテ ィ ン グ シ ス テム ア ク セ スす る デー タ ベース のバージ ョ ン 稼働 し てい る InfoMaker のバージ ョ ン Oracle 10g Instant Client は、標準の Oracle ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ールせずにアプ リ ケーシ ョ ン を実行す る こ と がで き る フ リ ーの ク ラ イ ア ン ト ソ フ ト ウ ェ アです。 こ れは、 サ イ ズが小 さ く 、 無償で再配布で き ます。 4 自分のサ イ ト か ら Oracle デー タ ベース サーバに接続で き る よ う に、 Oracle ク ラ イ ア ン ト ソ フ ト ウ ェ アが正 し く 設定 さ れてい る こ と を確認 し ます。 Oracle 構成フ ァ イ ルの設定については、 Oracle Net のマニ ュ アルを 参照 し て く だ さ い。 5 ス テ ッ プ 2 : デー タ ベース イ ン タ フ ェ ー スのイ ン ス ト ール オペレーテ ィ ン グ シ ス テ ムの必要に応 じ て、 Oracle ク ラ イ ア ン ト ソ フ ト ウ ェ アのデ ィ レ ク ト リ がシ ス テ ムパ ス に あ る こ と を確認 し ます。 InfoMaker のセ ッ ト ア ッ プ プ ロ グ ラ ム で、 標準 イ ン ス ト ールを選択す る か、 カ ス タ ム イ ン ス ト ール を 選択 し た場合は必要な Oracle デー タ ベース イ ン タ フ ェース を選択 し ます。 使用可能な Oracle デー タ ベー ス イ ン タ フ ェ ー ス の一覧につい て は、 117 ページの 「サポー ト し てい る Oracle のバージ ョ ン」 を参照 し て く だ さ い。 ス テ ッ プ 3 : 接続の確 認 InfoMaker の外部の環境で、 Oracle デー タ ベー ス サーバに接続 し 、 ア ク セ ス し たいデー タ ベース に ロ グ イ ン で き る こ と を確認 し ます。 以下の Oracle ツールを実行す る こ と に よ っ て、 接続を確認で き ます。 • デー タ ベース サーバ と の接続 Oracle TNSPING (ま た は ほ か の ping ユーテ ィ リ テ ィ ) な ど の ツールは、 自分のマ シ ン か ら デー タ ベー ス サーバにア ク セ ス で き る か ど う か をチ ェ ッ ク し ます。 • デー タ ベース と の接続 Oracle SQL*Plus な ど の ツールは、 ア ク セ ス し たい Oracle デー タ ベース に ロ グ イ ン し 、 デー タ ベー ス操作を実行 で き る か ど う か を チ ェ ッ ク し ま す。 デー タ ベー ス にア ク セ ス す る と き InfoMaker のデー タ ベー ス プ ロ フ ァ イ ルで使用す る 予定の接 続パ ラ メ ー タ と 、 同 じ 値の接続パ ラ メ ー タ を指定す る こ と をお勧 め し ます。 124 InfoMaker 第9章 ス テ ッ プ 4 : 接続プー リ ングまたはセ ッ シ ョ ン プー リ ングの使用 の決定 Oracle の使い方 InfoMaker ア プ リ ケーシ ョ ン のための Oracle Client Interface (OCI) の プー リ ン グは、 初めて Oracle サーバに接続 し た と き に作成 さ れ ま す。 プ ー リ ン グ は サ ー バ 名 と 文 字 セ ッ ト に よ り 識 別 さ れ、 そ れ ぞ れ、 DBPARM パ ラ メ ー タ の SQLCA.ServerName と NLS_Charset を使用 し て 渡 さ れ ます。2 つの Oracle 接続が同 じ Oracle サーバに接続 し てい る が、 異な る 文字セ ッ ト を使用 し てい る 場合は、 接続が異な る 接続プール ま たはセ ッ シ ョ ン プールに存在す る 必要があ り ます。 プー リ ン グ関連の すべての DBPARM パ ラ メ ー タ は、 InfoMaker か ら 初めてデー タ ベース に接続す る 前に設定す る 必要があ り ます。 セ ッ シ ョ ン プー リ ン グは、アプ リ ケーシ ョ ン が ス テー ト レ ス セ ッ シ ョ ン の グループ を作成 し てデー タ ベー ス に保持す る こ と を意味 し ま す。 こ れ ら のセ ッ シ ョ ン は要求 さ れた と き に シ ン ク ラ イ ア ン ト に渡 さ れ ます。 使用可能なセ ッ シ ョ ン がない場合は、 新規セ ッ シ ョ ン が作成 さ れ ます。ク ラ イ ア ン ト でセ ッ シ ョ ン が終了す る と 、ク ラ イ ア ン ト がセ ッ シ ョ ン を プールに解放 し ます。 セ ッ シ ョ ン プー リ ン グの場合、 プール 内のセ ッ シ ョ ン数を大幅に増加す る こ と が可能です。 セ ッ シ ョ ン プー リ ン グでは、 OS のア カ ウ ン ト を使用 し た外部認証は サポー ト さ れ ません。 既存のセ ッ シ ョ ン プールを使用す る デー タ ベー ス接続で ロ グ イ ン ID が指定 さ れていない場合は、 セ ッ シ ョ ン プー リ ン グ作成者の ロ グ イ ン ID が接続に使用 さ れ ます。 下位互換性の確保のための CNNPool パラ メ ー タ InfoMaker か ら Oracle DBMS のバージ ョ ン 9.x お よ び 10.x に接続す る ために使用す る O90 お よ び O10 デー タ ベース ド ラ イ バでは、DBPARM パ ラ メ ー タ CNNPool に よ る 接続プー リ ン グがサポー ト さ れ ます。下位 互換性を確保す る ために、 Oracle 11g で使用す る ORA ド ラ イ バで も こ のパ ラ メ ー タ が サ ポー ト さ れ ま す。 た だ し 、 こ の ド ラ イ バに対 し て Pooling パ ラ メ ー タ を使用 し た場合は、CNNPool パ ラ メ ー タ は無視 さ れ ます。 プー リ ングの種類の決定 表 9-3 は、それぞれのプー リ ン グ を選択す る 状 況を示 し てい ます。 表 9-3: プー リ ングの種類 と 状況 種類 セ ッ シ ョ ン プー リ ング デー タ ベース と の接続 デー タ ベース セ ッ シ ョ ンの状況 ス テー ト レ ス (中間層ス レ ッ ド で再利用可能) お よ び バ ッ ク エ ン ド サーバ プ ロ セ ス の 数が原因 で デー タ ベース ス ケー リ ン グの問題が発生する 可能性があ る 125 Oracle デー タ ベース を使用する ための準備 種類 接続プー リ ン グ プー リ ン グ な し デー タ ベース セ ッ シ ョ ンの状況 ス テー ト フル (中間層ス レ ッ ド で再利用不可) お よ び バ ッ ク エ ン ド サーバ プ ロ セ ス の 数が原因 で デー タ ベー ス ス ケー リ ン グ の問題が発生す る 可能性があ る 。 接続プー リ ン グ を使用すれば、 物理接続の数 と バ ッ ク エ ン ド サーバ プ ロ セ ス の数が減少す る 。 こ れに よ り 、 同 じ バ ッ ク エン ド サーバ構成で よ り 多 く のデー タ ベー ス セ ッ シ ョ ンが利用可能にな る ス テー ト フル (中間層ス レ ッ ド で使用不可)お よ びバ ッ ク エ ン ド サーバ プ ロ セ ス の数が少な く デー タ ベー ス ス ケー リ ン グの問題は発生 し ない EAServer コ ン ポーネ ン ト と MTS コ ン ポーネ ン ト は、 Oracle デー タ ベース の場合、 いずれの種類のプー リ ン グ も サポー ト し ない プー リ ング パ ラ メ ー タ の設定 Oracle 11g 接続のための DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス には [プー リ ン グ] タ ブがあ り 、 こ こ で 表 9-4 に 示すプー リ ン グ パ ラ メ ー タ を選択で き ます。 表 9-4: ORA ド ラ イバのプー リ ング パラ メ ー タ プー リ ング パ ラ メ ー タ [プー リ ン グ タ イ プ] [セ ッ シ ョ ンプー リ ン グに対 し て ラ ン タ イ ム 接続 ロ ー ド バ ラ ン シ ン グ を行 う ] [Homogeneous セ ッ シ ョ ン プー リ ン グ] [最小セ ッ シ ョ ン数] [最大セ ッ シ ョ ン数] 126 説明 [Session Pooling]、[Connection Pooling]、 ま たは [な し ] (デフ ォ ル ト ) を選択。 Pooling DBPARM を設 定す る デ フ ォ ル ト で は こ の チ ェ ッ ク ボ ッ ク ス が オ ン。 [プー リ ン グ タ イ プ] で [Connection Pooling] ま た は [な し ] を 選 択 し た 場 合 は 無 視 さ れ る 。 RTConnBalancing DBPARM を設定す る デフ ォ ル ト ではオ フ。 Session Pooling の場合のみ有 効。 こ のチ ェ ッ ク ボ ッ ク ス を オ ン にす る と 、 セ ッ シ ョ ン プールを作成 し た と き に有効だ っ たユーザ 名 と パ ス ワ ー ド を 使用 し て プ ール内 のすべ て の セ ッ シ ョ ン が認証 さ れ る 。 後続の接続 リ ク エ ス ト の ユ ー ザ 名 と パ ス ワ ー ド は 無 視 さ れ る。 Homogeneous セ ッ シ ョ ン モー ド ではプ ロ キシ セ ッ シ ョ ン は 作 成 で き な い。 SessionHomogeneous DBPARM を設定す る デー タ ベー ス 接続 セ ッ シ ョ ン の最小数 を 示す整 数。 デフ ォ ル ト 値は 1。 CSMin DBPARM を設定す る 。SessionHomogeneous DBPARM が false の場合は こ の値は無視 さ れ る デー タ ベー ス 接続 セ ッ シ ョ ン の最大数 を 示す整 数。 デフ ォ ル ト 値は 100。 CSMax DBPARM を設定 する InfoMaker 第9章 プー リ ン グ パ ラ メ ー タ [イ ン ク リ メ ン ト ] [ユーザ名] [パ ス ワー ド ] Oracle の使い方 説明 セ ッ シ ョ ン あ た り のデー タ ベー ス 接続の増分を示 す整数。 デフ ォ ル ト は 1。 CSIncr DBPARM を設定 す る 。SessionHomogeneous DBPARM が false の場合 は こ の値は無視 さ れ る プールが ま だ作成 さ れていない時点で、 接続プー ル ま たはセ ッ シ ョ ン プールを作成す る ために使用 し た ユ ー ザ 名。 デ ー タ ベ ー ス 接 続 の 前 に、 PoolCreator DBParm を ユーザ名 を 示す文字列に設 定す る こ と 。PoolCreator DBParm の値を指定 し ない 場合は、 ト ラ ンザ ク シ ョ ン オブジ ェ ク ト の LogID お よ び LogPass プ ロ パテ ィ を使用 し て プールが作 成される プールが ま だ作成 さ れていない時点で、 接続プー ル ま たはセ ッ シ ョ ン プールを作成す る ために使用 し たパ ス ワー ド 。 PoolPwd DBParm を ユーザのパ ス ワー ド を示す文字列に設定す る こ と Oracle デー タ ベース イ ン タ フ ェ ースの定義 Oracle デー タ ベース イ ン タ フ ェース を介 し た接続を定義す る には、 少 な く と も 、 Oracle イ ン タ フ ェ ース用に DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の基本接続パ ラ メ ー タ 用の値を指定 し て、 デー タ ベース プ ロ フ ァ イ ルを作成 し な ければな り ません。 次回以降、 こ のデー タ ベー ス プ ロ フ ァ イ ルを選択す る と 、 開発環境でそのデー タ ベース にいつで も 接続で き ます。 デー タ ベース プ ロ フ ァ イ ルの定義方法については、 6 ページの 「デー タ ベース プ ロ フ ァ イ ルの使い方」 を参照 し て く だ さ い。 Oracle サーバの接続記述子の指定 ネ ッ ト ワー ク 上の Oracle デー タ ベース サーバに接続す る には、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の [接続] タ ブにあ る [サーバ] ボ ッ ク ス に、 適切な接続記述子を 指定 し ま す。 接続記述子は、 Oracle がデー タ ベース にア ク セ スす る と き に使用す る 接続パ ラ メ ー タ を指定 し ます。 ご使用の環境に対す る 適切な接続記述子については、 Oracle のマニ ュ アルを参照す る か、 シ ス テ ム管理者に問い合わせて く だ さ い。 デー タ ベース と の接続 127 デー タ ソ ース と し ての Oracle ス ト ア ド プ ロ シージ ャ の使い方 接続記述子の指定 接続記述子の構文は、使用 し てい る Oracle ク ラ イ ア ン ト ソ フ ト ウ ェ ア に よ っ て異な り ます。 Net9 以上を使用 し てい る 場合は、 構文は以下の よ う にな り ます。 OracleServiceName SQL*Net バージ ョ ン 2.x を使用 し てい る 場合は、 構文は以下の よ う に な り ます。 @ TNS: OracleServiceName パラ メ ー タ @ TNS : OracleServiceName 説明 ア ッ ト マー ク (@) は必須 Oracle ト ラ ン スペア レ ン ト ネ ッ ト ワー ク サブ ス ト レ イ ト (TNS) テ ク ノ ロ ジの識別子を指定 コ ロ ン (:) は必須 Oracle 構成 フ ァ イ ルでサーバに割 り 当て ら れて い る サービ ス名を指定 Net9 の ク ラ イ ア ン ト ソ フ ト ウ ェ ア を使用す る には、 ORA9 サービ ス に接続 し て、接続記述子 ORA9 を Oracle9i 以降の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の [接続] タ ブの [サーバ] ボ ッ ク ス に 入力 し ます。 Net9 の例 デー タ ソ ース と し ての Oracle ス ト ア ド プ ロ シージ ャ の使 い方 こ の節では、 Oracle ス ト ア ド プ ロ シージ ャ の使い方について解説 し ま す。 Oracle ス ト ア ド プ ロ シージ ャ と は? Oracle は、 ス ト ア ド プ ロ シージ ャ (ま た は関数) を、 SQL やほかの PL/SQL プ ロ グ ラ ミ ン グ言語ス テー ト メ ン ト を論理的にグループ化 し 、 特定の タ ス ク を実行す る 、 名前付 き の PL/SQL プ ロ グ ラ ム単位 と し て 定義 し てい ます。 128 InfoMaker 第9章 Oracle の使い方 ス ト ア ド プ ロ シージ ャ にはパ ラ メ ー タ を指定す る こ と が可能で、 1 つ ま たは複数の結果集合 (カー ソ ル変数 と も いい ます) を返 し ます。 ス ト ア ド プ ロ シージ ャ を自分の ス キーマで作成 し 、 こ れをデー タ デ ィ ク シ ョ ナ リ に格納す る と 、 複数のユーザが こ の ス ト ア ド プ ロ シージ ャ を 使用で き ます。 Oracle ス ト ア ド プ ロ シージ ャ で可能な作業 Oracle ス ト ア ド プ ロ シージ ャ の使用方法 InfoMaker ア プ リ ケーシ ョ ン では、 Oracle ス ト ア ド プ ロ シージ ャ を レ ポー ト 用のデー タ ソ ース と し て使用す る こ と がで き ます。 1 つの結果集合を返すス ト ア ド プ ロ シージ ャ は レ ポー ト で使用で き ます。 し か し 、 RPCFUNC キー ワ ー ド で ス ト ア ド プ ロ シージ ャ を 外部関数やサブルーチ ン と し て宣言 し て い る 場合は除 き ます。 1 つの結果集合を返すプ ロ シージ ャ Oracle で結果集合を返すス ト ア ド プ ロ シージ ャ の使い方 以下の手順では、 ス ト ア ド プ ロ シージ ャ を InfoMaker のデー タ ベース ペ イ ン タ の ISQL セ ッ シ ョ ン ビ ュ ーで作成す る こ と を前提 と し てい ま す。 基本的な操作手順の概 要 v デー タ ベース ペ イ ン タ の設定 結果集合を返すス ト ア ド プ ロ シージ ャ を使用する 1 ス ト ア ド プ ロ シージ ャ を作成す る ために、 デー タ ベース ペ イ ン タ の ISQL セ ッ シ ョ ン ビ ュ ーを使用 し ます。 2 結果集合を IN OUT (REF)パ ラ メ ー タ で返すス ト ア ド プ ロ シージ ャ を作成 し ます。 3 その ス ト ア ド プ ロ シージ ャ をデー タ ソ ース と し て使用す る レ ポー ト を作成 し ます。 デー タ ベース ペ イ ン タ の ISQL セ ッ シ ョ ン ビ ュ ーで ス ト ア ド プ ロ シー ジ ャ を作成す る 場合、 デフ ォ ル ト の SQL 構文の終止符を、 ス ト ア ド プ ロ シージ ャ 構文で使用す る 予定のない文字に変更 し ます。 デー タ ベー ス ペ イ ン タ のデ フ ォ ル ト の SQL 終止符はセ ミ コ ロ ン (;) です。 Oracle ス ト ア ド プ ロ シージ ャ 構文でセ ミ コ ロ ン を使用す る こ と が予定 さ れ る 場合は、 ペ イ ン タ の終止符を セ ミ コ ロ ン以外の文字に変 更 し て重複を避け る 必要が あ り ま す。 こ の場合、 バ ッ ク ク ォ ー ト (`) 文字な ど が適切です。 デー タ ベース と の接続 129 デー タ ソ ース と し ての Oracle ス ト ア ド プ ロ シージ ャ の使い方 v デー タ ベース ペ イ ン タ のデ フ ォル ト の SQL 終止符を変更する 1 InfoMaker で System ユーザ と し て Oracle デー タ ベース に接続 し ま す。 詳 し い手順については、 127 ページの 「Oracle デー タ ベー ス イ ン タ フ ェース の定義」 を参照 し て く だ さ い。 2 デー タ ベース ペ イ ン タ を開 き ます。 3 メ ニ ュ ーバーか ら [デザ イ ン|オプシ ョ ン] を選択 し ます。 DB 環境設定 ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ ます。 必要であれば、 [全般] タ ブ を ク リ ッ ク し て [全般] プ ロ パテ ィ ページ を表示 し ま す。 4 [SQL 構文の終止符] ボ ッ ク ス に SQL 終止符 と し て使用す る 文字 (バ ッ ク ク ォ ー ト な ど) を入力 し ます。 5 [更新] ま たは [OK] ボ タ ン を ク リ ッ ク し ます。 SQL 終止符の設定が現行の接続に適用 さ れ、 以降の接続に も 変更 し ない限 り 適用 さ れ ます。 デー タ ベース ペ イ ン タ を設定 し た後、 IN OUT (参照) パ ラ メ ー タ で結 果集合を返すス ト ア ド プ ロ シージ ャ を作成で き ます。InfoMaker は、結 果集合を検索 し て、 配置す る ために レ ポー ト を設定 し ます。 ス ト ア ド プ ロ シー ジ ャの作成 結果集合 を 返す ス ト ア ド プ ロ シージ ャ を 作成す る 方法は何種類か あ り ます。 以下に、 その 1 つを示 し ます。 1 つの結果集合 と 複数の結果集合を返すス ト ア ド プ ロ シージ ャ が ど こ で使用で き る かについては、 129 ページの 「Oracle ス ト ア ド プ ロ シー ジ ャ で可能な作業」 を参照 し て く だ さ い。 v Oracle で結果集合を返すス ト ア ド プ ロ シージ ャ を作成する 1 Oracle ユーザ ア カ ウ ン ト に必要なデー タ ベース ア ク セ スお よ び Oracle オブジ ェ ク ト (テーブルやプ ロ シージ ャ な ど) に ア ク セ ス す る 特権が設定 さ れてい る こ と を確認 し ます。 適切 な ア ク セ ス お よ び特権が な い と 、 Oracle ス ト ア ド プ ロ シ ー ジ ャ を作成す る こ と がで き ません。 2 使用 し てい る Oracle デー タ ベース に tt と い う 名前の以下のテーブ ルが存在す る も の と し ます。 a 1 2 130 b Newman Everett c sysdate sysdate InfoMaker 第9章 3 Oracle の使い方 結果集合のデー タ 型 と ス ト ア ド プ ロ シージ ャ が定義 さ れ たパ ッ ケージ を作成 し ま す。 結果集合のデー タ 型は、 テーブルの定義 と 一致 さ せます。 た と えば、 以下の SQL 文に よ っ て、 rctl と い う 結果集合のデー タ 型 で、 proc1 と い う ス ト ア ド プ ロ シージ ャ が定義 さ れた spm と い う Oracle パ ッ ケージが作成 さ れ ま す。 tt%ROWTYPE 属性に よ っ て、 テーブル tt 内のすべてのカ ラ ム を持つ よ う に rctl は定義 さ れ ます。 プ ロ シージ ャ proc1 は rc1 と い う カー ソ ル変数をパ ラ メ ー タ に受け 取 り ますが、 こ れは rctl デー タ 型の IN OUT パ ラ メ ー タ です。 CREATE OR REPLACE PACKAGE spm IS TYPE rctl IS REF CURSOR RETURN tt%ROWTYPE; PROCEDURE proc1(rc1 IN OUT rctl);END;` 4 定義 し たパ ッ ケージ と は別に Oracle ス ト ア ド プ ロ シージ ャ を作成 し ます。 以下の例は、 1 つの結果集合を返す spm_proc 1 と い う 名前の ス ト ア ド プ ロ シージ ャ を作成す る 方法を示 し てい ます。 IN OUT の指定は、 InfoMaker がカー ソ ル変数 (rc1 や rc2) を参照渡 し で Oracle プ ロ シージ ャ に渡 し 、 プ ロ シージ ャ がカー ソ ルを開 く こ と を意味 し てい ます。 プ ロ シージ ャ 呼び出 し の後、 InfoMaker は カー ソ ルか ら 結果集合を フ ェ ッ チ し 、 続けて カー ソ ルを閉 じ ます。 レポー ト での spm_proc1 の例 以下の ス テー ト メ ン ト は、1 つの結果 集 合 を 返 す spm_proc1 を 作 成 し ま す。 こ の プ ロ シ ー ジ ャ は、 InfoMaker の レ ポー ト のデー タ ソ ー ス と し て使用す る こ と がで き ます。 CREATE OR REPLACE PROCEDURE spm_proc1(rc1 IN OUT spm.rctl) AS BEGIN OPEN rc1 FOR SELECT * FROM tt; END;` エラー チ ェ ッ ク 必要であれば、 Oracle シ ス テ ム テーブルの public.user_errors でエ ラ ーが ないか ど う かチ ェ ッ ク を し ます。 レポー ト の作成 デー タ ベース と の接続 ス ト ア ド プ ロ シージ ャ を作成す る と 、 その ス ト ア ド プ ロ シージ ャ を デー タ ソ ース と し て使用す る レ ポー ト が定義で き ます。 131 デー タ ソ ース と し ての Oracle ス ト ア ド プ ロ シージ ャ の使い方 1 つの結果集合を返すス ト ア ド プ ロ シージ ャ は、 レ ポー ト で使用で き ます。 以下の手順では、 Oracle ス ト ア ド プ ロ シージ ャ が 1 つの結果集合だけ を返す こ と を前提 と し てい ます。 v Oracle で結果集合を返すス ト ア ド プ ロ シージ ャ を使用 し て レ ポー ト を作成 する 1 新規作成 ダ イ ア ロ グボ ッ ク ス の [デー タ ウ ィ ン ド ウ ] ページで提 示様式を選択 し 、 [OK] を ク リ ッ ク し ます。 2 [ス ト ア ド プ ロ シージ ャ ] ア イ コ ン を選択 し 、 [OK] を ク リ ッ ク し ます。 ス ト ア ド プ ロ シージ ャ の選択 ウ ィ ザー ド ページが表示 さ れ、デー タ ベース で使用可能な ス ト ア ド プ ロ シージ ャ が一覧 さ れ ます。 3 デー タ ソ ース と し て使用す る ス ト ア ド プ ロ シージ ャ を選択 し 、 [次へ] ボ タ ン を ク リ ッ ク し ます。 4 レ ポー ト を定義 し て、 ウ ィ ザー ド を終了 し ます。 レ ポー ト を プ レ ビ ュ ーす る と 、 InfoMaker は、 カー ソ ルか ら 結果集 合を フ ェ ッ チ し て、 レ ポー ト に格納 し ま す。 ウ ィ ザー ド のデー タ ソ ース の選択 ページの [プ レ ビ ュ ーの度に検索] を選択 し た場合、 デー タ ウ ィ ン ド ウ を開いた と き に、 プ レ ビ ュ ー ビ ュ ーに結果集合 が表示 さ れ ます。 ラ ージ オブ ジ ェ ク ト 出力パラ メ ー タ の使用 ラ ージ オブジ ェ ク ト (LOB: large-object) を Oracle ス ト ア ド プ ロ シー ジ ャ や関数用の出力パ ラ メ ー タ と し て定義 し て、 ラ ージ オブジ ェ ク ト デー タ を検索で き ます。 各ス ト ア ド プ ロ シージ ャ や関数用に定義で き る LOB 出力引数の数に制限はあ り ません。 Oracle 10g では、 LOB デー タ 型の最大サ イ ズが増加 し 、 「4 ギガバ イ ト - 1」 か ら 「(4 ギガバ イ ト - 1) x デー タ ベース のブ ロ ッ ク サ イ ズ」 と 変 更にな り ま し た。 デー タ ベー ス のブ ロ ッ ク サ イ ズが 32K の場合、 最 大サ イ ズは 128 テ ラ バ イ ト にな り ます。 132 InfoMaker 第9章 Oracle の使い方 Oracle ユーザ定義デー タ 型の使い方 InfoMaker は デ ー タ ベ ー ス ペ イ ン タ で ISQL セ ッ シ ョ ン ビ ュ ー の Oracle ユーザ定義デー タ 型(オブジ ェ ク ト ) のための SQL CREATE TYPE 文 と CREATE TABLE 文を サポー ト し ます。 デー タ ベース ペ イ ン タ お よ びレ ポー ト ペ イ ン タ で、ユーザ定義デー タ 型の SQL SELECT 文、INSERT 文、 UPDATE 文、 DELETE 文を正確に処理 し ます。 InfoMaker の Oracle ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を 使 う と 、 以下の処理がで き ます。 可能な作業 Oracle 構文を使用 し て、 ユーザ定義デー タ 型 を作成 Oracle 構文を使用 し て、 ユーザ定義デー タ 型 を参照す る カ ラ ム付 き テーブルを作成 ユーザ定義デー タ 型を参照す る Oracle テーブ ルのカ ラ ム を検索 ユーザ定義デー タ 型を持つ Oracle テーブル内 のデー タ を処理 ユーザ定義デー タ 型を持つ Oracle テーブル構 文を ロ グ フ ァ イ ルにエ ク ス ポー ト する メ ソ ッ ド を呼び出す 作業場所 デー タ ベース ペ イ ン タ デー タ ベース ペ イ ン タ デー タ ベース ペ イ ン タ デー タ ベース ペ イ ン タ レ ポー ト ペ イ ン タ レ ポー ト デー タ ベース ペ イ ン タ レ ポ ー ト ペ イ ン タ (SQL ツールボ ッ ク ス の [計算] タ ブ) 以下は、 InfoMaker での Oracle ユーザ定義デー タ 型の作成 と 使用法を 説明す る ための簡単な例です。 例 Oracle ユーザ定義デー タ 型についての詳細は、 Oracle のマニ ュ アルを 参照 し て く だ さ い。 v Oracle ユーザ定義デー タ 型を作成 し 使用する 1 デー タ ベース ペ イ ン タ の ISQL セ ッ シ ョ ン ビ ュ ーで、 ball_stats_type と player_type の 2 つの Oracle ユーザ定義デー タ 型を 作成 し ます。 以下は、 ball_stats_type を作成す る Oracle 構文です。 ball_stats_type 型 の ball_stats オブジ ェ ク ト は、get_avg と い う 関連付け ら れた メ ソ ッ ド を持つ こ と に注意 し て く だ さ い。 CREATE OR REPLACE TYPE ball_stats_type AS OBJECT (bat_avg NUMBER(4,3),rbi NUMBER(3),MEMBER FUNCTION get_avg RETURN NUMBER,PRAGMA RESTRICT_REFERENCES デー タ ベース と の接続 133 Oracle ユーザ定義デー タ 型の使い方 (get_avg,WNDS,RNPS,WNPS)); CREATE OR REPLACE TYPE BODY ball_stats_type ASMEMBER FUNCTION get_avg RETURN NUMBER ISBEGINRETURN SELF.bat_avg; END; END; 以下は、 player_type を作成す る Oracle SQL 構文です。 player_type は、 ユーザ定義デー タ 型 ball_stats_type を参照 し ます。 InfoMaker は、 こ の よ う にデー タ ベース ペ イ ン タ 、 レ ポー ト ペ イ ン タ 、 テーブル ペ イ ン タ で、 ネ ス ト を グ ラ フ ィ カルに表現 し ます (手順 3 参照)。 CREATE TYPE player_type AS OBJECT (player_no NUMBER(2),player_name VARCHAR2(30),ball_stats ball_stats_type); 2 デー タ ベース ペ イ ン タ では、 こ れ ら のユーザ定義デー タ 型を参照 す る lineup と い う 名前のテーブルを作成 し ます。 以下は、 lineup テーブルを作成 し 、 行を挿入す る Oracle SQL 構文 です。 lineup は、 ユーザ定義デー タ 型 player_type を参照 し ます。 CREATE TABLE lineup (position NUMBER(2) NOT NULL, player player_type); INSERT INTO lineup VALUES (1,player_type (15, 'Dustin Pedroia', ball_stats_type (0.317, 50))); 3 デー タ ベース ペ イ ン タ ま たは レ ポー ト ペ イ ン タ に lineup を表示 し ます。 InfoMaker は、 以下の よ う に構造体 -> メ ンバー表記法を使用 し て テーブルを表示 し ます。 lineup ====== position player->player_no player->player_name player->ball_stats->bat_avg player->ball_stats->rbi 4 レ ポー ト の計算カ ラ ム を定義す る 場合は、 以下の 構造体 -> メ ンバー 表 記 法 を 使 用 し て、 オ ブ ジ ェ ク ト カ ラ ム player に 含 ま れ る ball_stats オブジ ェ ク ト の get_avg メ ソ ッ ド にア ク セ ス し ます。 た と えば、 レ ポー ト ペ イ ン タ で作業をす る 場合、 SQL ツールボ ッ ク ス の [計算] タ ブで こ の表記法を使用す る こ と も で き ます。 player->ball_stats->get_avg() 134 InfoMaker 第9章 Oracle の使い方 ORA ド ラ イバによ る Oracle 11g の機能のサポー ト Oracle 11g のセ ッ シ ョ ン プー リ ン グ と 接続プー リ ン グのサポー ト に加 え て、 ORA ド ラ イ バではほかの 11g の機能 も サポー ト さ れます。 ク ラ イアン ト キャ ッ シ ュ結果 InfoMaker ORA ド ラ イ バは Oracle Client キ ャ ッ シ ュ を サポー ト し ます が、こ の機能は Oracle Server と Client の構成に依存 し ます。Oracle Client キ ャ ッ シ ュ は init.ora ま たは sqlnet.ora フ ァ イ ルで設定で き ます。キ ャ ッ シ ュ さ れた ク エ リ には /*+ result_cache */ と い う ヒ ン ト が付 き 、 結果が ク エ リ 結果の キ ャ ッ シ ュ に格納 さ れた こ と を 示 し ま す。 StatementCache DBPARM パ ラ メ ー タ を 使用 し て、 InfoMaker ア プ リ ケ ー シ ョ ン か ら OCI 文キ ャ ッ シ ュ を有効にで き ます。 ア プ リ ケーシ ョ ン ド ラ イバ名 OCI アプ リ ケーシ ョ ン の名前を選択 し て、 診断に役立て る こ と がで き ます。 AppDriverName DPBARM パ ラ メ ー タ で、 InfoMaker ORA イ ン タ フ ェース で使用す る ク ラ イ ア ン ト ド ラ イ バ名を設定で き ます。 名前 は最大 8 文字です。 V$SESSION_CONNECT_INFO ま たは GV$SESSION_CONNECT_INFO 動的パフ ォ ーマ ン ス ビ ュ ーの ク エ リ で、 ク ラ イ ア ン ト ド ラ イ バ名を表示で き ます。 プ ロキシ を介 し た ク ラ イ ア ン ト ア ク セス (Oracle 10.2 の機能) InfoMaker ORA ド ラ イ バは Oracle 10.2 で導入 さ れたプ ロ キ シ認証機能 をサポー ト し ます。 一般にプ ロ キ シ認証では、 エ ン ド ユーザが中間層 (フ ァ イ ア ウ ォ ールな ど) に対 し て認証 さ れ、 ユーザに代わ っ てプ ロ キ シ ユーザ と し てデー タ ベース に ロ グ イ ン し ます。 ロ グ イ ン後に、 プ ロ キ シ ユーザか ら エ ン ド ユーザ に切 り 替え て、 そのユーザに割 り 当て ら れた権限で操作を実行で き ます。 ConnectAs DBParm パ ラ メ ー タ で こ のプ ロ キ シ接続機能 を 利用で き ま す。 た と えば、 ユーザの ト ラ ン ザ ク シ ョ ン オブ ジ ェ ク ト の LogID が Scott で ConnectAs DBParm パ ラ メ ー タ を John に設定 し た場合、 OCI ク ラ イ ア ン ト はプ ロ キ シ ユーザ (Scott) と し てデー タ ベース に ロ グ イ ン し 、 その後でエ ン ド ユーザの ID (John) に切 り 替え ます。 接続プー リ ン グ ま たはセ ッ シ ョ ン プー リ ン グ を使用 し てい る 場合、 プ ロ キ シ ユーザ名は接続 ま た は セ ッ シ ョ ン プー リ ン グ の作成者です (ユーザ名お よ び PoolPwd DBParm パ ラ メ ー タ で指定す る ) 。 ト ラ ンザ ク シ ョ ン オ ブ ジ ェ ク ト の LogID は 無 視 さ れ ま す。 プ ー リ ン グ が HomogeneousSession モ ー ド に 設定 さ れ て い る 場合 は プ ロ キ シ セ ッ シ ョ ンは作成で き ません。 デー タ ベース と の接続 135 ORA ド ラ イバに よ る Oracle 11g の機能のサポー ト プー リ ングを使用 し ないプ ロキシ接続の制限事項 プー リ ン グ を使用 し ないプ ロ キ シ接続の場合、 NLS_Charset DBPARM を "Local" ま たはそのほかの Unicode 以外の文字セ ッ ト に設定す る 必 要があ り ます。 こ の DBPARM をデフ ォ ル ト 値の "Unicode" か ら 変更 し ない と 接続が失敗 し ま す。 こ れは Oracle Client Interface ではプ ロ キ シ ク ラ イ ア ン ト 属性 と し て Unicode と い う 名前の文字列を受け入れない ためです。 ロー ド バラ ン シ ン グ Oracle Real Application Clusters (RAC) デー タ ベース オプシ ョ ン では、 1 つのデー タ ベース をデー タ ベース サーバの複数 ノ ー ド の複数 イ ン ス タ ン ス でホ ス ト す る こ と がで き ます。 こ れに よ り 、 デー タ ベー ス のハ イ アベ イ ラ ビ リ テ ィ と フ ェ イ ルオーバ機能 を 実現で き ま す。 1 つの ノ ー ド に問題が発生 し て も 別の ノ ー ド が処理を引 き 継 ぐ ため、 アベ イ ラ ビ リ テ ィ が向上 し ます。 すべての イ ン ス タ ン ス がデー タ ベース 全体 にア ク セ ス で き ます。RAC オプシ ョ ン で使われ る ク ラ ス タ リ ン グ デー タ ベース の共有デ ィ ス ク を使用す る 方法では、 必要に応 じ て ノ ー ド を 追加ま たは解放で き る ため、 ス ケー ラ ビ リ テ ィ が向上 し ます。 RAC 環境では、 RAC ロ ー ド バ ラ ン シ ン グ ア ド バ イ ス か ら 受け取 る サービ ス メ ト リ ッ ク を セ ッ シ ョ ン プールで利用 し て、アプ リ ケーシ ョ ンのセ ッ シ ョ ン リ ク エ ス ト の負荷を分散で き ます。現在のサービ ス パ フ ォ ーマ ン ス に基づいて、 セ ッ シ ョ ン プールに送信 さ れ る 作業 リ ク エ ス ト を RAC の イ ン ス タ ン ス間に分散 し ます。 作業 リ ク エ ス ト のバ ラ ン シ ン グは接続時 と 実行時に行われ ます。 接続時の ロ ー ド バ ラ ン シ ン グは、 アプ リ ケー シ ョ ン に よ り セ ッ シ ョ ン が最初に作成 さ れた と き に実行 さ れ ます。 こ れに よ り 、プール内のセ ッ シ ョ ンが RAC イ ン ス タ ン ス間に適切に分散 さ れ、 各 イ ン ス タ ン ス のセ ッ シ ョ ン に作業を実行す る 機会が与え ら れ ます。 接続時のロー ド バラ ン シ ング 1 つの イ ン ス タ ン ス のみでのサービ ス し かサポー ト し ないセ ッ シ ョ ン プールの場合は、プール内の最初の使用可能なセ ッ シ ョ ン で十分です。 複数の イ ン ス タ ン ス におけ る サー ビ ス を サ ポー ト す る プールの場合 は、 作業 リ ク エ ス ト を イ ン ス タ ン ス 間に分散 し て、 適切なサービ ス を 提供で き る イ ン ス タ ン ス や容量の大 き い イ ン ス タ ン ス に多 く の リ ク エ ス ト を割 り 当て る 必要があ り ます。 136 InfoMaker 第9章 Oracle の使い方 実行時の接続 ロ ー ド バ ラ ン シ ン グ で は、 基本的には作業 リ ク エ ス ト がセ ッ シ ョ ン プール内の作業に最 も 適 切なセ ッ シ ョ ン にルーテ ィ ン グ さ れ ます。 Oracle 11.1 以上の ク ラ イ ア ン ト が 10.2 以上の Oracle サーバに接続 さ れ、OCI セ ッ シ ョ ン プー リ ン グ を使用 し てい る 場合は、 デフ ォ ル ト で実行時の接続 ロ ー ド バ ラ ン シ ン グが有効にな り ます。 実行時の接続ロー ド バラ ン シ ング DBPARM パ ラ メ ー タ の RTConnBalancing が実行時の接続 ロ ー ド バ ラ ン シ ン グ機能をサポー ト し ます。 こ れは、Pooling パ ラ メ ー タ を Session Pooling に設定 し てい る 場合にのみ使用可能で、 こ の設定は接続の前に のみ行 う こ と がで き ます。 デフ ォ ル ト では、 プー リ ン グの種類 と し て Session Pooling を選択 し た場合は、 RTConnBalancing の値が true にな り ます。 デー タ ベース と の接続 137 ORA ド ラ イバに よ る Oracle 11g の機能のサポー ト 138 InfoMaker 第 4 部 デー タ ベース接続に関する作 業 第 4 部では、 デー タ ベース接続の確立、 管理、 お よび ト ラ ブルシ ュ ーテ ィ ン グの方法について説明 し ます。 第 1 0 章 デー タ ベース接続の管理 こ の章について 必要なデー タ ベース ソ フ ト ウ ェ アの イ ン ス ト ールや、 デー タ ベー ス イ ン タ フ ェ ース の定義がすべて終了す る と 、InfoMaker か ら デー タ ベー ス に接続で き る よ う にな り ます。 デー タ ベー ス に接続す る こ と で、 デー タ ベー ス に保存 さ れてい る テーブルやビ ュ ーの操作 がで き ます。 こ の章で は、 InfoMaker におい て デー タ ベー ス に接続す る 方法、 デー タ ベー ス プ ロ フ ァ イ ル を 管理す る 方法、 デー タ ベー ス プ ロ フ ァ イ ルを共有す る 方法について解説 し ます。 内容 用語 項目 デー タ ベース と の接続について デー タ ベース と の接続 デー タ ベース プ ロ フ ァ イ ルの管理 デー タ ベース プ ロ フ ァ イ ルの共有 デー タ ベース プ ロ フ ァ イ ルの イ ン ポー ト と エ ク ス ポー ト InfoMaker 拡張属性シ ス テ ム テーブルについて ページ 141 144 147 148 153 154 こ の章の中でデー タ ベース と い う 用語は、特に指定のない限 り 、以 下の両方を表 し ます。 • 標準デー タ ベース イ ン タ フ ェ ースや適切な ド ラ イ バでア ク セ ス す る デー タ ベー ス ま たは DBMS (デー タ ベー ス 管理シ ス テ ム) • 適切なネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ース でア ク セ スす る デー タ ベース ま たは DBMS デー タ ベース と の接続について こ の節では、InfoMaker におけ る デー タ ベース接続の概要について 説明 し ます。 ま た、デー タ ベース と の接続を管理す る ために、デー タ ベース プ ロ フ ァ イ ルを使用す る 利点について も 説明 し ます。 デー タ ベース と の接続 141 デー タ ベース と の接続について デー タ ベース と の接続 タ イ ミ ング 開発環境におい て、 [DB へ自動的に接続] シ ス テ ム オ プ シ ョ ン は、 InfoMaker で接続 を必要 と す る ペ イ ン タ を 開いた と き にデー タ ベー ス に接続す る (デフ ォ ル ト ) のか、 InfoMaker の起動時に自動的に接続す る のか を制御 し ます。 InfoMaker の接続 [DB へ自動的に接続] シ ス テ ム オプシ ョ ンは、 InfoMaker アプ リ ケー シ ョ ン の実行時には無効です。 PowerBuilder と 同様に、 InfoMaker は、 デー タ ベース にア ク セ ス す る アプ リ ケーシ ョ ン を実行 し た と き にデー タ ベースへの接続を行い ます。 v InfoMaker で [DB へ自動的に接続] シ ス テム オプ シ ョ ン を設定するには 1 メ ニ ュ ー バーか ら [ツール|シ ス テ ム オプシ ョ ン] を選択 し ます。 シ ス テ ム オプシ ョ ン ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 2 [全般] タ ブ ページで、以下の よ う に [DB へ自動的に接続] チ ェ ッ ク ボ ッ ク ス を オ ン ま たはオ フ に し ます。 チ ェ ッ ク ボ ッ ク ス を オンにする 次に InfoMaker を 起動す る と 、 自動 的にデー タ ベース に接続 し 、 InfoMaker を終了す る ま でセ ッ シ ョ ン を維持 し ます。 142 InfoMaker 第 10 章 デー タ ベース接続の管理 チ ェ ッ ク ボ ッ ク ス を オ フ にする (デフ ォ ル ト ) 次に InfoMaker を起動 す る と 、 接続 を 必要 と す る ペ イ ン タ (デー タ ベー ス、 レ ポー ト 、 フ ォ ーム、 デー タ パ イ プ ラ イ ン、 ク エ リ の各ペ イ ン タ ) を開いた と き にのみデー タ ベー ス に接続 し ま す。 起動時には自動的にデー タ ベース に接続 し ません。 3 [OK] ボ タ ン ま たは [更新] ボ タ ン を ク リ ッ ク し ます。 InfoMaker に よ っ て AutoConnect の設定が レ ジ ス ト リ に保存 さ れ ま す。 接続先デー タ ベースの 決定 InfoMaker デー タ ベース にア ク セ スす る ペ イ ン タ を開 く と 、 InfoMaker は最後に使用 し たデー タ ベース に接続 し ます。 InfoMaker は、 レ ジ ス ト リ 内の設定を読み取 る こ と に よ っ て、 最後にア ク セ ス し たデー タ ベース を判断 し ます。 こ のマニ ュ アルの内容 こ のマニ ュ アルでは、InfoMaker を使用 し て アプ リ ケーシ ョ ン を開発 し てい る と き の、 開発環境でのデー タ ベース への接続方法について解説 し ます。 デー タ ベース プ ロ フ ァ イルの使い方 デー タ ベース プ ロ フ ァ イル と は? デー タ ベー ス プ ロ フ ァ イ ルは、 InfoMaker の開発環境において、 特定 のデー タ ベース と の接続を定義す る パ ラ メ ー タ セ ッ ト であ り 、 レ ジ ス ト リ 内に格納 さ れ ます。 デー タ ベース プ ロ フ ァ イルを使 う 理由 デー タ ベー ス プ ロ フ ァ イ ルを作成 し 、 使用す る こ と で、 InfoMaker か ら のデー タ ベー ス 接続を、 非常に簡単に管理で き ま す。 その理由は以 下の と お り です。 • デー タ ベース プ ロ フ ァ イ ルを選択 し て、 デー タ ベース と の接続の 確立、 変更を行 う 。 InfoMaker セ ッ シ ョ ン中であれば、 いつで も 簡 単に別のデー タ ベー ス に接続が可能。 こ の機能は、 異な る デー タ ベース と の接続を頻繁に切 り 替え て使用す る 場合に、 特に効果的 • デー タ ベース プ ロ フ ァ イ ルを編集 し て、 接続パ ラ メ ー タ を変更 し た り 、 追加のパ ラ メ ー タ を指定 し た り す る • ア ク セ ス す る 必要のな く な っ たデー タ に対 し ては、 デー タ ベー ス プ ロ フ ァ イ ルを削除す る • デー タ ベース プ ロ フ ァ イ ルを イ ン ポー ト お よ びエ ク ス ポー ト す る デー タ ベース プ ロ フ ァ イ ルは、 使用 し てい る デー タ を定義す る と き に 作成 さ れ、 レ ジ ス ト リ に自動的に保存 さ れ る ため、 以下の利点が あ り ます。 デー タ ベース と の接続 143 デー タ ベース と の接続 • いつで も 使用可能 • デー タ ベース プ ロ フ ァ イ ルを削除 し た り 編集 し た り し ない限 り 、 接続パ ラ メ ー タ がその ま ま保存 さ れ る デー タ ベース と の接続 InfoMaker で、 デー タ ベー ス と の接続 を 確立 し た り 変更 し た り す る に は、 デー タ ベース プ ロ フ ァ イ ルを使用 し ます。 ア ク セ ス し たいデー タ ベース に対応す る デー タ ベース プ ロ フ ァ イ ルは、 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス で選択で き ます。 デー タ ベース プ ロ フ ァ イ ルの作成 方法については、 10 ページの 「デー タ ベース プ ロ フ ァ イ ルの作成」 を 参照 し て く だ さ い。 デー タ ベース ペ イ ン タ を使用 し たデー タ ベース プ ロ フ ァ イルの選択 デー タ ベー ス ペ イ ン タ は、 オプ シ ョ ン の InfoMaker のペ イ ン タ です。 デー タ ベー ス ペ イ ン タ を イ ン ス ト ール し た場合は、 ア ク セ ス し た い デー タ ベース に対応す る デー タ ベース プ ロ フ ァ イ ルを、 デー タ ベース ペ イ ン タ のオブ ジ ェ ク ト ビ ュ ーか ら 選択す る こ と がで き ま す。 た だ し 、 こ の方法は、 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス を使用 し た場 合 よ り も 、 使用す る シ ス テ ム リ ソ ース が多 く な り ます。 デー タ ベース プ ロ フ ァ イルの選択 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス か ら デー タ ベース プ ロ フ ァ イ ル を選択で き ます。 v DB プ ロ フ ァ イル ダ イ ア ロ グボ ッ ク ス を使用 し てデー タ ベースに接続する 1 144 パ ワ ーバーの [DB プ ロ フ ァ イ ル] ボ タ ン を ク リ ッ ク す る か、 メ ニ ュ ー バーの [ツール| DB プ ロ フ ァ イ ル] を選択 し ます。 InfoMaker 第 10 章 デー タ ベース接続の管理 [DB プ ロ フ ァ イル] ボ タ ン パ ワーバーに [DB プ ロ フ ァ イ ル] ボ タ ンが表示 さ れていない場合 は、 カ ス タ マ イ ズ機能を使用 し てパ ワ ーバーにボ タ ン を追加 し て く だ さ い。 パ ワ ーバーに [DB プ ロ フ ァ イ ル] ボ タ ンがあ る と 、 異 な る デー タ ベー ス と の接続を頻繁に切 り 替え て使用す る 場合に便 利です。 ツールバーのカ ス タ マ イ ズの手順については、 『ユーザー ズ ガ イ ド 』 マニ ュ アルを参照 し て く だ さ い。 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス が開 き 、 イ ン ス ト ール済み のデー タ ベース イ ン タ フ ェース が一覧表示 さ れ ます。 イ ン タ フ ェ ース リ ス ト の保存場所 セ ッ ト ア ッ プ プ ロ グ ラ ム を実行す る と 、 レ ジ ス ト リ 内の Vendors リ ス ト が更新 さ れ、 イ ン ス ト ールす る イ ン タ フ ェ ー ス が追加 さ れ ます。 DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス には、 Vendors リ ス ト に入っ てい る イ ン タ フ ェース が表示 さ れ ます。 2 使用す る イ ン タ フ ェ ー ス 名の左の正符号 (+) を ク リ ッ ク す る か、 イ ン タ フ ェース名を ダブル ク リ ッ ク し ます。 リ ス ト が展開 し 、 そ の イ ン タ フ ェ ー ス に定義 さ れ て い る デー タ ベース プ ロ フ ァ イ ルが表示 さ れ ます。 3 ア ク セ スす る デー タ ベース プ ロ フ ァ イ ル名を選択 し て [接続] を ク リ ッ ク す る か、 デー タ ベー ス プ ロ フ ァ イ ルのポ ッ プ ア ッ プ メ ニ ュ ーを表示 し て [接続] を選択 し ます。 InfoMaker は指定 し たデー タ ベース に接続 し 、 ペ イ ン タ の ワー ク ス ペース に戻 り ます。 デー タ ベース ペ イ ン タ のオブ ジ ェ ク ト ビ ュー デー タ ベー ス ペ イ ン タ のオブジ ェ ク ト ビ ュ ーか ら デー タ ベー ス プ ロ フ ァ イ ルを選択す る こ と がで き ます。 v デー タ ベース ペ イ ン タ を使用 し てデー タ ベースに接続する 1 パ ワーバーの [DB ペ イ ン タ ] ボ タ ン を ク リ ッ ク し ます。 デー タ ベー ス ペ イ ン タ が表示 さ れ ま す。 オブジ ェ ク ト ビ ュ ーに、 イ ン ス ト ール済みのデー タ ベース イ ン タ フ ェ ース の一覧が表示 さ れます。 デー タ ベース と の接続 145 デー タ ベース と の接続 イ ン タ フ ェ ース リ ス ト の保存場所 セ ッ ト ア ッ プ プ ロ グ ラ ム を実行す る と 、 レ ジ ス ト リ 内の Vendors リ ス ト が更新 さ れ、 イ ン ス ト ールす る イ ン タ フ ェ ー ス が追加 さ れ ま す。 デー タ ベー ス ペ イ ン タ の [オ ブ ジ ェ ク ト ] ビ ュ ー に は、 Vendors リ ス ト に入っ てい る イ ン タ フ ェース が表示 さ れます。 2 使用す る イ ン タ フ ェ ー ス 名の左の正符号 (+) を ク リ ッ ク す る か、 イ ン タ フ ェ ース名を ダブル ク リ ッ ク し ます。 リ ス ト が展開 し 、 そ の イ ン タ フ ェ ー ス に定義 さ れ て い る デー タ ベース プ ロ フ ァ イ ルが表示 さ れ ます。 3 ア ク セ スす る デー タ ベース プ ロ フ ァ イ ルの名前を選択 し て [接続] ボ タ ン を ク リ ッ ク す る か、 デー タ ベー ス プ ロ フ ァ イ ルの ポ ッ プ ア ッ プ メ ニ ュ ーを表示 し て [接続] を選択 し ます。 接続時の処理 デー タ ベー ス プ ロ フ ァ イ ル を 選択 し てデー タ ベー ス に接続す る と 、 InfoMaker に よ っ て プ ロ フ ァ イ ル名 と 接続パ ラ メ ー タ が レ ジ ス ト リ キー HKEY_CURRENT_USER\Software\Sybase\PowerBuilder\11.5\ DatabaseProfiles\PowerBuilder に書 き 込まれ ます。 異な る デー タ ベー ス に接続す る たびに、 レ ジ ス ト リ 内の 「直前に使用 さ れた」 プ ロ フ ァ イ ル名は、 InfoMaker に よ っ て新 し いデー タ ベース に 対す る プ ロ フ ァ イ ル名に置 き 換え ら れ ます。 ([DB へ自動的に接続] オプシ ョ ン を オ ンに し て) InfoMaker を起動す る か、 ま たは、 デー タ ベー ス にア ク セ スす る ペ イ ン タ を開 く と 、 一番 最後に使用 し たデー タ ベース に接続 さ れ ます。InfoMaker は レ ジ ス ト リ を読み取 り 、 ど のデー タ ベース と 最後に接続 し たか を判断 し ます。 デー タ ベー ス プ ロ フ ァ イ ルの名前が続 く デー タ ベー ス イ ン タ フ ェ ー ス に関す る 3 文字の略語が、 InfoMaker の メ イ ン タ イ ト ル バーに表示 さ れ ます。 レ ポー ト ま たは フ ォ ーム で作業を し てい る 場合は、 こ の表 示に よ り 正 し い接続を使用 し てい る か を確認 し やす く な り ます。 た と えば、 チ ュ ー ト リ アル PBL を開いて、 EAS Demo デー タ ベース に 接続す る 場合、 タ イ ト ル バーには 「tutor_im.pbl - ODB [EAS Demo DB V115 IM] - InfoMaker」 と 表示 さ れます。 146 InfoMaker 第 10 章 デー タ ベース接続の管理 デー タ ベース プ ロ フ ァ イルでのパスワー ド の指定 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス でパ ス ワ ー ド を 指定 し て も 、 画面には表示 さ れません。 し か し 、InfoMaker が こ のプ ロ フ ァ イ ルの値を レ ジ ス ト リ に保存す る と き に、 パ ス ワ ー ド は DatabasePassword ま たは LogPassword フ ィ ール ド に暗号化 さ れた形式で表示 さ れ ます。 プ ロ フ ァ イル レ ジ ス ト リ エ ン ト リ での表 示の抑制 プ ロ フ ァ イ ル レ ジ ス ト リ エ ン ト リ でパ ス ワ ー ド が表示 さ れない よ う にす る には、 デー タ ベース プ ロ フ ァ イ ルを作成す る と き に以下の操作 を行い ます。 v プ ロ フ ァ イル レ ジ ス ト リ エ ン ト リ でのパスワー ド 表示を抑制する 1 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス で [接続] タ ブの [DB 情報ダ イ ア ロ グの表示] チ ェ ッ ク ボ ッ ク ス をチ ェ ッ ク し ます。 こ れで、 こ のプ ロ フ ァ イ ルを選択 し てデー タ ベー ス へ接続す る と き に、 InfoMaker に よ っ て、 不足 し てい る 情報の入力を求め ら れま す。 2 設定の結果 [パ ス ワ ー ド ] ボ ッ ク ス を 空に し てお き ま す。 かわ り に、 デー タ ベー ス へ接続す る と き に表示 さ れ る 、 追加情報の入力を求め る ダ イ ア ロ グ ボ ッ ク ス でパ ス ワ ー ド を指定 し ます。 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス ではな く 、 追加情報の入力 を求め る ダ イ ア ロ グ ボ ッ ク ス でパ ス ワ ー ド を指定す る 場合、 パ ス ワ ー ド は、 こ のプ ロ フ ァ イ ルに対す る レ ジ ス ト リ エ ン ト リ と し て表示 さ れ ません。 た と えば、 デー タ ベース プ ロ フ ァ イ ルの作成時に DB プ ロ フ ァ イ ル設 定 - Adaptive Server Enterprise ダ イ ア ロ グボ ッ ク ス でパ ス ワー ド を指定 し ない場合、 Client Library への ロ グ イ ン ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 不足 し てい る 情報の入力が求め ら れます。 デー タ ベース プ ロ フ ァ イルの管理 InfoMaker では、 既存のデー タ ベー ス プ ロ フ ァ イ ルの編集や削除が簡 単にで き ます。 デー タ ベース と の接続 147 デー タ ベース プ ロ フ ァ イルの共有 デー タ ベース プ ロ フ ァ イ ルを編集す る こ と で、 1 つま たは複数の接続 パ ラ メ ー タ を変更す る こ と がで き ます。 デー タ にア ク セ ス す る 必要が な く な っ た場合は、 そのデー タ ベー ス プ ロ フ ァ イ ルを削除で き ま す。 ま た、 プ ロ フ ァ イ ルを変更す る には、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス ま たはデー タ ベース ペ イ ン タ を使い ます。 設定の結果 デー タ ベー ス プ ロ フ ァ イ ルを編集 ま たは削除す る と 、 InfoMaker に よ り レ ジ ス ト リ 内のデー タ ベー ス プ ロ フ ァ イ ル エ ン ト リ が更新 ま たは 削除 さ れ ます。 ODBC デー タ ソ ースのデー タ ベース プ ロ フ ァ イルの削除 ODBC デー タ ソ ー ス に接続す る デー タ ベー ス プ ロ フ ァ イ ルを削除 し て も 、 InfoMaker が、 そのプ ロ フ ァ イ ルに対応す る デー タ ソ ー ス 定義 を、 ODBC.INI フ ァ イ ル ま たは レ ジ ス ト リ のサブ キーか ら 削除す る こ と はあ り ません。 つま り 、 デー タ ソ ー ス を再定義 し な く て も 、 必要に 応 じ て、 後でデー タ ベース プ ロ フ ァ イ ルだけ を再度作成で き ます。 デー タ ベース プ ロ フ ァ イルの共有 InfoMaker で作業 し てい る 場合、 ユーザ間でデー タ ベー ス プ ロ フ ァ イ ルを共有で き ます。 Sybase ツール間でのデー タ ベース プ ロ フ ァ イルの共有 PowerBuilder お よ び InfoMaker で使用 さ れ る デー タ ベー ス プ ロ フ ァ イ ルは、 レ ジ ス ト リ 内で共通の場所に格納 さ れ る ので、 こ れ ら の製品が 同 じ コ ン ピ ュ ー タ 上で動作 し てい る 場合、 1 つの製品で作成 し たデー タ ベース プ ロ フ ァ イ ルは、 ほかの製品で も 自動的に使用可能にな り ま す。 こ の節では、 InfoMaker において共有デー タ ベー ス プ ロ フ ァ イ ルを設 定、 使用、 管理す る 方法について解説 し ます。 148 InfoMaker 第 10 章 デー タ ベース接続の管理 共有デー タ ベース プ ロ フ ァ イルについて 共有 し た いプ ロ フ ァ イ ルが格納 さ れ て い る フ ァ イ ルの場所 を 指定 し て、 InfoMaker の開発環境でデー タ ベー ス プ ロ フ ァ イ ルが共有で き ま す。 こ の場所は、 デー タ ベー ス ペ イ ン タ の DB 環境設定 ダ イ ア ロ グ ボ ッ ク ス に指定 し ます。 共有プ ロ フ ァ イル フ ァ イルの保存場所 同一サ イ ト の InfoMaker ユーザ間でデー タ ベース プ ロ フ ァ イ ルを共有 す る には、 すべて のユーザが ア ク セ ス 可能な ネ ッ ト ワ ー ク フ ァ イ ル サーバにプ ロ フ ァ イ ル フ ァ イ ルを保存 し ます。 デー タ ベー ス プ ロ フ ァ イ ルを共有す る と 、 InfoMaker に よ っ て レ ジ ス ト リ に格納 さ れてい る デー タ ベース プ ロ フ ァ イ ルに加え て、 指定す る フ ァ イ ルに格納 さ れて い る 共有デー タ ベー ス プ ロ フ ァ イ ル名が表示 さ れ ます。 共有デー タ ベース プ ロ フ ァ イ ルは上書 き で き ません。 共有プ ロ フ ァ イ ルを選択 し てデー タ ベー ス に接続す る こ と はで き ますが、 共有 さ れて い る プ ロ フ ァ イ ル を 編集、 保存、 ま たは削除す る こ と はで き ま せん。 ただ し 、 共有プ ロ フ ァ イ ルに変更を加え て自分の コ ン ピ ュ ー タ に保存 す る こ と はで き ます (151 ページの 「 ロ ーカルで共有デー タ ベース プ ロ フ ァ イ ルを変更す る 」 を参照)。 共有デー タ ベース プ ロ フ ァ イルの設定 DB 環境設定 ダ イ ア ロ グ ボ ッ ク ス で共有デー タ ベース プ ロ フ ァ イ ルを 設定 し ます。 v デー タ ベース と の接続 共有デー タ ベース プ ロ フ ァ イルを設定する 1 デー タ ベース ペ イ ン タ で、 メ ニ ュ ー バーか ら 、 [デザ イ ン|オプ シ ョ ン]を選択 し 、DB 環境設定 ダ イ ア ロ グボ ッ ク ス を表示 し ます。 2 [全般] タ ブ ページの [共有 DB プ ロ フ ァ イ ル] ボ ッ ク ス に、 共有 し たいデー タ ベース プ ロ フ ァ イ ルを含んだ フ ァ イ ルの位置を指定 し ます。 こ の作業は、 以下のいずれかの方法で行い ます。 • [共有 DB プ ロ フ ァ イ ル]ボ ッ ク ス に、位置(パ ス名) を入力す る • 参照 ([...]) ボ タ ン を ク リ ッ ク し て、 フ ァ イ ルの位置を検索 し 、 [共有 DB プ ロ フ ァ イ ル] ボ ッ ク ス に表示す る 149 デー タ ベース プ ロ フ ァ イルの共有 以下の例では、 共有デー タ ベース プ ロ フ ァ イ ルの フ ァ イ ルの位置 と し て、 c:\work\share.ini を指定 し てい ます。 3 [OK] を ク リ ッ ク し ます。 InfoMaker は、共有デー タ ベース プ ロ フ ァ イ ルの設定を現行の接続 お よ び以降のすべての接続に適用 し 、 レ ジ ス ト リ にその設定を保 存 し ます。 共有デー タ ベース プ ロ フ ァ イルを使用 し た接続 共有デー タ ベース プ ロ フ ァ イ ルを選択 し て、 デー タ ベース に接続 し ま す。 こ れは、 レ ジ ス ト リ に格納 さ れたプ ロ フ ァ イ ルを選択す る 方法 と 同 じ です。 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス ま た は メ ニ ュ ーの [フ ァ イ ル] か ら 共有プ ロ フ ァ イ ルを選択で き ます。 DB プ ロ フ ァ イル ダ イ ア ログボ ッ ク ス DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス で、 共有 DB プ ロ フ ァ イ ルを選 択 し て、 接続 し ます。 v DB プ ロ フ ァ イル ダ イ ア ロ グボ ッ ク スで共有デー タ ベース プ ロ フ ァ イルを選 択する 1 150 パ ワ ーバーの [DB プ ロ フ ァ イ ル] ボ タ ン を ク リ ッ ク す る か、 メ ニ ュ ー バーの [ツール| DB プ ロ フ ァ イ ル] を選択 し ます。 InfoMaker 第 10 章 デー タ ベース接続の管理 共有プ ロ フ ァ イ ル と ロ ーカル プ ロ フ ァ イ ルの両方が一覧表示 さ れ た DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 共有プ ロ フ ァ イ ルは、 ネ ッ ト ワ ー ク ア イ コ ン と 「(Shared)」 と い う 文字で 示 さ れてい ます。 2 ア ク セ ス し た い共有プ ロ フ ァ イ ルの名前 を 選択 し 、 [接続] を ク リ ッ ク し ます。 InfoMaker は、 選択 さ れたデー タ ベース に接続 し 、 ペ イ ン タ の ワ ー ク スペース に戻 り ます。 ロー カルで共有デー タ ベース プ ロ フ ァ イルを変更する 共有プ ロ フ ァ イ ルは、InfoMaker を実行 し てい る 複数のユーザがア ク セ スす る ので、 こ れ ら のプ ロ フ ァ イ ルは変更すべ き ではあ り ません。 し か し 、 個人の使用のために共有デー タ ベース プ ロ フ ァ イ ルを変更 し て その コ ピーを保存 し たい場合は、 個人の コ ン ピ ュ ー タ の レ ジ ス ト リ で プ ロ フ ァ イ ルの編集や変更 し た コ ピーの保存を行い ます。 v レ ジ ス ト リ で共有デー タ ベース プ ロ フ ァ イルの変更を保存する 1 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス で、編集 し たい共有プ ロ フ ァ イ ルを選択 し て、 [編集] ボ タ ン を ク リ ッ ク し ます。 2 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス が表示 さ れます。 必要 に応 じ て、 プ ロ フ ァ イ ル値を編集 し 、 [OK] を ク リ ッ ク し ます。 変更 し たプ ロ フ ァ イ ルの コ ピーを保存す る ための メ ッ セージ ボ ッ ク ス が表示 さ れ ます。 デー タ ベース と の接続 151 デー タ ベース プ ロ フ ァ イルの共有 3 [はい] を ク リ ッ ク し ます。 変更 し たプ ロ フ ァ イ ルが、InfoMaker に よ っ て ロ ーカル コ ン ピ ュ ー タ の レ ジ ス ト リ に保存 さ れます。 共有デー タ ベース プ ロ フ ァ イルの管理 個人のマシ ン で InfoMaker のデー タ ベース プ ロ フ ァ イ ルを管理す る 場 合は、 変更を加え る 度に共有デー タ ベー ス プ ロ フ ァ イ ルを更新 し て、 ユーザが利用で き る よ う にす る 必要があ り ます。 共有デー タ ベー ス プ ロ フ ァ イ ルは、 InfoMaker を実行 し てい る 複数の ユーザがア ク セ ス す る ので、 ネ ッ ト ワ ー ク 上でプ ロ フ ァ イ ルを変更す る のは、 良い方法 と は言え ま せん。 変更は、 ネ ッ ト ワ ー ク 上で行 う の ではな く 、 ロ ーカルで更新 し たプ ロ フ ァ イ ルを ユーザに提供に し ます。 v 共有デー タ ベース プ ロ フ ァ イルを個人のマシ ン で管理する 1 個人の コ ン ピ ュ ー タ 上で、 共有プ ロ フ ァ イ ルに必要な変更を し て 保存を し ます。 こ れ ら の変更は レ ジ ス ト リ に保存 さ れ ます。 詳 し い手順については、 151 ページの 「 ロ ーカルで共有デー タ ベー ス プ ロ フ ァ イ ルを変更す る 」 を参照 し て く だ さ い。 2 レ ジ ス ト リ か ら 、更新 し たプ ロ フ ァ イ ル エ ン ト リ を、共有プ ロ フ ァ イ ルを含む既存の フ ァ イ ルにエ ク ス ポー ト し ます。 詳 し い手順については、 153 ページの 「デー タ ベー ス プ ロ フ ァ イ ルの イ ン ポー ト と エ ク ス ポー ト 」 を参照 し て く だ さ い。 3 指定 さ れていない場合は、 ユーザが各自の コ ン ピ ュ ー タ で共有プ ロ フ ァ イ ルにア ク セ ス で き る よ う に、DB 環境設定プ ロ パテ ィ シー ト で新 し いプ ロ フ ァ イ ル フ ァ イ ルの位置を各ユーザに指定 さ せま す。 詳 し い手順については、149 ページの 「共有デー タ ベース プ ロ フ ァ イ ルの設定」 を参照 し て く だ さ い。 152 InfoMaker 第 10 章 デー タ ベース接続の管理 デー タ ベース プ ロ フ ァ イルのイ ンポー ト と エ ク スポー ト 各デー タ ベース イ ン タ フ ェース には [プ ロ フ ァ イ ルを イ ン ポー ト ] お よ び [プ ロ フ ァ イ ルを エ ク ス ポー ト ] オプシ ョ ンが提供 さ れてい ます。 [プ ロ フ ァ イ ルを イ ン ポー ト ] オプシ ョ ン を使用す る と 、 定義済みのプ ロ フ ァ イ ルを イ ン ポー ト し て、 イ ン ス ト ール済みのデー タ ベース イ ン タ フ ェ ー ス で使用で き ます。 反対に、 [プ ロ フ ァ イ ルを エ ク ス ポー ト ] オプシ ョ ン を使用す る と 、 定義済みのプ ロ フ ァ イ ルを エ ク ス ポー ト し て、 ほかのユーザに よ る 使用が可能にな り ます。 プ ロ フ ァ イ ルを イ ン ポー ト お よ びエ ク ス ポー ト す る 機能を使 う と 、 開 発者間でプ ロ フ ァ イ ルを簡単にや り と り で き ます。 つま り 、 共有 さ れ てい る フ ァ イ ルを保守す る こ と に よ っ てプ ロ フ ァ イ ルを保守す る 必要 も な く な り ます。 ネ ッ ト ワ ー ク への接続を確保で き ないモバ イ ル環境 での開発で フ ァ イ ルを共有す る のに理想的です。 v プ ロ フ ァ イルを イ ンポー ト する 1 デー タ ベース イ ン タ フ ェース をハ イ ラ イ ト 表示 し て、 ポ ッ プア ッ プ メ ニ ュ ーか ら [プ ロ フ ァ イ ルを イ ン ポー ト ] を選択 し ます (デー タ ベー ス ペ イ ン タ で、 [フ ァ イ ル] ま たはポ ッ プア ッ プ メ ニ ュ ー か ら [プ ロ フ ァ イ ルを イ ン ポー ト ] を選択 し ます)。 2 プ ロ フ ァ イ ル フ ァ イ ルの選択 ダ イ ア ロ グ ボ ッ ク ス で、 プ ロ フ ァ イ ル を イ ン ポー ト す る フ ァ イ ルを選択 し て [保存] を ク リ ッ ク し ま す。 3 プ ロ フ ァ イ ルを イ ン ポー ト ダ イ ア ロ グ ボ ッ ク ス で、 イ ン ポー ト す る プ ロ フ ァ イ ルを選択 し て [OK] を ク リ ッ ク し ます。 プ ロ フ ァ イ ルが レ ジ ス ト リ に コ ピー さ れ ま す。 同名のプ ロ フ ァ イ ルがすでにあ る 場合は、 上書 き す る か ど う か を尋ね る メ ッ セージ が表示 さ れます。 v デー タ ベース と の接続 プ ロ フ ァ イルを エ ク スポー ト する 1 デー タ ベース イ ン タ フ ェース をハ イ ラ イ ト 表示 し て、 ポ ッ プア ッ プ メ ニ ュ ーか ら [プ ロ フ ァ イ ル を エ ク ス ポー ト ] を 選択 し ま す (デー タ ベー ス ペ イ ン タ で、 [フ ァ イ ル] ま たはポ ッ プ ア ッ プ メ ニ ュ ーか ら [プ ロ フ ァ イ ルを エ ク ス ポー ト ] を選択 し ます)。 2 プ ロ フ ァ イ ルを エ ク ス ポー ト ダ イ ア ロ グ ボ ッ ク ス で、 エ ク ス ポー ト す る プ ロ フ ァ イ ルを選択 し て [OK] を ク リ ッ ク し ます。 153 InfoMaker 拡張属性シ ス テム テーブルについて 定義済みのデー タ ベース イ ン タ フ ェ ース であ る か ど う かにかかわ ら ず、 プ ロ フ ァ イ ルを エ ク ス ポー ト ダ イ ア ロ グ ボ ッ ク ス に、 レ ジ ス ト リ に定義済みのすべて のプ ロ フ ァ イ ルが一覧表示 さ れ ま す。 デフ ォ ル ト では、 選択 さ れたデー タ ベース イ ン タ フ ェ ース に定義 済みのプ ロ フ ァ イ ルがエ ク ス ポー ト 用にマーキ ン グ さ れ ます。 3 プ ロ フ ァ イ ル フ ァ イ ルの選択 ダ イ ア ロ グボ ッ ク ス で、 デ ィ レ ク ト リ と エ ク ス ポー ト さ れたプ ロ フ ァ イ ル を保存す る フ ァ イ ルを選択 し て、 [保存] を ク リ ッ ク し ます。 エ ク ス ポー ト さ れたプ ロ フ ァ イ ルは、 新規 ま たは既存の フ ァ イ ル に保存で き ま す。 既存の フ ァ イ ルに保存す る 場合、 プ ロ フ ァ イ ル は既存のプ ロ フ ァ イ ルに追加 さ れ ま す。 同名のプ ロ フ ァ イ ルがす でにあ る 場合は、 上書 き す る か ど う か を尋ね る メ ッ セージが表示 さ れ ます。 InfoMaker 拡張属性シ ス テム テーブルについて InfoMaker は 5 つのシ ス テ ム テーブルを使用 し て、デー タ ベース のテー ブルお よ びカ ラ ム につい て の拡張属性情報 (表示書式、 入力条件則、 フ ォ ン ト 情報な ど) を格納 し ます。 ま た、 InfoMaker において、 テーブ ルを作成 し た り 変更 し た り す る と き に も 、拡張属性の定義がで き ます。 こ の節では、 以下の項目について解説 し ます。 • デー タ ベー ス へ初めて ロ グ イ ンす る と き に、 適切な ア ク セ ス 権を 使用 し て InfoMaker 拡張属性シ ス テ ム テーブルを作成す る 方法 • InfoMaker 拡張属性シ ス テ ム テーブルを表示 し 、 開 く 方法 • InfoMaker 拡張属性シ ス テ ム テーブルに格納 さ れてい る 情報の種 類について • 拡張属性シ ス テ ム テーブルへのア ク セ ス を制御す る 方法 デー タ ベースへの初めてのロ グ イ ン デフ ォ ル ト で、デー タ ベース に最初に接続 し た と き に InfoMaker に よ っ て拡張属性シ ス テ ム テーブルが作成 さ れ ます。 154 InfoMaker 第 10 章 デー タ ベース接続の管理 InfoMaker が適切な ア ク セ ス 権限を持っ た拡張属性シ ス テ ム テーブル を作成 し て、 すべて のユーザが こ れ を利用で き る よ う にす る ために、 InfoMaker を使用 し て最初にデー タ ベース に接続す る 担当者は、適切な 権限を使用 し て ロ グ イ ンす る 必要があ り ます。 v InfoMaker 拡張属性シス テム テーブルを正確に作成する • InfoMaker を使用 し て最初にデー タ ベース に接続す る 場合は、 その 担当者がテーブルを作成 し 、PUBLIC を実行す る 権限を持っ てい る こ と を確認 し て く だ さ い。 つ ま り 、 初回のデー タ ベー ス 接続を行 う ユーザは、 デー タ ベー ス オーナー、 デー タ ベース管理者、 シ ス テ ム ユーザ、 シ ス テ ム管理 者、 シ ス テ ム オーナー、 ま たは DBMS で指定 さ れたユーザで ロ グ イ ン し ます。 InfoMaker 拡張属性シ ス テム テーブルの表示 テーブルやカ ラ ムの情報を変更す る と 、 拡張属性シ ス テ ム テーブルは InfoMaker に よ っ て自動的に更新 さ れます。 InfoMaker 拡張属性シ ス テ ム テーブルは、 DBMS が提供す る シ ス テ ム テーブル と は異な り ます。 InfoMaker 拡張属性シ ス テ ム テーブルは、 必要に応 じ て、 ほかのテー ブル と 同様に、 デー タ ベース ペ イ ン タ で開いて表示で き ます。 デー タ ベース と の接続 155 InfoMaker 拡張属性シ ス テム テーブルについて v InfoMaker 拡張属性シ ス テム テーブルを表示する 1 デー タ ベース ペ イ ン タ で、 ア ク テ ィ ブな接続のデー タ ベース オブ ジ ェ ク ト の リ ス ト で [テーブル] を ハ イ ラ イ ト 表示 し て、 ポ ッ プ ア ッ プ メ ニ ュ ーか ら [シ ス テ ム テーブルを表示] を選択 し ます。 2 次の よ う に、 InfoMaker 拡張属性シ ス テ ム テーブル と DBMS シ ス テ ム テーブルがテーブル リ ス ト に表示 さ れます。 • 156 InfoMaker シ ス テム テーブル pbcatcol、 pbcatedt、 pbcatfmt、 pbcattbl、 pbcatvld と い う 5 つのシ ス テ ム テーブルがあ り ます。 InfoMaker 第 10 章 • デー タ ベース接続の管理 DBMS シ ス テム テーブル DBMS で提供 さ れ る シ ス テ ム テーブ ルは、通常、DBMS 固有の修飾子 (sys や dbo な ど) を伴い ます。 3 InfoMaker シ ス テ ム テーブルの内容が、 オブジ ェ ク ト レ イ ア ウ ト 、 オブジ ェ ク ト の詳細、 ま たはカ ラ ム ビ ュ ーに表示 さ れます。 詳 し い手順については、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照 し て く だ さ い。 拡張属性シ ス テム テーブルは編集 し ないで く だ さ い InfoMaker 拡張属性シ ス テ ム テーブル内の値は変更 し ないで く だ さ い。 拡張属性シ ス テム テーブルの内容 InfoMaker に示す よ う に、 表 10-1 では、 5 種類の拡張属性情報を シ ス テ ム テーブルに格納 し てい ます。 デー タ ベース と の接続 157 InfoMaker 拡張属性シ ス テム テーブルについて 表 10-1: 拡張属性シ ス テム テーブル シス テム テーブル 情報の種類 カラム 属性 カ ラ ム の名前、 コ メ ン ト 、 ヘ ッ ダ、 ラ ベ ル、 大文字 と 小文字の区別、 初期値、 位 置揃え pbcattbl 編集様式 表示書式 テーブル pbcatvld 入力条件則 編集様式の名前 と 定義 表示書式の名前 と 定義 テーブルの名前、 所有者、 (デー タ 、 ヘ ッ ダ、 ラ ベルの) デフ ォ ル ト フ ォ ン ト 、 コ メント 入力条件則の名前 と 定義 pbcatcol pbcatedt pbcatfmt InfoMaker シ ス テ ム テーブルの詳細については、 『ユーザーズ ガ イ ド 』 マニ ュ アルの 「付録」 を参照 し て く だ さ い。 シ ス テム テーブル名の修飾子 デー タ ベース に よ っ て、 InfoMaker は、 デフ ォ ル ト の DBMS 固有の修 飾子を シ ス テ ム テーブル名の先頭に付け ます。 た と えば、 InfoMaker シ ス テ ム テーブルの名前は、SQL Server デー タ ベース の場合は修飾子 DBO が先頭に付 き (DBO.pbcatcol)、 Oracle デー タ ベース の場合は修飾 子 SYSTEM が先頭に付 き ます (SYSTEM.pbcatfmt)。 前述の表は、 DBMS 固有の修飾子が付いていない、 シ ス テ ム テーブル の基本 と な る 名前を それぞれ示 し た も のです。 シ ス テム テーブルへのア ク セスの制御 サ イ ト の InfoMaker シ ス テ ム テーブルへの ア ク セ ス を 制御す る た め に、 InfoMaker に対 し て シ ス テ ム テーブルを作成 ま たは更新 し ない よ う に指定 し た り 、 一部のユーザ ま たはグループだけがシ ス テ ム テーブ ルにア ク セ ス で き る よ う に指定 し た り す る こ と がで き ます。 シ ス テ ム テーブルへのア ク セ ス を制御す る には、 以下のいずれかの作 業を行い ます。 158 デー タ ベー ス ペ イ ン タ の DB 環境設定 ダ イ ア ロ グボ ッ ク ス で、 [拡張属性の使用] の設定を し ます。 • [拡張属性の使用] の設定 • [読み取 り 専用] の設定 デー タ ベー ス ペ イ ン タ の DB 環境設定 ダ イ ア ロ グ ボ ッ ク ス で、 [読み取 り 専用] の設定を し ます。 InfoMaker 第 10 章 • デー タ ベース接続の管理 シ ス テム テーブルのア ク セス権の指定 サ イ ト の ユ ー ザ ま た は グ ループに対 し て、 シ ス テ ム テーブルの明示的な ア ク セ ス権を与え ます。 [拡張属性の使用] または [読み取 り 専用] の設定に よ る ア ク セスの制御 v デー タ ベース と の接続 [拡張属性の使用] または [読み取 り 専用] を設定 し て シス テム テーブルへ のア ク セス を制御する 1 メ ニ ュ ー バーの [デザ イ ン|オプシ ョ ン] を選択 し て、 DB 環境 設定 ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 2 [全般] タ ブ ページで [拡張属性の使用] ま たは [読み取 り 専用] の値を設定 し ます。 159 InfoMaker 拡張属性シ ス テム テーブルについて 環境設定項目 [拡張属性の使用] 必要な操作 チェ ッ ク ボ ッ ク ス を オ フ にす る [読み取 り 専用] チェ ッ ク ボ ッ ク ス をオンにする 効果 InfoMaker シ ス テ ム テーブルが存在 し ない場合、シ ス テ ム テーブルが作成 さ れない。 かわ り に、 ペ イ ン タ では、 拡張属性 (ヘ ッ ダ、 ラ ベル、 テ キ ス ト の色な ど) の適 切なデフ ォ ル ト 値が使用 さ れ る InfoMaker シ ス テ ム テーブルがすでに存在す る 場合、レ ポ ー ト ま た は フ ォ ー ム を 新 し く 作 成 す る と き に、 InfoMaker はそのシ ス テ ム テーブルを使用 し ない InfoMaker シ ス テ ム テーブルがすでに存在す る 場合、レ ポ ー ト ま た は フ ォ ー ム を 新 し く 作 成 す る と き に、 InfoMaker はそのシ ス テ ム テーブルを使用す る が、その シ ス テ ム テーブルが更新 さ れ る こ と はない [読み取 り 専用] チ ェ ッ ク ボ ッ ク ス がオ ン の場合、 レ ポー ト ペ イ ン タ ま たはフ ォーム ペ イ ン タ か ら 、 シ ス テ ム テーブルやほかのデー タ ベー ス テーブル内の情報 の変更 (更新) はで き ない 3 [OK] ボ タ ン を ク リ ッ ク し ます。 InfoMaker は、 環境設定項目の設定を現行の接続や以降のすべての 接続に適用 し 、 それ ら を レ ジ ス ト リ に保存 し ます。 ア ク セス権によ る シ ス テム テーブルへのア ク セスの制御 使用 し てい る DBMS が SQL GRANT 文や REVOKE 文を サポー ト し てい る 場合、InfoMaker シ ス テ ム テーブルへのア ク セ ス を制御で き ます。各 リ ポジ ト リ テーブルに対す る デフ ォ ル ト の権限は以下の と お り です。 GRANT SELECT, UPDATE, INSERT, DELETE ON table TO PUBLIC シ ス テ ム テーブル を作成 し た後で、 た と えば、 SELECT 権限を エ ン ド ユーザに、 SELECT、 UPDATE、 INSERT、 DELETE 権限 を 開発者に与え る こ と に よ っ て、 シ ス テ ム テーブルへのア ク セ ス を制御で き ます。 こ の 手法の場合、 DBMS 自体が備え てい る セ キ ュ リ テ ィ と 柔軟性を活用で き ます。 160 InfoMaker 第 11 章 接続パ ラ メ ー タ の追加設定 こ の章について デー タ ベー ス 接続の設定を さ ら に細か く 調整 し 、 使用す る イ ン タ フ ェース がサポー ト す る DBMS 固有の機能を利用す る ために、 必 要に応 じ て接続パ ラ メ ー タ を追加設定で き ます。 追加で き る 接続 パ ラ メ ー タ には、 以下の 2 種類があ り ます。 • デー タ ベース パ ラ メ ー タ • デー タ ベース環境設定項目 こ れ ら の接続パ ラ メ ー タ については、 オ ン ラ イ ン ヘルプの 「デー タ ベース接続」 で説明 し てい ます。 こ の章では、 InfoMaker のデー タ ベー ス パ ラ メ ー タ と デー タ ベー ス環境設定項目の内容について解説 し ます。 内容 項目 接続パ ラ メ ー タ を設定す る ための基本手順 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス について デー タ ベース パ ラ メ ー タ の設定 デー タ ベース環境設定項目の設定 ページ 161 162 163 164 接続パラ メ ー タ を設定する ための基本手順 こ の節では、 InfoMaker か ら 、 デー タ ベー ス パ ラ メ ー タ と デー タ ベース環境設定項目を設定す る 方法について解説 し ます。 v デー タ ベース パラ メ ー タ を設定する 1 開発環境でデー タ ベース パ ラ メ ー タ を設定す る 方法を理解 し ます。 163 ページの 「デー タ ベー ス パ ラ メ ー タ の設定」 を参照 し て く だ さ い。 2 デー タ ベース と の接続 使用 し てい る デー タ ベー ス イ ン タ フ ェ ース に対 し て設定で き る デー タ ベース パ ラ メ ー タ を調べます。 161 DB プ ロ フ ァ イル設定 ダ イ ア ログボ ッ ク スについて サ ポー ト し て い る デー タ ベー ス イ ン タ フ ェ ー ス と 、 そ の イ ン タ フ ェ ー ス で使用で き る デー タ ベー ス パ ラ メ ー タ の一覧につい て は、 オ ン ラ イ ン ヘルプの 「デー タ ベース パ ラ メ ー タ と サポー ト し てい る デー タ ベース イ ン タ フ ェ ース」 を参照 し て く だ さ い。 v 3 オ ン ラ イ ン ヘルプで、 設定す る デー タ ベース パ ラ メ ー タ について の解説を参照 し ます。 4 データ ベース 接続に対し てデータ ベース パラ メ ータ を 設定し ま す。 デー タ ベース環境設定項目を設定する 1 開発環境の中でデー タ ベー ス 環境設定項目を設定す る 方法を理解 し ます。 164 ページの 「デー タ ベース環境設定項目の設定」 を参照 し て く だ さ い。 2 使用 し てい る DBMS に対 し て設定で き る デー タ ベース環境設定項 目を調べます。 サ ポー ト し て い る デー タ ベー ス イ ン タ フ ェ ー ス と 、 そ の イ ン タ フ ェ ー ス で使用で き る デー タ ベー ス 環境設定項目の一覧について は、 オ ン ラ イ ン ヘルプの 「デー タ ベース パ ラ メ ー タ と サポー ト し てい る デー タ ベース イ ン タ フ ェ ース」 を参照 し て く だ さ い。 3 オ ン ラ イ ン ヘルプで、 設定す る 環境設定項目についての解説を参 照 し ます。 4 デー タ ベー ス 接続に対 し てデー タ ベー ス 環境設定項目を設定 し ま す。 DB プ ロ フ ァ イル設定 ダ イ ア ログボ ッ ク スについて イ ン タ フ ェ ース固有の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス を使 用すれば、 開発環境で追加接続パ ラ メ ー タ を簡単に設定で き ます。 こ のダ イ ア ロ グボ ッ ク ス では、 以下の処理を行え ます。 • 162 デー タ ベース イ ン タ フ ェース がサポー ト し てい る 接続オプシ ョ ン の値を指定す る InfoMaker 第 11 章 接続パ ラ メ ー タ の追加設定 各デー タ ベース イ ン タ フ ェ ース は、 独自の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス を持っ てお り 、 その イ ン タ フ ェ ー ス 専用の接 続パ ラ メ ー タ の設定が入っ てい ま す。 関連す る パ ラ メ ー タ は同 じ タ ブ ページでグループ化 さ れてい ます。 すべての イ ン タ フ ェ ース 用の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス には、 [接続] タ ブ が含 ま れてい ま す。 イ ン タ フ ェ ー ス の機能 と 必要に応 じ て、 こ れ 以外の タ ブ ページ も 表示 さ れます。 • 開発環境で簡単に追加接続パ ラ メ ー タ を設定す る 接続パ ラ メ ー タ (デー タ ベース パ ラ メ ー タ お よ び ト ラ ンザ ク シ ョ ン オブジ ェ ク ト のプ ロ パテ ィ ) の値は、チ ェ ッ ク ボ ッ ク ス、 ド ロ ッ プダ ウ ン リ ス ト 、 お よ びテ キ ス ト ボ ッ ク ス を使用 し て、 簡単に指 定す る こ と がで き ます。 デー タ ベース プ ロ フ ァ イ ルを シ ス テ ム レ ジ ス ト リ に保存す る と 、 InfoMaker に よ り 、 正 し い構文が自動的に 生成 さ れ ます。 デー タ ベース パラ メ ー タ の設定 InfoMaker では、接続用に DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス を 編集す る こ と に よ り 、 デー タ ベース パ ラ メ ー タ を設定で き ます。 開発環境でのデー タ ベース パラ メ ー タ の設定 デー タ ベース プ ロ フ ァ イルの編集 InfoMaker の開発環境で、 デー タ ベー ス 接続に対 し てデー タ ベー ス パ ラ メ ー タ を設定す る には、 その接続に対応す る デー タ ベース プ ロ フ ァ イ ルを編集 し ます。 文字列の文字数制限 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス に指定す る デー タ ベース パ ラ メ ー タ を含む文字列は、 999 文字以内で指定 し ます。 こ の制限は、 開発環境でデー タ ベース プ ロ フ ァ イ ルに指定す る デー タ ベース パ ラ メ ー タ だけに適用 さ れます。 ト ラ ンザ ク シ ョ ン オブジ ェ ク ト のプ ロ パテ ィ と し て コ ー ド に指定す る デー タ ベース 文字列には、 文 字数の制限があ り ません。 デー タ ベース と の接続 163 デー タ ベース環境設定項目の設定 デー タ ベース環境設定項目の設定 設定方法 InfoMaker におい て接続関連のデー タ ベー ス 環境設定項目を設定す る 方法は、 以下の表に示す よ う に異な り ます。 表 11-1: デー タ ベース環境設定項目 と その編集場所 デ ー タ ベ ー ス 環境設定 項目 自動 コ ミ ッ ト モー ド (AutoCommit) 分離レベル (Lock) 共有 DB プ ロ フ ァ イ ル (Shared Database Profiles) 開始時にデー タ ベース に接続 (Connect DB at Startup) デフ ォ ル ト のプ ロ フ ァ イ ルに接続 (Connect to Default Profile) 読み取 り 専用 (Read Only) DB の接続を保持 (Keep Connection Open) 拡張属性の使用 (Use Extended Attributes) SQL 構文の終止符 (SQL Terminator Character) 開発環境の中で設定する場合の編集対象 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス DB 環境設定 ダ イ ア ロ グボ ッ ク ス DB 環境設定 ダ イ ア ロ グボ ッ ク ス DB 環境設定 ダ イ ア ロ グボ ッ ク ス DB 環境設定 ダ イ ア ロ グボ ッ ク ス DB 環境設定 ダ イ ア ロ グボ ッ ク ス DB 環境設定 ダ イ ア ロ グボ ッ ク ス DB 環境設定 ダ イ ア ロ グボ ッ ク ス 以下の節では、 開発環境で、 デー タ ベー ス 環境設定項目を設定す る 手 順について解説 し ます。 詳細について 各デー タ ベース環境設定項目の詳細については、 オ ン ラ イ ン ヘルプの 説明を参照 し て く だ さ い。 開発環境でのデー タ ベース環境設定項目の設定 サ ポー ト さ れ て い る すべ て の開発プ ラ ッ ト フ ォ ー ム におけ る InfoMaker の開発環境でデー タ ベース環境設定項目を設定す る には、 2 つの方法があ り ます。 • 164 AutoCommit や Lock (分離レベル) は、 接続に対応す る DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス で設定す る InfoMaker 第 11 章 • 接続パ ラ メ ー タ の追加設定 ほかのすべてのデー タ ベース環境設定項目は、 デー タ ベース ペ イ ン タ の DB 環境設定 ダ イ ア ロ グ ボ ッ ク ス で設定す る デー タ ベース プ ロ フ ァ イルにおける AutoCommit と Lock の設定 AutoCommit お よ び Lock (分離 レベル) 環境設定項目は、 デフ ォ ル ト ト ラ ン ザ ク シ ョ ン オ ブ ジ ェ ク ト SQLCA の プ ロ パ テ ィ で す。 AutoCommit と Lock (分離レベル) 環境設定項目が InfoMaker の開発環 境で有効 と な る よ う にす る には、 こ れ ら をデー タ ベー ス に接続す る 前 に指定 し ます。 接続 し た後で こ れ ら の環境設定項目を変更 し て も 、 現 行の接続には、 その変更が反映 さ れ ません。 InfoMaker がデー タ ベース に接続す る 前に AutoCommit や Lock を設定 す る には、 以下の手順で、 接続に対応す る DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス でその値を指定 し ます。 v デー タ ベース プ ロ フ ァ イルに AutoCommit や Lock (分離レ ベル) を設定す る 1 DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス を表示 し ます。 2 使用す る イ ン タ フ ェ ー ス 名の左の正符号 (+) を ク リ ッ ク す る か、 イ ン タ フ ェース名を ダブル ク リ ッ ク し ます。 リ ス ト が展開 し 、 そ の イ ン タ フ ェ ー ス に定義 さ れ て い る デー タ ベース プ ロ フ ァ イ ルが表示 さ れ ます。 3 編集 し たいプ ロ フ ァ イ ル を選択 し て [編集] ボ タ ン を ク リ ッ ク し ます。 選択 し たプ ロ フ ァ イ ルの DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス が表示 さ れ ます。 4 [接続] タ ブで、 以下のいずれかの値、 ま たは両方の値を指定 し ま す。 • 分離レ ベル デー タ ベー ス が ロ ッ ク や分離レベルを サポー ト す る 場合、 接続で使用す る 分離レベルを、 [分離レベル] ド ロ ッ プダ ウ ン リ ス ト か ら 選択 し ます ([分離レベル] ド ロ ッ プダ ウ ン リ ス ト には、 各 イ ン タ フ ェ ー ス に対 し て有効な ロ ッ ク 値が 格納 さ れてい ます)。 デー タ ベース と の接続 165 デー タ ベース環境設定項目の設定 • AutoCommit の設定は、 InfoMaker が SQL 文を ト ラ ンザ ク シ ョ ン の ス コ ープの外側で発行す る (True) の か、 内側で発行す る (False) のか を 制御 し ま す。 デー タ ベー ス が対応 し ていれば、 [自動 コ ミ ッ ト モー ド ] チ ェ ッ ク ボ ッ ク ス をチ ェ ッ ク し て AutoCommit を True(オ ン)にす る か、チ ェ ッ ク ボ ッ ク ス の チ ェ ッ ク を は ず し て (デ フ ォ ル ト 状 態) AutoCommit を False (オ フ) に し ます。 自動 コ ミ ッ ト モー ド た と えば、 基本接続パ ラ メ ー タ (サーバ、 ロ グ イ ン ID、 パ ス ワ ー ド 、 お よ びデー タ ベース) に加え て、 Sales と い う Sybase Adaptive Server Enterprise プ ロ フ ァ イ ル用の [接続] タ ブでは、 [分離 レ ベ ル] と [自動 コ ミ ッ ト モー ド ] に対 し てデフ ォ ル ト と 異な る 設定 を し てい ます。 5 [OK] を ク リ ッ ク し て、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス を閉 じ ます。 InfoMaker は、レ ジ ス ト リ 内のデー タ ベース プ ロ フ ァ イ ルのエ ン ト リ に設定を保存 し ます。 DB 環境設定 ダ イ ア ログボ ッ ク スにおける環境設定項目の設定 以 下 の 接 続 関 連 の デ ー タ ベ ー ス 環 境 設 定 項 目 を 設 定 す る に は、 InfoMaker デー タ ベース ペ イ ン タ で、DB 環境設定 ダ イ ア ロ グボ ッ ク ス に対 し て入力を し ます。 • [共有 DB プ ロ フ ァ イ ル] • [デフ ォ ル ト のプ ロ フ ァ イ ルに接続] • [読み取 り 専用] • [DB の接続を保持] • [拡張属性の使用] • [SQL 構文の終止符] そのほかのデー タ ベース環境設定項目 DB 環境設定 ダ イ ア ロ グボ ッ ク ス では、 デー タ ベース ペ イ ン タ その も のの動作に影響を及ぼす、 そのほかのデー タ ベー ス環境設定項目を設 定で き ます。 DB 環境設定 ダ イ ア ロ グ ボ ッ ク ス で設定で き る そのほか の環境設定項目については、 『ユーザーズ ガ イ ド 』 マ ニ ュ アル を参照 し て く だ さ い。 166 InfoMaker 第 11 章 v 接続パ ラ メ ー タ の追加設定 DB 環境設定 ダ イ ア ログボ ッ ク スで接続関連の環境設定項目を設定する 1 デー タ ベース ペ イ ン タ を開 き ます。 2 メ ニ ュ ーバーか ら [デザ イ ン|オプシ ョ ン] を選択 し ます。 DB 環境設定 ダ イ ア ロ グボ ッ ク ス が表示 さ れます。 必要であれば、 [全般] タ ブ を ク リ ッ ク し て [全般] プ ロ パテ ィ ページ を表示 し ま す。 3 [全般] プ ロ パテ ィ ページ上で、 以下の表の接続関連の DB 環境設 定項目に対 し て値を指定 し ます。 表 11-2: 接続関連のデー タ ベース環境設定項目 環境設定項目 [共有 DB プ ロ フ ァ イ ル] [開始時にデ フ ォ ル ト の プ ロ フ ァ イ ルで接続] [デ フ ォ ル ト の プ ロ フ ァ イ ルに接続] デー タ ベース と の接続 説明 共有す る デー タ ベー ス プ ロ フ ァ イ ルがあ る フ ァ イ ルの パ ス名を指定す る 。 パ ス名を直接入力す る こ と も 、 参照 ( [...] ) ボ タ ン を ク リ ッ ク し てパス名を表示する こ と も でき る InfoMaker がデー タ ベース に接続す る タ イ ミ ン グ を指定 す る 。 以下に示す よ う に、 チ ェ ッ ク ボ ッ ク ス をチ ェ ッ ク ま たはチ ェ ッ ク をはずす • チ ェ ッ ク ボ ッ ク ス を オ ンにする 次に InfoMaker を 起動 す る と 、 自動的にデー タ ベース に接続 し 、 InfoMaker を終了す る ま でセ ッ シ ョ ン を維持 し ます。 • チ ェ ッ ク ボ ッ ク ス を オ フ にする (デ フ ォ ル ト ) 次 に InfoMaker を起動す る と 、 接続を必要 と する ペ イ ン タ を開いた と き にのみデー タ ベース に接続 し ます。 デー タ ベース ペ イ ン タ 起動時に、 デフ ォ ル ト プ ロ フ ァ イ ル を使用 し てデー タ ベー ス 接続を確立す る か ど う か を 指定す る 。 チ ェ ッ ク がはず さ れて い る 場合、 デー タ ベー ス ペ イ ン タ はデー タ ベー ス 接続を確立せずにデー タ ベース ペ イ ン タ を開 く 参考資料 148 ページの 「デー タ ベース プ ロ フ ァ イ ルの共 有」 オ ン ラ イ ン ヘル プ の 「開 始 時 に デー タ ベース に接 続」 オ ン ラ イ ン ヘル プの 「デフ ォ ル ト のプ ロ フ ァ イ ルに 接続」 167 デー タ ベース環境設定項目の設定 環境設定項目 [読み取 り 専用] 説明 InfoMaker が、 拡張属性シ ス テ ム テーブルやデー タ ベー ス内のほかのテーブルを更新す る か ど う か を指定す る 。 以下に示す よ う に、 [読み取 り 専用] チ ェ ッ ク ボ ッ ク ス をチ ェ ッ ク ま たはチ ェ ッ ク をはずす • チ ェ ッ ク ボ ッ ク ス を オ ンにする 拡 張 属 性 シ ス テ ム テーブルやデー タ ベー ス 内のほかのテーブルを更新 し てはいけ ません。 [読み取 り 専用] チ ェ ッ ク ボ ッ ク ス がオン の場合、 レ ポー ト ま たはフ ォーム ペ イ ン タ か ら 、 拡張属性 シ ス テ ム テ ーブルやほ か のデー タ ベース テーブル内の情報の変更 (更新) はで き ませ ん。 • チ ェ ッ ク ボ ッ ク ス を オ フ にする (デフ ォ ル ト )拡張属性 シ ス テ ム テーブルやデー タ ベース内のほかのテーブ ルを更新 し ます。 参考資料 [DB の接続を保持] デー タ ベー ス プ ロ フ ァ イ ル を使用せずに InfoMaker か オ ン ラ イ ン ヘ ル ら デー タ ベース に接続 し てい る と き に、 InfoMaker が接 プの 「デー タ ベー 続を閉 じ る タ イ ミ ン グ を指定す る 。 以下に示す よ う に、 ス の接続を保持」 [DB の接続を保持] チ ェ ッ ク ボ ッ ク ス を チ ェ ッ ク ま た はチ ェ ッ ク をはずす • チ ェ ッ ク ボ ッ ク ス を オ ンにする (デフ ォ ル ト ) セ ッ シ ョ ン中はデー タ ベー ス に接続 し た ま ま で、 セ ッ シ ョ ン が終了す る と き に接続を閉 じ ます。 • チ ェ ッ ク ボ ッ ク ス を オ フ にする ペ イ ン タ が要求 し た と き だけ接続 を開 き 、 ペ イ ン タ を閉 じ る と き 、 ま たは ス ク リ プ ト の コ ン パ イ ルが終了す る と き に、 接続を 閉 じ ます。 オ ン ラ イ ン ヘル プの 「読み取 り 専 用」 PowerBuilder 専用 [DB の接続を保持] は InfoMaker では何の効果 も あ り ま せん。 [拡張属性の使用] [表示す る カ ラ ム数] 168 InfoMaker が拡張属性シ ス テ ム テーブルを作成 し 、 使用 オ ン ラ イ ン ヘ ル す る か ど う か を指定す る 。 以下に示す よ う に、 [拡張属 プの 「拡張属性の 性の使用] チ ェ ッ ク ボ ッ ク ス をチ ェ ッ ク ま たはチ ェ ッ ク 使用」 をはずす。 • チ ェ ッ ク ボ ッ ク ス を オ ンにする (デフ ォ ル ト )拡張属性 シ ス テ ム テーブルを作成 し 、 使用 し ます。 • チ ェ ッ ク ボ ッ ク ス を オ フ にする 拡 張 属 性 シ ス テ ム テーブルを作成 し ません。 InfoMaker が テーブル を グ ラ フ ィ カ ルに表示す る と き に、 表示 さ れ る テーブルの カ ラ ム数 を指定 し ま す。 デ フ ォ ル ト は 8 です。 InfoMaker 第 11 章 環境設定項目 SQL 構文の終止符 (SQL Terminator Character) 接続パ ラ メ ー タ の追加設定 説明 参考資料 InfoMaker に お い て、 デー タ ベー ス ペ イ ン タ の ISQL オ ン ラ イ ン ヘ ル ビ ュ ーで使用す る SQL 文の終止符を指定す る プの 「SQL 構文の 終止符」 デフ ォ ル ト の終止符はセ ミ コ ロ ン (;)。 デー タ ベース ペ イ ン タ の ISQL ビ ュ ーで ス ト ア ド プ ロ シージ ャ や ト リ ガ を作成 し てい る 場合、 SQL 文の終止符を、 DBMS に おけ る ス ト ア ド プ ロ シージ ャ 、 ま たは ト リ ガで使用す る 予定のない文字に変更す る 。 バ ッ ク ク ォー ト 文字 (`) な ど が適切 デー タ ベー ス か ら ど れだけ頻繁にテーブル リ ス ト を リ フ レ ッ シ ュ す る か を指定 し ます。 デフ ォ ル ト は 30 分で す。 [テーブル リ ス ト の再描 画] 4 以下のいずれかの操作を し ます。 • 環境設定項目の設定を現行の接続に適用 し た上で、 DB 環境設 定 ダ イ ア ロ グ ボ ッ ク ス を閉 じ ずに操作を続け る には、 [更新] ボ タ ン を ク リ ッ ク し ます。 • 環境設定項目の設定を現行の接続に適用 し た上で、 DB 環境設 定 ダ イ ア ロ グ ボ ッ ク ス を閉 じ る には、 [OK] ボ タ ン を ク リ ッ ク し ます。 InfoMaker に よ っ て、 環境設定項目の設定は、 IM.INI の database セ ク シ ョ ン に保存 さ れ ます。 デー タ ベース と の接続 169 デー タ ベース環境設定項目の設定 170 InfoMaker 第 1 2 章 デー タ ベース接続に関する ト ラ ブル シ ュ ーテ ィ ン グ こ の章について こ の章では、 InfoMaker において、 デー タ ベース と の接続で発生 し た問題を以下の ツールを使用 し て解決す る 方法について解説 し ま す。 内容 • デー タ ベース ト レース • ODBC ド ラ イ バ マネージ ャ ト レース • JDBC ド ラ イ バ マネージ ャ ト レース 項目 ト ラ ブルシ ュ ーテ ィ ン グ ツールの概要 デー タ ベース ト レース ツールの使い方 ODBC ド ラ イ バ マネージ ャ ト レース ツールの使い方 JDBC ド ラ イ バ マネージ ャ ト レース ツールの使い方 ページ 171 172 181 186 ト ラ ブルシ ュ ーテ ィ ング ツールの概要 InfoMaker は、問題の解決のためにデー タ ベース と の接続を ト レー スす る のに利用で き る い く つかの ツールを備え てい ます。 表 12-1: デー タ ベース ト レース ツール 使用する ツール デー タ ベース ト レース ODBC ド ラ イ バ マネー ジ ャ ト レース JDBC ド ラ イ バ マネー ジ ャ ト レース デー タ ベース と の接続 ト レースで き るデー タ ベース接続 InfoMaker でデー タ ベース イ ン タ フ ェ ース を 介 し て ア ク セ スする 任意のデー タ ベース ODBC デー タ ソ ース のみ JDBC デー タ ベース のみ 171 デー タ ベース ト レース ツールの使い方 デー タ ベース ト レース ツールの使い方 本節では、 デー タ ベー ス ト レ ー ス ツ ールの使い方について説明 し ま す。 デー タ ベース ト レース ツール デー タ ベース ト レース ツールを使用す る と 、デー タ ベースへのア ク セ ス 中に InfoMaker が実行す る 内部 コ マ ン ド が記録 さ れ ます。 開発環境 で、 デー タ ベース と の接続状況を ト レース で き ます。 デー タ ベース ト レース の出力は、 InfoMaker に よ っ て DBTRACE.LOG (デフ ォ ル ト ) と い う 名前の ロ グ フ ァ イ ルま たは指定 し た ロ グ フ ァ イ ルに書 き 込まれ ます。 デー タ ベース の ト レース を最初に起動 し た と き に、 InfoMaker に よ っ て コ ン ピ ュ ー タ 上に ロ グ フ ァ イ ルが作成 さ れ ま す。 ト レース は、 デー タ ベース と の接続が解除 さ れ る ま で続 き ます。 1 つの接続に対するデー タ ベース ト レース ツールの使い方 デー タ ベース ト レース ツールは、 一度に 1 つの DBMS の、 1 つのデー タ ベース接続に対 し てだけ使用で き ます。 た と えば、 あ る アプ リ ケーシ ョ ンが、 ODBC デー タ ソ ース と Adaptive Server Enterprise デー タ ベース の両方に接続 し てい る 場合、 ODBC 接続 と Adaptive Server Enterprise 接続の ど ち ら か を ト レース で き ますが、 両 方を同時に ト レース で き ません。 デー タ ベース ト レース ツールの利用 デー タ ベース に接続 し てい る 場合、デー タ ベース ト レース ツールか ら 得 ら れ る 情報を利用 し て、InfoMaker が内部的に行っ てい る 処理につい て調べ る こ と がで き ます。 ロ グ フ ァ イ ルの内容か ら 以下の こ と が可能 にな り ます。 172 • InfoMaker が、 デー タ ベース と ど の よ う なや り と り を し てい る かの 把握 • デー タ ベース と の接続で発生 し た問題の確認 と 解決 • デー タ ベース と の接続で発生 し た問題について テ ク ニ カル サポー ト セ ン タ に連絡す る 際の情報の提供 InfoMaker 第 12 章 デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング InfoMaker に加え て、 接続 し てい る DBMS に関す る 知識があれば、 ロ グ の情報 を調べて、 デー タ ベー ス 接続の問題 を自分で解決で き ま す。 技術サポー ト を受け る 必要があ る 場合は、テ ク ニ カル サポー ト セ ン タ へ連絡す る 前に、 デー タ ベース ト レース ツールを実行 し て く だ さ い。 そ し て、 ト レ ー ス の ロ グ を、 テ ク ニ カル サポー ト セ ン タ の担当者に 送っ て く だ さ い。 デー タ ベース ト レース ロ グの内容 ト レース フ ァ イルの デ フ ォル ト の内容 デフ ォ ル ト では、デー タ ベース ト レース ツールでデー タ ベース と の接 続を ト レースす る と 、 ロ グ フ ァ イ ルに以下の情報が記録 さ れます。 • デー タ ベース に接続す る ために使用 し たパ ラ メ ー タ • 各デー タ ベース処理の実行時間 (マ イ ク ロ 秒単位) • デー タ ベー ス 内のテーブルやカ ラ ム情報を、 取得 し た り 表示 し た り す る ために実行 さ れた内部 コ マ ン ド 。 こ の コ マ ン ド の例を以下 に示 し ます。 • SELECT、 INSERT、 UPDATE、 DELETE な ど の SQL 文を準備 し 実 行す る コ マ ン ド • カ ラ ム の記述を取得す る コ マ ン ド • テーブル行を フ ェ ッ チす る コ マ ン ド • ユーザが指定す る 値を カ ラ ム にバ イ ン ド す る コ マ ン ド (接続す る デー タ ベース がバ イ ン ド 変数を サポー ト し てい る 場合) • デー タ ベース の変更を コ ミ ッ ト や ロ ールバ ッ ク す る コ マ ン ド • デー タ ベース と の接続を解除す る コ マ ン ド • デー タ ベース イ ン タ フ ェ ース を シ ャ ッ ト ダ ウ ンす る コ マ ン ド DBI コ マ ン ド 名や最後のデー タ ベース接続か ら ロ グ入力処理完了ま で の経過時間を含め る 選択をす る こ と がで き ます。ま た、すべての フ ェ ッ チ要求か ら 、バ イ ン ド や実行情報お よ びデー タ を除 く こ と がで き ます。 DB ト レース ダ イ ア ロ グボ ッ ク スでの選択 DB ト レース ダ イ ア ロ グ ボ ッ ク ス では、 以下の項目をデー タ ベース ト レ ー ス フ ァ イ ルに取 り 込んだ り 除外 し た り す る た めの選択 を 行い ま す。 • バイ ン ド 変数 デー タ ベース か ら 取得 し た結果集合カ ラ ム に関す る メ タ デー タ デー タ ベース と の接続 • フ ェ ッ チ ・ バッ フ ァ • DBI 名 各フ ェ ッ チ要求か ら の戻 り 値デー タ 処理 さ れ る デー タ ベース イ ン タ フ ェース コ マ ン ド 173 デー タ ベース ト レース ツールの使い方 • 要求の実行時間 DBI コ マ ン ド を 処理す る た めに要求 さ れ る 時間。 間隔の単位は、 千分の ミ リ 秒 (マ イ ク ロ 秒) • DBTrace のレ ジ ス ト リ 設定 デー タ ベー ス に接続 し て か ら の合計時間。 時間の単位 は、 千分の ミ リ 秒 (マ イ ク ロ 秒) 累積時間 DB ト レース ダ イ ア ロ グ ボ ッ ク ス での選択は、 レ ジ ス ト リ に保存 さ れ ます。 デー タ ベース ト レース ユーテ ィ リ テ ィ 環境設定用の Windows レ ジ ス ト リ は、 HKEY_CURRENT_USER\Software\Sybase\InfoMaker\11.5\DBTrace キーの下に格納 さ れ ます。 こ のキーの下の レ ジ ス ト リ 文字列は、 ShowBindings、 FetchBuffers、 ShowDBINames、 Timing、 SumTiming、 LogFileName、 お よ び ShowDialog です。 ト レース出力フ ァ イ ルに完全 な フ ァ イ ル名を割 り 当て る LogFileName 文字列以外は、 すべての文字 列を 0 ま たは 1 で設定す る こ と がで き ます。 デー タ ベース接続が ト レース可能な場合、 ShowDialog レ ジ ス ト リ 文字 列を設定 し て、 DB ト レー ス ダ イ ア ロ グ ボ ッ ク ス の表示を抑制す る こ と がで き ます。 こ れは、 DB ト レース ダ イ ア ロ グ ボ ッ ク ス で変更す る こ と がで き ない唯一の ト レース レ ジ ス ト リ 文字列です。 DB ト レー ス ダ イ ア ロ グボ ッ ク ス を表示 し ない よ う にす る ためには、 ShowDialog を 0 に設定す る 必要があ り ます。 DBTrace の INI フ ァ イル設定 レ ジ ス ト リ にア ク セ ス し ない場合は、 IM.INI を使用 し て ト レース フ ァ イ ル設定を格納す る こ と がで き ます。INI フ ァ イ ルに次の値を少な く と も 1 つ持つ [DbTrace] セ ク シ ョ ン を追加 し 、InfoMaker を再起動 し ます。 [DbTrace] ShowDBINames=0 FetchBuffers=1 ShowBindings=1 SumTiming=1 Timing=1 ShowDialog=1 LogFileName=dbtrace.log キー ワ ー ド は レ ジ ス ト リ と 同 じ で、 同 じ 意味を持ち ます。 デー タ ベー ス に再び接続す る と 、 初期設定を INI フ ァ イ ルか ら 受け取 り 、 それ ら を修正す る と き に、 変更が INI フ ァ イ ルに書 き 出 さ れ ます。 LogFileName の フ ァ イ ル名が絶対パ ス を 含 ま な い場合は、 Documents and Settings\<username>\Application Data\InfoMaker11.5 に ロ グ フ ァ イ ル を 書 き 出 し ま す。 <username> は login ID で す。 INI フ ァ イ ル に DbTrace 設定がない場合は、 レ ジ ス ト リ 設定が使用 さ れ ます。 174 InfoMaker 第 12 章 エ ラ ー メ ッ セージ デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング デー タ ベー ス ト レ ー ス ユーテ ィ リ テ ィ が書 き 込み権限を持つ ト レ ー ス出力フ ァ イ ルを開 く こ と がで き ない場合には、 指定 さ れた ト レー ス フ ァ イ ルが作成で き ないか、 ま たは開 く こ と がで き ない こ と を エ ラ ー メ ッ セージが知 ら せます。 ト レース ユーテ ィ リ テ ィ ド ラ イ バが正常に ロ ー ド で き ない場合は、 現行の イ ン ス ト ールでは選択 さ れた ト レー ス DBMS を サ ポー ト し て い な い こ と を メ ッ セージ ボ ッ ク ス が通知 し ま す。 デー タ ベース ト レース ロ グの書式 デー タ ベー ス ト レー ス ロ グ フ ァ イ ルの内容は、 ア ク セ ス す る デー タ ベー ス や、 実行す る デー タ ベー ス 処理に よ っ て異な り ま す。 し か し 、 ロ グ フ ァ イ ルへの出力では、 サ ポー ト さ れ て い る すべて のプ ラ ッ ト フ ォ ームお よ びデー タ ベース で、 以下の基本書式が使用 さ れ ます。 COMMAND:(time) {additional_information} パラ メ ー タ COMMAND time additional_information 例 説明 InfoMaker が、 デー タ ベース処理を実行す る 内 部コ マン ド InfoMaker がデー タ ベース処理を実行す る のに 要 し た時間 (マ イ ク ロ 秒単位)。 適用 さ れ る 精 度は、 使用 し てい る オペレーテ ィ ン グ シ ス テ ムの タ イ ミ ン グ メ カ ニズ ムに よ っ て異な る (オプシ ョ ン) コ マ ン ド に関す る 追加情報。 こ こ に記録 さ れ る 情報はデー タ ベー ス の処理内 容に よ っ て異な る た と えば、 以下に示す ロ グ フ ァ イ ルの一部では、 InfoMaker が、 コ マ ン ド を 実行 し て SQL Anywhere デー タ ベー ス テ ー ブ ル か ら 2 行 を フ ェ ッ チ し た こ と が示 さ れてい ます。 FETCH NEXT: COLUMN=400 FETCH NEXT: COLUMN=500 (0.479 MS) COLUMN=Marketing COLUMN=Evans (0.001 MS) COLUMN=Shipping COLUMN=Martinez ト レース ロ グ フ ァ イ ルに [DBI 名を表示] と [累積時間を表示] を選 択 し た場合、 同 じ ロ グに次の 2 行が追加 さ れ ます。 FETCH NEXT:(DBI_FETCHNEXT) (1.459 MS / 3858.556 MS) COLUMN=400 COLUMN=Marketing COLUMN=Evans FETCH NEXT:(DBI_FETCHNEXT) (0.001 MS / 3858.557 MS) COLUMN=500 COLUMN=Shipping COLUMN=Martinez デー タ ベース と の接続 175 デー タ ベース ト レース ツールの使い方 デー タ ベース ト レース出力の詳細な例については、179 ページの 「デー タ ベース ト レース ロ グのサン プル」 を参照 し て く だ さ い。 デー タ ベース ト レース ツールの起動 InfoMaker において、 デー タ ベース ト レース ツールは、 デフ ォ ル ト で オ フ にな っ てい ます。 デー タ ベース ト レース ツールは、 デー タ ベース 接続を ト レースす る ために起動で き ます。 v デー タ ベース ト レース ツールを起動する 1 ト レースす る デー タ ベース接続に対応す る DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス を開 き ます。 2 [接続] タ ブで、 [ ト レ ー ス の生成] チ ェ ッ ク ボ ッ ク ス を チ ェ ッ ク し て、 [OK] ボ タ ン ま たは [更新] ボ タ ン を ク リ ッ ク し ます (DB プ ロ フ ァ イ ル設定 - OLE DB ダ イ ア ロ グボ ッ ク ス では [ ト レース の 生成] チ ェ ッ ク ボ ッ ク ス は [シ ス テ ム] タ ブにあ り ます)。 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 編集 し たプ ロ フ ァ イ ル名がハ イ ラ イ ト 表示 さ れます。 た と えば、 以下に、 Adaptive Server 12.5 Test に対す る デー タ ベース プ ロ フ ァ イ ル エ ン ト リ の該当部分 を 示 し ま す。 デー タ ベー ス ト レース を開始す る 設定は、 DBMS です。 [Default] [value not set] AutoCommit "FALSE" Database "qadata" DatabasePassword "00" DBMS "TRACE SYC Adaptive Server Enterprise" DbParm "Release='12.5'" Lock "" LogId "qalogin" LogPassword "00171717171717" Prompt "FALSE" ServerName "Host125" UserID "" 3 176 DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス で [接続] ボ タ ン を ク リ ッ ク し てデー タ ベース に接続 し ます。 InfoMaker 第 12 章 デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング デー タ ベー ス の ト レ ー ス が有効にな っ た こ と を示す DB ト レ ー ス ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ ます。PowerBuilder が ト レース の出 力 を 書 き 出 す フ ァ イ ル の 位 置 を 入 力 す る こ と が で き ま す。 InfoMaker デフ ォ ル ト では、 InfoMaker はデー タ ベース ト レース の 出力 を DBTRACE.LOG と い う 名前の ロ グ フ ァ イ ルに書 き 込み ま す。 DB ト レース ダ イ ア ロ グ ボ ッ ク ス で ロ グ フ ァ イ ル名 と 位置を 変更す る こ と がで き ます。 DB ト レ ー ス ダ イ ア ロ グ ボ ッ ク ス では、 デー タ ベー ス ト レ ー ス フ ァ イ ルに必要な ト レ ー ス 情報の レ ベル を選択す る こ と も で き ま す。 4 ト レース フ ァ イ ルに含めたい項目を選択 し て、 [OK] ボ タ ン を ク リ ッ ク し ます。 InfoMaker はデー タ ベー ス に接続 し 、 接続の ト レ ー ス を 起動 し ま す。 デー タ ベース ト レース ツールの停止 デー タ ベー ス接続の ト レース を い っ たん起動す る と 、 以下のいずれか の操作が さ れ る ま で、 InfoMaker に よ る ロ グ フ ァ イ ルへの ト レース ロ グの書 き 込みが続 き ます。 v • ト レース を停止 し た状態で同 じ デー タ ベース に再接続す る • ト レース の設定を し ていない別のデー タ ベース と 接続す る デー タ ベース ト レース ツールを停止する 1 ト レース し てい る デー タ ベース に対す る DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス を開 き 、[接続] タ ブの [ ト レース の生成] チ ェ ッ ク ボ ッ ク ス のチ ェ ッ ク をはず し ます。 2 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の[OK]ボ タ ン を ク リ ッ ク し ます。 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 編集 し たプ ロ フ ァ イ ル名がハ イ ラ イ ト 表示 さ れ ます。 3 DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス内で、 接続す る デー タ ベー ス を右 ク リ ッ ク し 、 ド ロ ッ プダ ウ ン メ ニ ュ ーか ら [再接続] を選 択 し ます。 InfoMaker はデー タ ベー ス に接続 し 、 接続の ト レ ー ス を 停止 し ま す。 デー タ ベース と の接続 177 デー タ ベース ト レース ツールの使い方 デー タ ベース ト レース ロ グの使い方 InfoMaker は、 デー タ ベース ト レース ツールの出力を PBTRACE.LOG と い う 名前の フ ァ イ ル (デフ ォ ル ト ) ま たは指定 し た ロ グ フ ァ イ ル に書 き 込みます。 出力 さ れた ト レース ロ グ を使用 し て、 以下の操作 がで き ます。 • 任意のテ キ ス ト エデ ィ タ で、 デー タ ベース ト レース ロ グ フ ァ イ ルを表示す る • デー タ ベース ト レース ロ グ フ ァ イ ルに、 コ メ ン ト を追加す る • デー タ ベース ト レース ロ グ フ ァ イ ルが大 き く な り すぎた場合、 フ ァ イ ルその も の を削除 し た り 、 フ ァ イ ルの内容を消去 し た り す る デー タ ベース ト レース ログの表示 InfoMaker セ ッ シ ョ ン中で あれば、 ロ グ フ ァ イ ルの内容はいつで も 表 示で き ます。 v ログ フ ァ イルの内容を表示する • 以下の方法か ら 、 ロ グ フ ァ イ ルを開 き ます。 • InfoMaker のテ キ ス ト エデ ィ タ を使用す る 。 詳 し い手順につい ては、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照 し て く だ さ い。 • InfoMaker 以外の ツールで、 任意のテ キ ス ト エデ ィ タ を使用す る ログ フ ァ イルを開いたま まにする InfoMaker を使用 し てい る 間、 ロ グ フ ァ イ ルを開いた ま ま に し てお く と 、 デー タ ベース ト レース ツールは ロ グ フ ァ イ ルを更新 し ません。 デー タ ベース ト レース ログへの コ メ ン ト の追加 ト ラ ブルシ ュ ーテ ィ ン グ の た めの ツ ール と し てデー タ ベー ス ト レ ー ス ロ グ を使用す る 場合、 フ ァ イ ルに コ メ ン ト を追加 し てお く と 便利で す。 た と えば、 あ る 接続について、 日付、 時刻、 使用 し たデー タ ベー ス サーバお よ び ク ラ イ ア ン ト ソ フ ト ウ ェ アのバージ ョ ン、ま たはその ほかの有効な情報を ロ グに記録 し てお く こ と が考え ら れ ます。 178 InfoMaker 第 12 章 v デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング ログ フ ァ イルに コ メ ン ト を追加する 1 以下のいずれかの方法で、 DBTRACE.LOG フ ァ イ ルを開 き ます。 • InfoMaker のテ キ ス ト エデ ィ タ を使用す る 。 (詳 し い手順につ い て は、 『ユーザーズ ガ イ ド 』 マ ニ ュ ア ル を 参照 し て く だ さ い。) • InfoMaker 以外の ツールで、 任意のテ キ ス ト エデ ィ タ を使用す る 2 ロ グ フ ァ イ ルに コ メ ン ト を追加 し ます。 3 変更 し た ロ グ フ ァ イ ルを保存 し ます。 ログの削除または消去 ト レース を設定 し てデー タ ベース に接続す る たびに、 既存の ロ グ フ ァ イ ルに、 ト レー ス の出力が追加 さ れ ます。 し たが っ て、 デー タ ベー ス に接続す る と き に ト レース を頻繁に設定 し てい る と 、 ト レース ロ グが す ぐ に大 き く な っ て し ま い ます。 v ログ フ ァ イルを適切な大き さ に保つ • 定期的に、 以下のいずれかの操作を実行 し ます。 • ロ グ フ ァ イ ルを開いて、 その内容を消去 し 、 フ ァ イ ルを空に し て保存す る デフ ォ ル ト の DBTRACE.LOG フ ァ イ ルま たは同一のデフ ォ ル ト 以外の フ ァ イ ルを使用 し てい る 場合、 次回、 ト レース を設定 し てデー タ ベース に接続す る と 、 InfoMaker は、 空の フ ァ イ ル に ト レース を出力 し ます。 • ロ グ フ ァ イ ルを削除す る 次 回、 ト レ ー ス を 設 定 し て デ ー タ ベ ー ス に 接 続 す る と 、 InfoMaker に よ り 新 し い ロ グ フ ァ イ ルが自動的に作成 さ れ ま す。 デー タ ベース ト レース ログのサン プル こ の節では、 ロ グ フ ァ イ ルに出力 さ れ る デー タ ベー ス ト レー ス ロ グ の例を示 し 、 ロ グ フ ァ イ ルの内容について簡単に説明 し ます。 デー タ ベース と の接続 179 デー タ ベース ト レース ツールの使い方 こ の例では、 [累積時間を表示] を有効に し て接続を ト レー ス し ます。 こ の ロ グは、 InfoMaker アプ リ ケーシ ョ ン を実行 し て、 公開デー タ ベー ス の著者に関す る 情報を表示 し た と き の も のです。 SELECT 文は Author テーブルか ら 情報を取得す る こ と を示 し てい ます。 デー タ ベー ス ト レ ー ス が内部 コ マ ン ド を 記録す る と き に使用す る 精 度 (た と えばマ イ ク ロ 秒単位な ど) は、 使用 し てい る オペレーテ ィ ン グ シ ス テ ム の タ イ ミ ン グ メ カ ニ ズ ム に よ っ て異な り ま す。 し たが っ て、 実際のデー タ ベース ト レース ロ グの タ イ ミ ン グの精度は、 こ の例 と は異な る 場合があ り ます。 デー タ ベース と の接続 CONNECT TO TRACE SYC Adaptive Server Enterprise: DATABASE=pubs2 LOGID=bob SERVER=HOST12 DPPARM=Release='12.5.2',StaticBind=0 SELECT 文の準備 PREPARE: SELECT authors.au_id, authors.au_lname, authors.state FROM authors WHERE ( authors.state not in ( 'CA' ) ) ORDER BY authors.au_lname ASC (3.386 MS / 20.349 MS) カ ラ ム記述の取得 DESCRIBE: (0.021 MS / 20.370 MS) name=au_id,len=12,type=CHAR,pbt=1,dbt=1,ct=0,prec=0, scale=0 name=au_lname,len=41,type=CHAR,pbt=1,dbt=1,ct=0, prec=0,scale=0 name=state,len=3,type=CHAR,pbt=1,dbt=1,ct=0,prec=0, scale=0 メ モ リ バッ フ ァ をカ ラ ムにバイ ン ド BIND SELECT OUTPUT BUFFER (DataWindow): (0.007 MS / 20.377 MS) name=au_id,len=12,type=CHAR,pbt=1,dbt=1,ct=0,prec=0, scale=0 name=au_lname,len=41,type=CHAR,pbt=1,dbt=1,ct=0, prec=0,scale=0 name=state,len=3,type=CHAR,pbt=1,dbt=1,ct=0,prec=0, scale=0 SELECT 文の実行 EXECUTE: (0.001 MS / 20.378 MS) 結果集合か ら行を フェ ッチ FETCH NEXT: (0.028 MS / 20.406 MS) au_id=648-92-1872 au_lname=Blotchet-Hall state=OR FETCH NEXT: (0.012 MS / 20.418 MS) au_id=722-51-5454 au_lname=DeFrance state=IN ... FETCH NEXT: (0.010 MS / 20.478 MS) au_id=341-22-1782 au_lname=Smith state=KS 180 InfoMaker 第 12 章 デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング FETCH NEXT: (0.025 MS / 20.503 MS) *** DBI_FETCHEND *** (rc 100) デー タ ベース変更の更 新と コ ミ ッ ト PREPARE: UPDATE authors SET state = 'NM' WHERE au_id = '648-92-1872' AND au_lname = 'BlotchetHalls' AND state = 'OR' (3.284 MS / 23.787 MS) EXECUTE: (0.001 MS / 23.788 MS) GET AFFECTED ROWS: (0.001 MS / 23.789 MS) ^ 1 Rows Affected COMMIT: (1.259 MS / 25.048 MS) デー タ ベース と の接続 の解除 DISCONNECT: (0.764 MS / 25.812 MS) デー タ ベース イ ン タ フ ェ ースのシ ャ ッ ト ダウン SHUTDOWN DATABASE INTERFACE: (0.001 MS / 25.813 MS) ODBC ド ラ イバ マネージ ャ ト レース ツールの使い方 こ の節では、ODBC ド ラ イ バ マネージ ャ ト レース の使い方について説 明 し ます。 ODBC ド ラ イバ マネージ ャ ト レース ODBC ド ラ イ バ マ ネージ ャ ト レ ー ス を使用す る と 、 InfoMaker か ら 、 ODBC イ ン タ フ ェ ー ス を 経由 し て ア ク セ ス し て い る ODBC デー タ ソ ースへの接続を ト レース で き ます。 デー タ ベース ト レース ツール と は異な り 、ODBC ド ラ イ バ マネージ ャ ト レー ス ツールでは、 ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を経 由す る 接続を ト レース で き ません。 ツールの機能 ODBC ド ラ イ バ マネージ ャ ト レース は、 ODBC デー タ ソ ース に接続 し てい る 状態で、 InfoMaker の ODBC API 呼び出 し 、 SQLDriverConnect、 SQLGetInfo、 SQLFetch な ど につい て の情報 を 記録 し ま す。 こ の情報は、 SQL.LOG と い う 名前のデフ ォ ル ト ロ グ フ ァ イ ル、 ま たは指定の ロ グ フ ァ イ ルに書 き 込まれます。 ツールから の出力の利 用 デー タ ベー ス ト レー ス ツール と 同様に、 ODBC ド ラ イ バ マネージ ャ ト レー ス か ら 得 ら れ る 情報を使用す る と 、 以下の こ と が可能にな り ま す。 デー タ ベース と の接続 181 ODBC ド ラ イバ マネージ ャ ト レース ツールの使い方 • ODBC デー タ ソ ース に接続中の InfoMaker の内部的な処理の把握 • ODBC と の接続で発生 し た問題の確認 と 解決 • デー タ ベース と の接続で発生 し た問題について テ ク ニ カル サポー ト セ ン タ に連絡す る 際の情報の提供 InfoMaker の ODBC API 呼び出 し に関 し て詳細な情報が必要な場合は、 デー タ ベース ト レース ツールではな く ODBC ド ラ イ バ マネージ ャ ト レース を使用 し ます。 ツールの使い分け パ フ ォ ーマ ン スに関する注意 ODBC ド ラ イ バ マネージ ャ ト レース を使用す る と 、 InfoMaker で操作 し てい る と き に、 パ フ ォ ーマ ン ス が低下す る 場合があ り ます。 こ のた め、 ODBC ド ラ イ バ マネージ ャ ト レース は、 デバ ッ グだけ を目的に使 用 し 、 それ以外の場合は使用 し ないで く だ さ い。 InfoMaker は、ODBC ド ラ イ バ マネージ ャ を SQL.LOG と い う デフ ォ ル ト ロ グ フ ァ イ ル ま た は 指 定 し た ロ グ フ ァ イ ル に 書 き 込 み ま す。 SQL.LOG のデフ ォ ル ト の位置はルー ト デ ィ レ ク ト リ です。 SQL.LOG フ ァ イル ODBC ド ラ イバ マネージ ャ ト レースの起動 ODBC 接続を ト レースす る ために ODBC ド ラ イ バ マネージ ャ ト レー ス を起動す る には、 デー タ ベース プ ロ フ ァ イ ルを編集す る 必要があ り ます。 ODBC ド ラ イバ マネージ ャ ト レースの起動 ODBC ド ラ イ バ マネージ ャ ト レ ー ス を起動す る には、 以下の手順に 従 っ て、 ト レ ー ス す る 接続のデー タ ベー ス プ ロ フ ァ イ ル を 編集 し ま す。 v 182 ODBC ド ラ イバ マネージ ャ ト レース を起動する 1 ト レースす る ODBC 接続に対応す る DB プ ロ フ ァ イ ル設定 ODBC ダ イ ア ロ グ ボ ッ ク ス を開 き ます。 2 [オプシ ョ ン] タ ブで、 [ODBC API 呼出の ト レース] チ ェ ッ ク ボ ッ ク ス をチ ェ ッ ク し ます。 3 (オプシ ョ ン) ODBC ド ラ イ バ マネージ ャ ト レース の ロ グの出力 先 と な る ロ グ フ ァ イ ルを指定す る には、[ ト レース フ ァ イ ル] ボ ッ ク ス にパ ス名を入力 し ます。 InfoMaker 第 12 章 デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング ま たは (オプシ ョ ン) 参照 ([...]) ボ タ ン を ク リ ッ ク し て、 [ ト レース フ ァ イ ル] ボ ッ ク ス に既存の ロ グ フ ァ イ ルのパ ス名を表示 し ます。 デフ ォ ル ト では、 [ODBC API 呼出の ト レース] チ ェ ッ ク ボ ッ ク ス がチ ェ ッ ク さ れていて、 ト レース フ ァ イ ルが指定 さ れていない場 合、 ODBC ド ラ イ バ マ ネージ ャ ト レ ー ス の出力はデ フ ォ ル ト の SQL.LOG フ ァ イ ルに書 き 込まれ ます。 4 [OK] ボ タ ン ま たは [更新] ボ タ ン を ク リ ッ ク し ます。 ま たは DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス 内で、 接続す る デー タ ベー ス を右 ク リ ッ ク し 、 ド ロ ッ プダ ウ ン メ ニ ュ ーか ら [再接続] を選 択 し ます。 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 編集 し たプ ロ フ ァ イ ル名がハ イ ラ イ ト 表示 さ れ ます。 設定は、 InfoMaker に よ っ て レ ジ ス ト リ 内のデー タ ベース プ ロ フ ァ イ ルのエ ン ト リ (HKEY_CURRENT_USER\Software\Sybase\11.5\DatabaseProfiles キー) に保存 さ れます。 た と えば、 以下に、 Employee と い う 名前の ODBC デー タ ソ ース に 対す る デー タ ベー ス プ ロ フ ァ イ ル エ ン ト リ の該当部分 を 示 し ま す。 ODBC ド ラ イ バ マネージ ャ ト レース (ConnectOption DBParm パ ラ メ ー タ に対応) を開始す る 設定は、 強調で示 さ れてい ます。 DBMS "ODBC" ... DbParm "ConnectString='DSN=Emloyee;UID=dba; PWD=00c61737',ConnectOption='SQL_OPT_TRACE,SQL_OPT_ TRACE_ON;SQL_OPT_TRACEFILE,C:\Temp\odbctrce.log'" 5 デー タ ベース と の接続 DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス で [接続] ボ タ ン を ク リ ッ ク し てデー タ ベース に接続 し ます。 ま たは DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス 内で、 接続す る デー タ ベー ス を右 ク リ ッ ク し 、 ド ロ ッ プダ ウ ン メ ニ ュ ーか ら [再接続] を選 択 し ます。 183 ODBC ド ラ イバ マネージ ャ ト レース ツールの使い方 デー タ ベース と の接続が さ れ る と と も に、 その ODBC デー タ ベー ス接続に対す る ト レース が起動 さ れ、 指定 し た ロ グ フ ァ イ ルに出 力が書 き 込まれます。 ODBC ド ラ イバ マネージ ャ ト レースの停止 ODBC ド ラ イ バ マネージ ャ ト レース で ODBC 接続の ト レース を い っ たん起動す る と 、 ト レース を停止す る ま で、InfoMaker に よ る ロ グ フ ァ イ ルへの ト レー ス 出力の書 き 込みが続 き ます。 以降の節に記述 さ れて い る よ う に、 ト レー ス を停止 し た後に、 変更を反映 さ せ る ために再接 続す る 必要があ り ます。 ODBC ド ラ イバ マネージ ャ ト レースの停止 v ODBC ド ラ イバ マネージ ャ ト レース を停止する 1 ト レース し てい る デー タ ベース接続に対す る DB プ ロ フ ァ イ ル設 定 ダ イ ア ロ グ ボ ッ ク ス を開 き ます。 詳 し い手順については、182 ページの 「ODBC ド ラ イ バ マネージ ャ ト レース の起動」 を参照 し て く だ さ い。 2 [オプシ ョ ン] タ ブで、 [ODBC API 呼出の ト レース] チ ェ ッ ク ボ ッ ク ス のチ ェ ッ ク をはず し ます。 [ ト レー ス フ ァ イ ル] ボ ッ ク ス に ロ グ フ ァ イ ルのパ ス 名を指定 し た場合、 後で ト レース を再開す る 場合に備え て、 ト レー ス フ ァ イ ルの名前を残 し ておけ ます。 3 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス の[OK]ボ タ ン を ク リ ッ ク し ます。 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 編集 し たプ ロ フ ァ イ ル名がハ イ ラ イ ト 表示 さ れます。 4 DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス の [接続] ボ タ ン を ク リ ッ ク す る か、 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス 内で、 接続す る デー タ ベース を右 ク リ ッ ク し 、 ド ロ ッ プダ ウ ン メ ニ ュ ーか ら [再 接続] を選択 し ます。 InfoMaker はデー タ ベー ス に接続 し 、 接続の ト レ ー ス を 停止 し ま す。 184 InfoMaker 第 12 章 デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング ODBC ド ラ イバ マネージ ャ ト レース ログの表示 InfoMaker セ ッ シ ョ ン中であれば、 ODBC ド ラ イ バ マネージ ャ ト レー ス ロ グ フ ァ イ ルの内容はいつで も 表示で き ます。 SQL.LOG の保存場所 デフ ォ ル ト の SQL.LOG フ ァ イ ルの保存場所については、181 ページの 「ODBC ド ラ イ バ マネージ ャ ト レース」 を参照 し て く だ さ い。 v ログ フ ァ イルの内容を表示する • 以下のいずれかの方法で、 SQL.LOG フ ァ イ ル、 ま たは指定 し た ロ グ フ ァ イ ルを開 き ます。 • InfoMaker のテ キ ス ト エデ ィ タ を使用す る (詳 し い手順につい ては、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照) • InfoMaker の外部の環境で、 任意のテ キ ス ト エデ ィ タ を使用す る ログ フ ァ イルを開いたま まにする InfoMaker を使用 し てい る 間、 ロ グ フ ァ イ ルを開いた ま ま に し てお く と 、 ODBC ド ラ イ バ マネージ ャ ト レー ス ツールはその フ ァ イ ルを更 新 し ません。 ODBC ド ラ イバ マネージ ャ ト レース ログのサン プル こ の節では、ODBC ド ラ イ バ マネージ ャ ト レース か ら 出力 さ れ る ロ グ の例を示 し 、 その内容について説明 し ます。 こ の例は EAS Demo DB へ の ODBC 接続の ト レース の一部です。 各 ODBC API 呼び出 し の詳細については、 ODBC のマニ ュ アルを参照 し て く だ さ い。 IM115 e58-a58EXIT SQLSetConnectAttrW with return code 0 (SQL_SUCCESS) SQLHDBC 021E1590 SQLINTEGER 104 <SQL_ATTR_TRACE> SQLPOINTER 0x00000001 (BADMEM) SQLINTEGER 0 デー タ ベース と の接続 185 JDBC ド ラ イバ マネージ ャ ト レース ツールの使い方 IM115 e58-a58ENTER SQLSetConnectAttrW SQLHDBC 021E1590 SQLINTEGER 105 <SQL_ATTR_TRACEFILE> SQLPOINTER 0x03A67602 (NYI) SQLINTEGER -3 JDBC ド ラ イバ マネージ ャ ト レース ツールの使い方 こ の節では、 JDBC ド ラ イ バ マネージ ャ ト レース の使い方について説 明 し ます。 JDBC ド ラ イバ マネージ ャ ト レース JDBC ド ラ イ バ マ ネージ ャ ト レ ー ス を 使用す る と 、 InfoMaker か ら 、 JDBC イ ン タ フ ェ ー ス を経由 し て ア ク セ ス し てい る デー タ ベー ス への 接続を ト レース で き ます。 デー タ ベース ト レース ツール と は異な り 、JDBC ド ラ イ バ マネージ ャ ト レー ス ツールでは、 ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を経 由す る 接続を ト レース で き ません。 ツールの機能 JDBC ド ラ イ バ マ ネ ー ジ ャ ト レ ー ス は、 InfoMaker が JDBC イ ン タ フ ェ ース を経由 し てデー タ ベース に接続 し てい る と き に、 現在 ロ ー ド し てい る ド ラ イ バ オブジ ェ ク ト (Sybase の jConnect JDBC ド ラ イ バな ど) が生成 し たエ ラ ーお よ び情報 メ ッ セージ を ロ グ フ ァ イ ルに記録 し ま す。 こ の情報は、 JDBC.LOG と い う 名前のデ フ ォ ル ト ロ グ フ ァ イ ル、 ま たは指定の ロ グ フ ァ イ ルに書 き 込まれます。 ト レース出力の量 は、 使用 し てい る JDBC ド ラ イ バに よ っ て異な り ます。 ツールか らの出力の利 用 デー タ ベース ト レース ツール と 同様に、JDBC ド ラ イ バ マネージ ャ ト レース か ら 得 ら れ る 情報を使用す る と 、以下の こ と が可能にな り ます。 186 • JDBC イ ン タ フ ェース を経由 し てデー タ ベース接続中の InfoMaker の内部的な処理の把握 • JDBC 接続で発生 し た問題の確認 と 解決 • デー タ ベース と の接続で発生 し た問題について テ ク ニ カル サポー ト セ ン タ に連絡す る 際の情報の提供 InfoMaker 第 12 章 デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング JDBC ド ラ イ バに関 し て詳細な情報が必要な場合は、 デー タ ベース ト レー ス ツールではな く JDBC ド ラ イ バ マネージ ャ ト レー ス を使用 し ます。 ツールの使い分け パフ ォ ーマ ン スに関する注意 JDBC ド ラ イ バ マネージ ャ ト レー ス を使用す る と 、 InfoMaker で操作 し てい る と き に、 パ フ ォ ーマ ン ス が低下す る 場合があ り ます。 こ のた め、 JDBC ド ラ イ バ マネージ ャ ト レース は、 デバ ッ グだけ を目的に使 用 し 、 それ以外の場合は使用 し ないで く だ さ い。 JDBC.LOG フ ァ イル InfoMaker は、 JDBC ド ラ イ バ マネージ ャ ト レース の出力を JDBC.LOG と い う デフ ォ ル ト ロ グ フ ァ イ ル ま たは指定 し た ロ グ フ ァ イ ルに書 き 込みます。 JDBC.LOG のデフ ォ ル ト の位置は temp デ ィ レ ク ト リ です。 JDBC ド ラ イバ マネージ ャ ト レースの起動 JDBC 接続を ト レースす る ために JDBC ド ラ イ バ マネージ ャ ト レース を起動す る には、 デー タ ベース プ ロ フ ァ イ ルを編集す る 必要があ り ま す。 JDBC ド ラ イバ マネージ ャ ト レースの起動 JDBC ド ラ イ バ マ ネージ ャ ト レ ー ス を起動す る には、 以下の手順に 従 っ て、 ト レ ー ス す る 接続のデー タ ベー ス プ ロ フ ァ イ ル を 編集 し ま す。 v デー タ ベース と の接続 JDBC ド ラ イバ マネージ ャ ト レース を起動する 1 ト レース し たい JDB 接続に対応す る DB プ ロ フ ァ イ ル設定 - JDBC ダ イ ア ロ グ ボ ッ ク ス を開 き ます。 2 [オプシ ョ ン] タ ブで、 [JDBC コ ールを ト レース] チ ェ ッ ク ボ ッ ク ス をチ ェ ッ ク し ます。 3 (オプシ ョ ン) JDBC ド ラ イ バ マネージ ャ ト レース の ロ グの出力先 と な る ロ グ フ ァ イ ルを指定す る には、 [ ト レー ス フ ァ イ ル] ボ ッ ク ス にパ ス名を入力す る か、 参照 ([...]) ボ タ ン を ク リ ッ ク し て、 [ ト レ ー ス フ ァ イ ル] ボ ッ ク ス に既存の ロ グ フ ァ イ ルのパ ス 名を 表示 し ます。 187 JDBC ド ラ イバ マネージ ャ ト レース ツールの使い方 デフ ォ ル ト では、 [JDBC コ ールを ト レース] チ ェ ッ ク ボ ッ ク ス が チ ェ ッ ク さ れていて、 代わ り の ト レース フ ァ イ ルが指定 さ れてい ない場合、 JDBC ド ラ イ バ マネージ ャ ト レース の出力はデフ ォ ル ト の JDBC.LOG フ ァ イ ルに書 き 込ま れ ます。 4 [OK] ボ タ ン ま たは [更新] ボ タ ン を ク リ ッ ク し ます。 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 編集 し たプ ロ フ ァ イ ル名がハ イ ラ イ ト 表示 さ れます。 InfoMaker は、 レ ジ ス ト リ 内のデー タ ベース プ ロ フ ァ イ ルのエ ン ト リ に設定を保存 し ます。 た と えば、 以下に、 Employee と い う 名前の JDBC デー タ ベース に 対す る デー タ ベー ス プ ロ フ ァ イ ル エ ン ト リ の DBMS と DBParm 文字列の部分 を 示 し ま す。 JDBC ド ラ イ バ マ ネージ ャ ト レ ー ス (TraceFile DBParm パ ラ メ ー タ に対応) を開始す る 設定は、 強調で 示 さ れてい ます。 DBMS DbParm 5 "TRACE JDBC" "Driver='com.sybase.jdbc3.jdbc.SybDriver', URL='jdbc:sybase:Tds:199.93.178.151: 5007/tsdata',TraceFile='c:\temp\jdbc.log'" DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス で [接続] ボ タ ン を ク リ ッ ク し てデー タ ベース に接続 し ます。 ま たは DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス 内で、 接続す る デー タ ベー ス を右 ク リ ッ ク し 、 ド ロ ッ プダ ウ ン メ ニ ュ ーか ら [再接続] を選 択 し ます。 InfoMaker はデー タ ベース に接続 し 、 JDBC デー タ ベース接続の ト レース を起動 し 、 指定 し た ロ グ フ ァ イ ルに出力を書 き 込みます。 JDBC ド ラ イバ マネージ ャ ト レースの停止 JDBC ド ラ イ バ マネージ ャ ト レース で JDBC 接続の ト レース をい っ た ん起動す る と 、 ト レー ス を停止す る ま で、 InfoMaker に よ る ロ グ フ ァ イ ルへの ト レース出力の書 き 込みが続 き ます。 188 InfoMaker 第 12 章 デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング JDBC ド ラ イバ マネージ ャ ト レースの停止 v JDBC ド ラ イバ マネージ ャ ト レース を停止する 1 ト レース し てい る デー タ ベース接続に対す る DB プ ロ フ ァ イ ル設 定 ダ イ ア ロ グ ボ ッ ク ス を開 き ます。 詳 し い手順については、 187 ページの 「JDBC ド ラ イ バ マネージ ャ ト レース の起動」 を参照 し て く だ さ い。 2 [オプシ ョ ン] タ ブで、 [JDBC コ ールを ト レース] チ ェ ッ ク ボ ッ ク ス のチ ェ ッ ク をはず し ます。 [ ト レ ー ス フ ァ イ ル] ボ ッ ク ス に ロ グ フ ァ イ ルのパ ス 名を指定 し た場合、 後で ト レース を再開す る 場合に備え て、 ト レース フ ァ イ ルの名前を残 し ておけ ます。 3 DB プ ロ フ ァ イ ル設定 - JDBC ダ イ ア ロ グ ボ ッ ク ス の [OK] ボ タ ン を ク リ ッ ク し ます。 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 編集 し たプ ロ フ ァ イ ル名がハ イ ラ イ ト 表示 さ れ ます。 4 DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス の [接続] ボ タ ン を ク リ ッ ク す る か、 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス 内で、 接続す る デー タ ベース を右 ク リ ッ ク し 、 ド ロ ッ プダ ウ ン メ ニ ュ ーか ら [再 接続] を選択 し ます。 InfoMaker はデー タ ベー ス に接続 し 、 接続の ト レ ー ス を 停止 し ま す。 JDBC ド ラ イバ マネージ ャ ト レース ログの表示 InfoMaker セ ッ シ ョ ン中で あれば、 JDBC ド ラ イ バ マネージ ャ ト レー ス ロ グ フ ァ イ ルの内容はいつで も 表示で き ます。 JDBC.LOG の保存場所 デフ ォ ル ト の JDBC.LOG フ ァ イ ルの保存場所については、 186 ページ の 「JDBC ド ラ イ バ マネージ ャ ト レース」 を参照 し て く だ さ い。 v ログ フ ァ イルの内容を表示する • デー タ ベース と の接続 以下のいずれかの方法で、 JDBC.LOG フ ァ イ ル、 ま たは指定 し た ロ グ フ ァ イ ルを開 き ます。 189 JDBC ド ラ イバ マネージ ャ ト レース ツールの使い方 • InfoMaker のテ キ ス ト エデ ィ タ を使用す る (詳 し い手順につい ては、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照) • InfoMaker の外部の環境で、 任意のテ キ ス ト エデ ィ タ を使用す る ログ フ ァ イルを開いたま まにする InfoMaker を使用 し てい る 間、 ロ グ フ ァ イ ルを開いた ま ま に し てお く と 、 JDBC ド ラ イ バ マ ネージ ャ ト レ ー ス ツールは ロ グ を更新 し ま せ ん。 190 InfoMaker 第 5 部 付録 こ の付録では、 PBODB115 初期設定 フ ァ イルを変更する 方法について説明 し ます。 付録 A こ の付録について PBODB115 初期設定フ ァ イルへ の関数の追加 通常は、 PBODB115 初期設定フ ァ イ ルを変更す る 必要はあ り ませ ん。 し か し 、 使用す る バ ッ ク エ ン ド DBMS と の、 InfoMaker の ODBC ま た は OLE DB イ ン タ フ ェ ー ス を 介 し た 接続に応 じ て、 PBODB115 初期設定フ ァ イ ルに関数を追加す る 場合があ り ます。 こ の付録では、 必要に応 じ て、 PBODB115 初期設定フ ァ イ ルに関 数を追加す る 方法について解説 し ます。 内容 項目 PBODB115 初期設定フ ァ イ ルについて PBODB115.INI への関数の追加 ページ 193 194 PBODB115 初期設定 フ ァ イルについて PBODB115 初期設定フ ァ イルの目的 ODBC イ ン タ フ ェ ー ス を 介 し て デ ー タ に ア ク セ ス す る と き 、 InfoMaker では、ODBC API 呼び出 し でサポー ト さ れていない、バ ッ ク エ ン ド DBMS の 拡 張 機 能 へ の ア ク セ ス を 管 理 す る た め に、 PBODB115 初期設定フ ァ イ ル (PBODB115.INI) が使用 さ れ ま す。 拡張機能には、特定の DBMS 固有の SQL 構文や関数呼び出 し な ど があ り ます。 PBODB115.INI の編集 通常、 PBODB115.INI を変更す る 必要はあ り ません。 こ の フ ァ イ ル をむやみに変更す る と InfoMaker が正常に動作 し ない こ と があ り ま す。 テ ク ニ カ ル サ ポ ー ト セ ン タ か ら 指 示 さ れ な い 限 り 、 PBODB115.INI を変更 し ないで く だ さ い。 ただ し 、 使用 し てい る バ ッ ク エ ン ド DBMS 用に関数を追加す る 必 要があ る 場合は、 こ の PBODB115.INI を編集で き ます。 デー タ ベース と の接続 193 PBODB115.INI への関数の追加 PBODB115.INI を変更す る 場合は、 操作の前に必ず、 既存の フ ァ イ ル のバ ッ ク ア ッ プ コ ピーを作成 し て く だ さ い。 ま た、 ど の よ う な変更を 加え たかについて、記録を残す よ う に し て く だ さ い。PBODB115.INI を 変更 し た後で、 テ ク ニ カルサポー ト セ ン タ の技術サポー ト を受け る 場 合は、 PBODB115.INI を変更 し た こ と を告げ、 その変更内容をお知 ら せ く だ さ い。 PBODB115.INI への関数の追加 PBODB115.INI には、 ODBC ド ラ イ バがサポー ト す る DBMS の関数が 記述 さ れ て い ま す。 バ ッ ク エ ン ド DBMS と と も に使用す る 関数 を PBODB115.INI に追加す る 必要が あ る 場合は、 以下のいずれかの操作 を行い ます。 • 既存のセ ク シ ョ ン PBODB115.INI に、 使用 し て い る バ ッ ク エ ン ド デー タ ベー ス 用の関数セ ク シ ョ ン が存在す る 場合は、 そ の セ ク シ ョ ン に関数を追加 し ます。 • 新 し いセ ク シ ョ ン PBODB115.INI に、 使用 し て い る バ ッ ク エ ン ド DBMS 用のセ ク シ ョ ン を新規に作成 し 、 その新規作成 し た関数セ ク シ ョ ンに関数を追加 し ます。 既存のセ ク シ ョ ンへの関数の追加 PBODB115.INI に、 使用 し てい る バ ッ ク エ ン ド DBMS 用のセ ク シ ョ ン がすでに存在す る 場合は、 以下の手順に従っ て新 し い関数を追加 し ま す。 v PBODB115.INI の既存のセ ク シ ョ ンに関数を追加するには 1 2 194 以下の ど ち ら かの方法で、 PBODB115.INI を開 き ます。 • InfoMaker のテ キ ス ト エデ ィ タ を使用す る 。 (詳 し い手順につ い て は、 『ユーザーズ ガ イ ド 』 マ ニ ュ ア ル を 参照 し て く だ さ い。) • InfoMaker の外部の環境で、 任意のテ キ ス ト エデ ィ タ を使用す る PBODB115.INI の DBMS ド ラ イ バ / DBMS の設定セ ク シ ョ ン内で バ ッ ク エ ン ド DBMS のエ ン ト リ を見つけ ます。 InfoMaker 付録 A PBODB115 初期設定 フ ァ イルへの関数の追加 た と えば、 SQL Anywhere の PBODB115.INI のエ ン ト リ は以下の よ う にな り ます。 ;********************************************* ; 設定に関する詳細はこ のフ ァ イルの後半にある [DBMS ; ド ラ イバ /DBMS 設定] のコ メ ン ト を参照 し て く だ さ い。 ;********************************************* ... [SQL Anywhere] PBSyntax='WATCOM50_SYNTAX' PBDateTime='STANDARD_DATETIME' PBFunctions='ASA_FUNCTIONS' PBDefaultValues='autoincrement,current date, current time,current timestamp,timestamp, null,user' PBDefaultCreate='YES' PBDefaultAlter='YES' PBDefaultExpressions='YES' DelimitIdentifier='YES' PBDateTimeInvalidInSearch='NO' PBTimeInvalidInSearch='YES' PBQualifierIsOwner='NO' PBSpecialDataTypes='WATCOM_SPECIALDATATYPES' IdentifierQuoteChar='"' PBSystemOwner='sys,dbo' PBUseProcOwner='YES' SQLSrvrTSName='YES' SQLSrvrTSQuote='YES' SQLSrvrTSDelimit='YES' ForeignKeyDeleteRule='Disallow if Dependent Rows Exist (RESTRICT),Delete any Dependent Rows (CASCADE),Set Dependent Columns to NULL (SET NULL)' TableListType='GLOBAL TEMPORARY' 3 PBODB115.INI において、 使用 し てい る バ ッ ク エ ン ド DBMS の関 数情報が記述 さ れてい る セ ク シ ョ ン の名前を検索 し ます。 こ のセ ク シ ョ ン を検索す る には、 DBMS ド ラ イ バ / DBMS を設定 す る エ ン ト リ の中で、 以下の形式の行を調べます。 PBFunctions='section_name' た と えば、SQL Anywhere 用の DBMS ド ラ イ バ / DBMS の設定エ ン ト リ に あ る 以 下 の 行 に よ っ て、 関 数 セ ク シ ョ ン の 名 前 が ASA_FUNCTIONS であ る こ と がわか り ます。 PBFunctions='ASA_FUNCTIONS' デー タ ベース と の接続 195 PBODB115.INI への関数の追加 4 PBODB115.INI において、 使用 し てい る バ ッ ク エ ン ド DBMS に対 す る 関数セ ク シ ョ ン を検索 し ます。 例 と し て、 SQL Anywhere 用の関数セ ク シ ョ ン を以下に示 し ます。 ;********************************************* ; 関数 ;********************************************* [ASA_FUNCTIONS] AggrFuncs=avg(x),avg(distinct x),count(x), count(distinct x),count(*),list(x), list(distinct x),max(x),max(distinct x), min(x),min(distinct x),sum(x),sum(distinct x) Functions=abs(x),acos(x),asin(x),atan(x), atan2(x,y),ceiling(x),cos(x),cot(x),degrees(x), exp(x),floor(x),log(x),log10(x), mod(dividend,divisor),pi(*),power(x,y), radians(x),rand(),rand(x), remainder(dividend,divisor),round(x,y), sign(x),sin(x),sqrt(x),tan(x), "truncate"(x,y),ascii(x),byte_length(x), byte_substr(x,y,z),char(x),char_length(x), charindex(x,y),difference(x,y)insertstr(x,y,z), lcase(x),left(x,y),length(x), locate(x,y,z), lower(x),ltrim(x),patindex('x',y),repeat(x,y), replicate(x,y),right(x,y),rtrim(x), similar(x,y),soundex(x),space(x),str(x,y,z), string(x,...),stuff(w,x,y,z),substr(x,y,z), trim(x),ucase(x),upper(x),date(x), dateformat(x,y),datename(x,y),day(x), dayname(x),days(x),dow(x),hour(x),hours(x), minute(x),minutes(x),minutes(x,y),month(x), monthname(x),months(x),months(x,y),now(*), quarter(x),second(x),seconds(x),seconds(x,y), today(*),weeks(x),weeks(x,y),year(x),years(x), years(x,y),ymd(x,y,z),dateadd(x,y,z), datediff(x,y,z),datename(x,y),datepart(x,y), getdate(),cast(x as y),convert(x,y,z), hextoint(x),inttohex(x), connection_property(x,...),datalength(x), db_id(x),db_name(x),db_property(x), next_connection(x),next_database(x), property(x),property_name(x), property_number(x),property_description(x), argn(x,y,...),coalesce(x,...), estimate(x,y,z),estimate_source(x,y,z), experience_estimate(x,y,z),ifnull(x,y,z), 196 InfoMaker 付録 A PBODB115 初期設定 フ ァ イルへの関数の追加 index_estimate(x,y,z),isnull(x,...), number(*),plan(x),traceback(*) 5 新 し い関数を追加す る には、 以下に示す よ う に、 適切な関数 リ ス ト の最後に、 カ ン マに続けて関数名を入力 し ます。 集計関数は、 AggrFuncs リ ス ト の最後に追加 し ます。 • 集計関数 • ほかの関数 集計関数以外の関数は、 Functions リ ス ト の最後に 追加 し ます。 英字の大文字 と 小文字の区別 使用 し てい る バ ッ ク エ ン ド DBMS が、 英字の大文字 と 小文字を区 別す る 場合は、 関数名を追加す る と き に、 大文字 と 小文字を区別 し て正 し く 指定 し て く だ さ い。 以下の例では、 Functions リ ス ト の最後に、 SQL Anywhere 用の関数 を新 し く 追加 し てい ます。 ;********************************************* ; 関数 ;********************************************* [ASA_FUNCTIONS] AggrFuncs=avg(x),avg(distinct x),count(x), count(distinct x),count(*),list(x), list(distinct x),max(x),max(distinct x), min(x),min(distinct x),sum(x),sum(distinct x) Functions=abs(x),acos(x),asin(x),atan(x), atan2(x,y),ceiling(x),cos(x),cot(x),degrees(x), exp(x),floor(x),log(x),log10(x), mod(dividend,divisor),pi(*),power(x,y), radians(x),rand(),rand(x), ... number(*),plan(x),traceback(*),newfunction() 6 変更内容を PBODB115.INI に保存 し ます。 新 し いセ ク シ ョ ンへの関数の追加 使用 し てい る バ ッ ク エ ン ド DBMS 用のエ ン ト リ が、 PBODB115.INI に 存在 し な い場合は、 以下の手順に従 っ て必要な セ ク シ ョ ン を 作成 し 、 適切な関数を追加 し ます。 デー タ ベース と の接続 197 PBODB115.INI への関数の追加 は じ めに PBODB115.INI におけ る 、 バ ッ ク エ ン ド DBMS に対す る 設定の詳細に ついては、 PBODB115.INI の最後にあ る コ メ ン ト を参照 し て く だ さ い。 v PBODB115.INI の既存のセ ク シ ョ ンに関数を追加するには 1 2 以下の ど ち ら かの方法で、 PBODB115.INI を開 き ます。 • InfoMaker のテ キ ス ト エデ ィ タ を使用す る 。 (詳 し い手順につ い て は、 『ユーザーズ ガ イ ド 』 マ ニ ュ ア ル を 参照 し て く だ さ い。) • InfoMaker 以外の ツールで、 任意のテ キ ス ト エデ ィ タ を使用す る PBODB115 初期設定フ ァ イ ルの DBMS ド ラ イ バ / DBMS の設定セ ク シ ョ ン を編集 し 、 使用 し てい る バ ッ ク エ ン ド DBMS 用のエ ン ト リ を追加 し ます。 名前の検索 使用 し てい る バ ッ ク エ ン ド DBMS 用に DBMS ド ラ イ バ / DBMS の 設定セ ク シ ョ ン で使用す る エ ン ト リ の識別子は、 PBODB115.INI で、 そのバ ッ ク エ ン ド DBMS に対 し て使用 し てい る 識別子 と 同 じ 識別子を使用 し て く だ さ い。 こ の と き 、 以下の操作を確実にす る 必要があ り ます。 • PBODB115.INI の最後にあ る コ メ ン ト の指示に従い ます。 • PBODB115.INI の DBMS ド ラ イ バ / DBMS の設定セ ク シ ョ ン に おけ る 、 既存のエ ン ト リ と 同 じ 構文を使用 し ます。 • PBFunctions に対 し てセ ク シ ョ ン名を記述 し ます。 以下は、 DB2/2 デー タ ベース のエ ン ト リ の該当部分を示す例です。 ;*********************************************** ;DBMS ド ラ イバ /DBMS 設定 ;*********************************************** [DB2/2] ... PBFunctions='DB22_FUNCTIONS' ... 3 198 PBODB115.INI の関数セ ク シ ョ ン を編集 し 、使用 し てい る バ ッ ク エ ン ド DBMS 用のエ ン ト リ を追加 し ます。 InfoMaker 付録 A PBODB115 初期設定 フ ァ イルへの関数の追加 こ の と き 、 以下の操作を確実にす る 必要があ り ます。 • PBODB115.INI の最後にあ る コ メ ン ト の指示に従い ます。 • PBODB115.INI の関数セ ク シ ョ ン におけ る 、 既存のエ ン ト リ と 同 じ 構文を使用 し ます。 • DBMS ド ラ イ バ / DBMS の設定エ ン ト リ の PBFunctions で指定 し たセ ク シ ョ ン名を、 関数セ ク シ ョ ンに対 し て指定 し ます。 以下に例を示 し ます。 ;*********************************************** ; 関数 ;*********************************************** [DB22_FUNCTIONS] AggrFuncs=avg(),count(),list(),max(),min(),sum() Functions=curdate(),curtime(),hour(), ... 4 以下に示す よ う に、 適切な関数 リ ス ト の最後に、 カ ン マに続け て 関数名を入力 し ます。 集計関数は、 AggrFuncs リ ス ト の最後に追加 し ます。 • 集計関数 • ほかの関数 集計関数以外の関数は、 Functions リ ス ト の最後に 追加 し ます。 英字の大文字 と 小文字の区別 使用 し てい る バ ッ ク エ ン ド DBMS が、 英字の大文字 と 小文字を区 別す る 場合は、 関数名を追加す る と き に、 大文字 と 小文字を区別 し て正 し く 指定 し て く だ さ い。 以下の例では、 Functions リ ス ト の最後に、 DB2/2 用の関数 substr() を新 し く 追加 し てい ます (太字で表示)。 ;*********************************************** ; 関数 ;*********************************************** [DB22_FUNCTIONS] AggrFuncs=avg(),count(),list(),max(),min(),sum() Functions=curdate(),curtime(),hour(), substr() 5 デー タ ベース と の接続 変更内容を PBODB115.INI に保存 し ます。 199 PBODB115.INI への関数の追加 200 InfoMaker 索引 A ASE DBMS 識別子 63 AutoCommit デー タ ベース環境設定項目 デー タ ベース プ ロ フ ァ イ ルで設定 165 C CT-Library ク ラ イ ア ン ト ソ フ ト ウ ェ ア Sybase Adaptive Server Enterprise 63, 68 Sybase シ ス テ ム 50 D デー タ ベース環境設定項目 167 144 DBMS PBODB115 初期設定フ ァ イ ル内のエン ト リ 194, 198 シ ス テ ム テーブル、 表示 155 デー タ ベース プ ロ フ ァ イ ルの値 27 バ ッ ク エン ド 、 ODBC 関数の追加 194 DBMS 識別子 ASE 63 I10 85 IN9 85 O10 117 O90 117 ORA 117 SNC 97 SYC 63 DBParm パ ラ メ ー タ Sybase Open Client のセキ ュ リ テ ィ サービ ス 72 DBTRACE.LOG フ ァ イ ル コ メ ン ト の追加 179 デー タ ベース と の接続 削除ま たは消去 179 サンプル出力 180 書式 175 説明 172 内容 173 表示 178 開いた ま ま の 178 DB 環境設定 [DB の接続を保持 ] 167 DB 環境設定 [ 開始時にデー タ ベース に接続 ] 167 DB 環境設定 [ 拡張属性の使用 ] 159, 167 DB 環境設定 ダ イ ア ロ グボ ッ ク ス [SQL 構文の終止符 ] ボ ッ ク ス 129 説明 166 [ 全般 ] ページ、 値 167 DB 環境設定 ダ イ ア ロ グボ ッ ク ス の [ 全般 ] ページ 167 DB 環境設定プ ロ パテ ィ シー ト [ 全般 ] プ ロ パテ ィ ページ、 値 149 [DB 環境設定 ] プ ロ パテ ィ シー ト の [ 全般 ] プ ロ パテ ィ ページ 149 DB 環境設定 [ 読み取 り 専用 ] 159, 167 [DB 情報ダ イ ア ロ グの表示 ] チ ェ ッ ク ボ ッ ク ス 147 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス DBParm 文字列の文字数制限 163 [JDBC コ ールを ト レース ] チ ェ ッ ク ボ ッ ク ス 188 JDBC ド ラ イ バ マネージ ャ ト レース、 停止 189 [ODBC API 呼出の ト レース ] チ ェ ッ ク ボ ッ ク ス 183 ODBC ド ラ イ バ マネージ ャ ト レース、 停止 184 [ 自動 コ ミ ッ ト モー ド ] チ ェ ッ ク ボ ッ ク ス 165 接続のための値の指定 10 201 索引 [ ト レース の生成 ] チ ェ ッ ク ボ ッ ク ス 177 [ ト レース フ ァ イ ル ] ボ ッ ク ス 188 プ ロ フ ァ イ ルの編集 147 分離レベル (Lock) 165 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス の [JDBC コ ールを ト レース ] チ ェ ッ ク ボ ッ ク ス 188 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス の [ODBC API 呼出の ト レース ] チ ェ ッ ク ボ ッ ク ス 183 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス の [ ト レー ス の生成 ] チ ェ ッ ク ボ ッ ク ス 177 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス の [ ト レー ス フ ァ イ ル ] ボ ッ ク ス 188 DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス 共有プ ロ フ ァ イ ルの表示 150 説明 144 ボ タ ン 144 [DB へ自動的に接続 ] シ ス テ ム オプシ ョ ン 142 DLL フ ァ イ ル JDBC 接続 39 ODBC32.DLL 17 ODBC.DLL 17 ODBC 接続 17 PBODB115.DLL 17 デー タ ベース イ ン タ フ ェ ース接続 58 DSN (デー タ ソ ース名) 値、 ODBC 接続文字列 27 境設定項目の設定 149 共有デー タ ベース プ ロ フ ァ イ ルの ロ ーカルな保 存 151 共有時のデー タ ベース プ ロ フ ァ イ ルの場所の指 定 149 説明 148 パ ス ワー ド の表示の抑制 147 InfoMaker 初期設定フ ァ イ ルの AutoConnect の設定 143 Informix ク ラ イ ア ン ト ソ フ ト ウ ェ ア 85, 94 Informix デー タ ベース イ ン タ フ ェース I10 でサポー ト し てい る 機能 88 イ ン ス ト ール 95 サポー ト し てい る デー タ 型 86 サポー ト し てい る デー タ ベース 85 接続 コ ン ポーネ ン ト 92 接続の確認 95 デー タ ベース の準備 93 必要な ク ラ イ ア ン ト ソ フ ト ウ ェ ア 94 Informix の DateTime デー タ 型 86 Informix の interval デー タ 型 87 Informix の Time デー タ 型 87 ISQL、 ス ト ア ド プ ロ シージ ャ の イ ン ス ト ールに使 用 82 E J EAS Demo DB 17 I I10 DBMS 識別子 85 identity カ ラ ム と デー タ 型 (Sybase Adaptive Server Enterprise) 64 IN9 DBMS 識別子 85 InfoMaker [DB へ自動的に接続 ] シ ス テ ム オプシ ョ ン 142 ほかの製品に付属の場合の接続 6 利用で き ない [ プ レ ビ ュ ー ] タ ブ 9 InfoMaker 初期設定フ ァ イ ル AutoConnect の設定 143 共有デー タ ベース プ ロ フ ァ イ ルのデー タ ベース環 202 Java 仮想マシ ン、 イ ン ス ト ール 39 Java の Web サ イ ト 37 JDBC.LOG フ ァ イ ル 説明 186 デフ ォ ル ト 以外の ロ グ フ ァ イ ルを代わ り に使用 188 パフ ォーマ ン ス に関す る 注意 187 表示 189 開いた ま ま の 189 JDBC イ ン タ フ ェース Java 仮想マシ ン 39 Java ク ラ ス パ ッ ケージ 39 PBJDB115.DLL 41 コ ン ポーネ ン ト 38 サポー ト さ れてい る デー タ 型 41 InfoMaker 索引 接続パ ラ メ ー タ の指定 43 説明 37 デー タ ベース サーバの設定 42 ド ラ イ バ 40 必須 DLL フ ァ イ ル 39 レ ジ ス ト リ エン ト リ 40 JDBC 接続、 ト ラ ブルシ ュ ーテ ィ ン グ 186 JDBC デー タ ベース イ ン タ フ ェ ース、 ト ラ ブル シ ュ ーテ ィ ン グ 186 JDBC ド ラ イ バ、 ト ラ ブルシ ュ ーテ ィ ン グ 186 JDBC ド ラ イ バ マネージ ャ ト レース 各種プ ラ ッ ト フ ォームでの利用可能性 187 起動 187 説明 186 停止 189 デフ ォ ル ト 以外の ロ グ フ ァ イ ルの指定 188 パフ ォーマ ン ス に関す る 注意 187 ロ グの表示 189 JDBC の Web サ イ ト 37 L Lock 値 と 分離レベル、 デー タ ベース プ ロ フ ァ イ ルでの設定 165 Lock デー タ ベース環境設定項目 デー タ ベース プ ロ フ ァ イ ルで設定 165 LOG フ ァ イ ル JDBC.LOG 186, 189 JDBC ド ラ イ バ マネージ ャ ト レース のデフ ォ ル ト 以外の設定 188 PBTRACE.LOG 172, 178 SQL.LOG 181, 185 M Microsoft SQL Native Client デー タ ベース イ ン タ フ ェ ース イ ン ス ト ール 102 サポー ト し てい る デー タ 型 98 サポー ト し てい る バージ ョ ン 97 接続 コ ン ポーネ ン ト 99 接続の確認 102 デー タ ベース と の接続 定義 102 デー タ ベース の準備 100 必要な ク ラ イ ア ン ト ソ フ ト ウ ェ ア 101 Microsoft Universal Data Access Web サ イ ト 45 Microsoft デー タ リ ン ク 、 OLE DB イ ン タ フ ェ ース で使用 53 N NewLogic、 デー タ ベース プ ロ フ ァ イ ルの設定 12 O O10 DBMS 識別子 117 O10 Oracle 10g ド ラ イ バ 117 O90 DBMS 識別子 117 O90 Oracle 9i ド ラ イ バ 117 ODBC 23 ODBCINST 初期設定フ ァ イ ル 26 ODBC イ ン タ フ ェース ODBC 初期設定フ ァ イ ル 26 PBODB115 初期設定フ ァ イ ル 193 使用 17 説明 16 デー タ ソ ースへの接続 144 ト ラ ブルシ ュ ーテ ィ ン グ 172, 181 必須 DLL フ ァ イ ル 17 必要な初期設定フ ァ イ ル 25 ODBC 関数 PBODB115 初期設定フ ァ イ ル内の新 し いセ ク シ ョ ンへの追加 197 PBODB115 初期設定フ ァ イ ル内の既存のセ ク シ ョ ンへの追加 194 ODBC 初期設定フ ァ イ ル お よ び PBODB115 初期設定フ ァ イ ル 198 説明 26 ODBC 接続の ConnectString DBParm 27 ODBC 接続文字列 27 ODBC デー タ ソ ース ODBCINST 初期設定フ ァ イ ル 26 ODBC 初期設定フ ァ イ ル 26 203 索引 ODBC 接続 17 PBODB115 初期設定フ ァ イ ル 193 Sybase SQL Anywhere 30 ア ク セ ス 25 コ ン フ ィ グ レーシ ョ ン と デー タ ベース プ ロ フ ァ イ ルの作成 25 準備 24 定義 25 デー タ ベース プ ロ フ ァ イ ルの共有 148 デー タ ベース プ ロ フ ァ イ ルの編集 147 ト ラ ブルシ ュ ーテ ィ ン グ 172, 181 ト ラ ン ス レー タ 、 ド ラ イ バに対す る 選択 29 複数の定義 28 ODBC デー タ ソ ース の準備 Sybase SQL Anywhere 32 説明 24 ODBC デー タ ソ ース の定義 Sybase SQL Anywhere 33 コ ン フ ィ グ レーシ ョ ン と デー タ ベース プ ロ フ ァ イ ルの作成 25 説明 25 デー タ ベース プ ロ フ ァ イ ルの共有 148 デー タ ベース プ ロ フ ァ イ ルの編集 147 複数のデー タ ソ ース 28 ODBC ド ラ イ バ API 合致レベル 22 ODBC 接続 17 PBODB115 初期設定フ ァ イ ル 193 SQL 合致レベル 22 Sybase SQL Anywhere 30 合致レベル、 推奨 21 使用 17 説明 16 ト ラ ブルシ ュ ーテ ィ ン グ 172, 181 ト ラ ン ス レー タ 、 選択 29 複数層 20 ヘルプの表示 15, 23, 29 ODBC ド ラ イ バの合致レベル 21 ODBC ド ラ イ バ マネージ ャ 17 ODBC ド ラ イ バ マネージ ャ ト レース 起動 182 サンプル出力 185 説明 181 204 パフ ォーマ ン ス に関す る 注意 182 ロ グの表示 185 ODBC の API 合致レベル 22 ODBC の SQL 合致レベル 22 ODBC の拡張 SQL 合致レベル 22 ODBC の最小 SQL 合致レベル 22 ODBC の レベル 1 API 合致レベル 22 OLE DB イ ン タ フ ェ ース 46 PBOLE115.DLL 49 コ ン ポーネ ン ト 48 サポー ト し てい る オブジ ェ ク ト イ ン タ フ ェース 46 接続パ ラ メ ー タ の指定 52 デー タ プ ロ バ イ ダ 46 デー タ プ ロ バ イ ダの イ ン ス ト ール 51, 52 デー タ プ ロ バ イ ダの入手、 ほかのベン ダ 49 デー タ リ ン ク の使用 53 ヘルプ情報の入手 45 Open Client ソ フ ト ウ ェ ア、 Sybase 50, 68 Open Database Connectivity (ODBC) ODBCINST 初期設定フ ァ イ ル 26 ODBC 初期設定フ ァ イ ル 26 コ ン ポーネ ン ト 17 説明 16 デー タ ソ ース の準備 24 デー タ ソ ース の定義 25 ド ラ イ バの合致レベル 22 ト ラ ン ス レー タ 、 ド ラ イ バに対する 選択 29 複数のデー タ ソ ース の定義 28 Oracle SQL*Net ク ラ イ ア ン ト ソ フ ト ウ ェ ア 123 Oracle ス ト ア ド プ ロ シージ ャ LOB 出力パ ラ メ ー タ の使用 132 RPC 呼び出 し 132 Oracle デー タ ベース イ ン タ フ ェ ース Oracle ス ト ア ド プ ロ シージ ャ の使用 128 サポー ト し てい る デー タ 型 118 サポー ト し てい る バージ ョ ン 117 接続 コ ン ポーネ ン ト 121 接続の確認 124 接続文字列ま たは記述子、 指定 127 定義 127 デー タ ベース の準備 122 必要な ク ラ イ ア ン ト ソ フ ト ウ ェ ア 123 InfoMaker 索引 ORA DBMS 識別子 117 ORA Oracle 11g ド ラ イ バ 117 P pbcatcol テーブル 157 pbcatedt テーブル 157 pbcatfmt テーブル 157 pbcattbl テーブル 157 pbcatvld テーブル 157 PBIN9115.DLL フ ァ イ ル 92 PBJDB115.DLL 41 PBO10115.DLL フ ァ イ ル 117 PBO90115.DLL フ ァ イ ル 117 PBODB115.DLL フ ァ イ ル 17 PBODB115 初期設定フ ァ イ ル ODBC 初期設定フ ァ イ ル内での DBMS セ ク シ ョ ンの名前の検索 198 新 し いセ ク シ ョ ンへの関数の追加 197 英字の大文字 と 小文字の区別 197, 199 既存のセ ク シ ョ ンへの関数の追加 194 説明 193 特殊な timestamp カ ラ ムのサポー ト 36 PBOLE115.DLL フ ァ イ ル 49 PBORA115.DLL フ ァ イ ル 117 PBSNC115.DLL フ ァ イ ル 99 PBSYC2.SQL ス ク リ プ ト ISQL で実行 82 PBSYC.SQL ス ク リ プ ト と の比較 81 WISQL で実行 83 実行す る タ イ ミ ン グ 80 説明 80 保存場所 79 PBSYC.SQL ス ク リ プ ト ISQL で実行 82 PBSYC2.SQL ス ク リ プ ト と の比較 81 WISQL で実行 83 実行す る タ イ ミ ン グ 79 説明 79 保存場所 79 デー タ ベース と の接続 S SERVER デ ィ レ ク ト リ フ ァ イ ル Adaptive Server Enterprise デー タ ベース におけ る ス ト ア ド プ ロ シージ ャ の イ ン ス ト ール 79 SNC DBMS 識別子 97 sp_pb115table ス ト ア ド プ ロ シージ ャ PBSYC2.SQL ス ク リ プ ト 81 PBSYC.SQL ス ク リ プ ト 79 SQL Anywhere ODBC 設定 ダ イ ア ロ グボ ッ ク ス 33 SQL.LOG フ ァ イ ル サンプル出力 185 説明 181 パフ ォーマ ン ス に関する 注意 182 表示 185 開いた ま ま の 185 SQL*Net ク ラ イ ア ン ト ソ フ ト ウ ェ ア、 Oracle 123 SQL Server ス ト ア ド プ ロ シージ ャ の PRINT 文 77 SQL 構文の終止符、 デー タ ベース ペ イ ン タ 内での 変更 129, 167 SQL フ ァ イ ル PBSYC2.SQL 80 PBSYC.SQL 79 Sybase Adaptive Server AnywhereSybase SQL Anywhere を参照 Sybase Adaptive Server Enterprise デー タ ベース イ ン タ フ ェ ース IDENTITY カ ラ ム 64 異種デー タ ベース間の結合に基づ く デー タ ウ ィ ン ド ウ の作成 77 イ ン ス ト ール 69 サポー ト し てい る デー タ 型 64 サポー ト し てい る バージ ョ ン 63, 64 サポー ト し てい る プ ラ ッ ト フ ォーム 63, 64 ス ト ア ド プ ロ シージ ャ の イ ン ス ト ール 77 セキ ュ リ テ ィ サービ ス、 使用 71 接続の確認 69 定義 70 デ ィ レ ク ト リ サービ ス、 使用 73 デー タ ベース の準備 50, 67 205 索引 必要な ク ラ イ ア ン ト ソ フ ト ウ ェ ア 50, 68 Sybase Open Client ソ フ ト ウ ェ ア 50 説明 68 Sybase Open Client デ ィ レ ク ト リ サービ ス に対す る DIT ベース 75 Sybase Open Client のセキ ュ リ テ ィ サービ ス DBParm パ ラ メ ー タ 、 パケ ッ ト 単位のセキ ュ リ テ ィ 73 DBParm パ ラ メ ー タ 、 ロ グ イ ン認証 72 使用条件 71 説明 71 Sybase Open Client のデ ィ レ ク ト リ サービ ス DBParm パ ラ メ ー タ 76 サーバ名の指定 75 使用条件 74 説明 73 Sybase SQL Anywhere LOG フ ァ イ ル 33 PBODB115 初期設定フ ァ イ ルへの関数の追加 194 開始オプシ ョ ン、 指定 34 コ ン フ ィ グ レーシ ョ ン と デー タ ベース プ ロ フ ァ イ ルの作成 25 サポー ト し てい る バージ ョ ン 31 サポー ト し てい る プ ラ ッ ト フ ォーム 31 使用 17 使用す る ための準備 32 接続 コ ン ポーネ ン ト 31 デー タ ソ ース の定義 33 特殊な timestamp カ ラ ム 35 ネ ッ ト ワー ク サーバ、 含ま ない 30 リ モー ト デー タ ベースへのア ク セ ス 30 Sybase SQL Anywhere Transact-SQL の特殊な timestamp 35 Sybase、 ヘルプ情報の入手 23 sybsystemprocs デー タ ベース、 Sybase Adaptive Server Enterprise 82, 83 SYC DBMS 識別子 63 T timestamp、 Transact-SQL の特殊な 206 35 U Unicode Adaptive Server 65 ODBC 16, 40 OLE DB 48 Oracle9i、 Oracle 10g 119 サポー ト 16, 40 デー タ ベース パ ス ワー ド の暗号化 12 W WISQL、 ス ト ア ド プ ロ シージ ャ の イ ン ス ト ール 83 あ ア ク セ ス権、 シ ス テ ム テーブルに対す る 指定 160 アプ リ ケーシ ョ ン ODBC 接続 17 デー タ ベース イ ン タ フ ェース接続 58 い 異種デー タ ベース間の結合 イ ン ス ト ール Java 仮想マシ ン 39 77 え 英字の大文字 と 小文字の区別、 PBODB115 初期設 定フ ァ イ ル内 197, 199 か 拡張属性シ ス テ ム テーブル DB 環境設定 [ 拡張属性の使用 ] に よ る 作成の制 御 159 DB 環境設定 [ 読み と り 専用 ] に よ る 更新の制御 InfoMaker 索引 159 ア ク セ ス権の制御 160 正確な作成の保証 154 説明 154 内容 157 表示 155 拡張属性シ ス テ ム テーブルに対す る ア ク セ ス権 の指定 160 カラム identity、 Sybase Adaptive Server Enterprise 64 SQL 命名規約 24 拡張属性シ ス テ ム テーブル内の 157 特殊な timestamp、 Sybase SQL Anywhere 35 関数、 ODBC PBODB115 初期設定フ ァ イ ル内の新 し いセ ク シ ョ ンへの追加 197 PBODB115 初期設定フ ァ イ ル内の既存のセ ク シ ョ ンへの追加 194 ロ ーカルな初期設定フ ァ イ ルへの保存 151 共有デー タ ベース プ ロ フ ァ イ ルの管理 152 く ク ラ イ アン ト ソ フ ト ウ ェア Informix 85, 94 Microsoft SQL Server 101 Oracle 123 Sybase Adaptive Server Enterprise 68 け 結果集合、 Oracle ス ト ア ド プ ロ シージ ャ の使用 129 さ き 規則 x 基本手順 DBParm パ ラ メ ー タ の設定 163 JDBC ド ラ イ バ マネージ ャ ト レース の停止 189 ODBC デー タ ソ ース の準備 24 ODBC ド ラ イ バ マネージ ャ ト レース の停止 184 デー タ ベース イ ン タ フ ェース の定義 61 デー タ ベース環境設定項目の設定 164 デー タ ベース ト レース の停止 177 デー タ ベース パ ラ メ ー タ の設定 161 デー タ ベース プ ロ フ ァ イ ルの イ ン ポー ト お よ びエ ク ス ポー ト 153 デー タ ベース プ ロ フ ァ イ ルの共有 148 デー タ ベース プ ロ フ ァ イ ルの選択に よ る 接続 144 デー タ ベース プ ロ フ ァ イ ルの編集 147 共有デー タ ベース プ ロ フ ァ イ ル 管理 152 設定 149 デー タ ベース と の接続 サーバ名、 Sybase Open Client デ ィ レ ク ト リ サービ ス に対する 指定 75 し シ ス テ ム オプシ ョ ン ダ イ ア ロ グボ ッ ク ス 142 シ ス テ ム テーブル チ ェ ッ ク ボ ッ ク ス の表示 155 シ ス テ ム テーブル、 表示 155 初期設定フ ァ イ ル DBMS_PROFILES セ ク シ ョ ン 152 InfoMaker の AutoConnect の設定 143 ODBC 26 ODBCINST 26 ODBC 接続 25 PBODB115、 関数の追加 193 共有時のデー タ ベース プ ロ フ ァ イ ルの場所の 指定 149 接続パ ラ メ ー タ の保存 11, 146 パス ワ ー ド の表示の抑制 147 初期設定フ ァ イ ル内のデー タ ベース セ ク シ ョ ン 146 207 索引 す ス ト ア ド プ ロ シージ ャ Adaptive Server Enterprise デー タ ベースへの イ ン ス ト ール 77 ISQL、 イ ン ス ト ールに使用 82 Microsoft SQL Server デー タ ベース イ ン タ フ ェース に必要な し 78 PBSYC2.SQL ス ク リ プ ト に よ る 作成 81 PBSYC.SQL ス ク リ プ ト に よ る 作成 79 WISQL、 イ ン ス ト ールに使用 83 ス ク リ プ ト の実行 81 ス ク リ プ ト の保存場所 79 説明 78 ス ト ア ド プ ロ シージ ャ 、 Oracle SQL 終止符の変更 129, 167 結果集合、 使用 129 結果集合、 例 130 使用方法 129 説明 128 デー タ ウ ィ ン ド ウ オブジ ェ ク ト と レ ポー ト の作成 131 ス ト ア ド プ ロ シージ ャ 、 SQL Server、 PRINT 文の使い 方 77 せ セキ ュ リ テ ィ サービ ス、 Sybase Open ClientSybase Open Client セキ ュ リ テ ィ サービ ス を参照 接続記述子 ODBC 27 Oracle 127 セ ミ コ ロ ン、 デフ ォ ル ト の SQL 終止符 129 て デ ィ レ ク ト リ サービ ス、 Sybase Open ClientSybase Open Client デ ィ レ ク ト リ サービ ス を参照 デー タ 型 Adaptive Server 64 Informix 86 Microsoft SQL Server 98 Oracle 118 208 SQL Server 98 Sybase Adaptive Server Enterprise 64 特殊な timestamp、 Transact-SQL 35 デー タ プ ロ バ イ ダ お よ び OLE DB イ ン タ フ ェース 46 入手 49 デー タ ベース InfoMaker での起動時の接続 142 ア ク セ ス 25 起動時ま たはペ イ ン タ か ら の接続 143 デー タ ベース イ ン タ フ ェース接続 58 デー タ ベース プ ロ フ ァ イ ルに よ る 接続 143, 144 初めての ロ グ イ ン 154 デー タ ベース イ ン タ フ ェース Informix 85 JDBC 38 Microsoft SQL Server 97 Oracle 117 Sybase Adaptive Server Enterprise 63 接続 コ ン ポーネ ン ト 58 説明 57 定義 61 デー タ ベース の準備 60 デー タ ベース プ ロ フ ァ イ ルの イ ン ポー ト お よ び エ ク ス ポー ト 153 デー タ ベース プ ロ フ ァ イ ルの共有 148 デー タ ベース プ ロ フ ァ イ ルの作成 25 デー タ ベース プ ロ フ ァ イ ルの編集 147 デー タ ベースへの接続 144 ト ラ ブルシ ュ ーテ ィ ン グ 172 デー タ ベース イ ン タ フ ェース で使用す る ための デー タ ベース の準備 Informix 93 Microsoft SQL Server 100 Oracle 122 Sybase Adaptive Server Enterprise 50, 67 説明 60 デー タ ベース イ ン タ フ ェース の定義 Microsoft SQL Server 102 Oracle 127 Sybase Adaptive Server Enterprise 70 説明 61 デー タ ベース プ ロ フ ァ イ ルの イ ン ポー ト お よ び InfoMaker 索引 エ ク ス ポー ト 153 デー タ ベース プ ロ フ ァ イ ルの共有 148 デー タ ベース プ ロ フ ァ イ ルの編集 147 167 デー タ ベース環境設定項目 DB 環境設定 ダ イ ア ロ グ ボ ッ ク ス での設定 166 Lock 165 [SQL 構文の終止符 ] 167 [開始時にデー タ ベース に接続] 167 [拡張属性の使用] 159, 167 [共有 DB プ ロ フ ァ イ ル] 167 共有 DB プ ロ フ ァ イ ル 149 自動 コ ミ ッ ト モー ド (AutoCommit) 165 設定方法 161 デー タ ベース プ ロ フ ァ イ ルで設定 9, 165 [読み取 り 専用] 159, 167 デー タ ベース と の接続の ト ラ ブルシ ュ ーテ ィ ン グ JDBC ド ラ イ バ マネージ ャ ト レース 186 ODBC ド ラ イ バ マネージ ャ ト レース 181 説明 171 デー タ ベース ト レース 172 デー タ ベース と の接続の ト レース JDBC ド ラ イ バ マネージ ャ ト レース 186 ODBC ド ラ イ バ マネージ ャ ト レース 181 サンプル出力、 ODBC ド ラ イ バ マネージ ャ ト レース 185 サンプル出力、 デー タ ベース ト レース 180 説明 171 デー タ ベース ト レース 172 デー タ ベース ト レース サンプル出力 180 説明 172 ロ グの削除ま たは消去 179 ロ グの表示 178 ロ グ フ ァ イ ルの書式 175 ロ グ フ ァ イ ルの内容 173 ロ グへの コ メ ン ト の追加 179 デー タ ベース パ ラ メ ー タ ConnectString 27 ODBC 接続 27 Sybase Open Client のデ ィ レ ク ト リ サービ ス デー タ ベース と の接続 76 設定方法 161 デー タ ベース プ ロ フ ァ イ ル内の文字列の文字 数制限 163 デー タ ベース プ ロ フ ァ イ ル DBParm 文字列の文字数制限 163 DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス での選択 144 JDBC ド ラ イ バ マネージ ャ ト レース、 起動 187 JDBC ド ラ イ バ マネージ ャ ト レース、 停止 189 Microsoft SQL Native Client デー タ ベース イ ン タ フ ェ ース 102 ODBC デー タ ソ ース の DBMS 値 27 ODBC デー タ ソ ース の接続文字列 27 ODBC ド ラ イ バ マネージ ャ ト レース、 起動 182 ODBC ド ラ イ バ マネージ ャ ト レース、 停止 184 Oracle デー タ ベース イ ン タ フ ェース 127 Sybase Adaptive Server Enterprise デー タ ベース イ ン タ フ ェ ース 70 Sybase Open Client デ ィ レ ク ト リ サービ ス に対 する サーバ名 75 イ ン ポー ト お よ びエ ク ス ポー ト 153 共有 148, 150, 152 説明 6, 143 パス ワ ー ド の表示の抑制 147 [ 分離レベル ] お よ び [ 自動 コ ミ ッ ト モー ド ] の設定 165 編集 147 デー タ ベース プ ロ フ ァ イ ルの イ ン ポー ト 153 デー タ ベース プ ロ フ ァ イ ルのエ ク ス ポー ト 153 デー タ ベースペ イ ン タ 、 SQL 終止符の変更 129 デー タ ベースへのア ク セ ス JDBC 接続の ト ラ ブルシ ュ ーテ ィ ン グ 186 ODBC 接続の ト ラ ブルシ ュ ーテ ィ ン グ 181 ODBC デー タ ソ ース 25 任意の接続の ト ラ ブルシ ュ ーテ ィ ン グ 172 デー タ ベースへの接続 [DB へ自動的に接続 ] シ ス テ ム オプシ ョ ン 209 索引 142 JDBC 接続の ト ラ ブルシ ュ ーテ ィ ン グ 186 ODBC 接続の ト ラ ブルシ ュ ーテ ィ ン グ 181 概要 11 拡張属性シ ス テ ム テーブルの作成 154 起動時ま たはペ イ ン タ か ら の 143 説明 141, 146 デー タ ベース プ ロ フ ァ イ ルの選択に よ る 144 デー タ ベース プ ロ フ ァ イ ルの使い方 143 任意の接続の ト ラ ブルシ ュ ーテ ィ ン グ 172 ほかの製品に付属の InfoMaker 6 デー タ ベースへの初めての ロ グ イ ン 154 テーブル SQL 命名規約 24 拡張属性内の 157 シ ス テ ム、 表示 155 テーブル と カ ラ ムの SQL 命名規約 24 テーブル と カ ラ ムの命名規約 24 テーブルの選択 ダ イ ア ロ グボ ッ ク ス、 [ シ ス テ ム テー ブルを表示 ] チ ェ ッ ク ボ ッ ク ス 155 テ ク ニ カル ド キ ュ メ ン ト 、 Sybase、 ヘルプの使用 15, 61 手順、 基本 DBParm パ ラ メ ー タ の設定 163 と ト ラ ン ス レー タ 、 ODBC 29 ト ラ ン ス レー タ の選択 ダ イ ア ロ グボ ッ ク ス 29 に 入力条件則、 拡張属性シ ス テ ム テーブル内 157 210 157 ふ 複数層 ODBC ド ラ イ バ 20 複数の ODBC デー タ ソ ース、 定義 28 [ プ レ ビ ュ ー ] タ ブ、 InfoMaker で利用で き ない 9 分離レベル と Lock 値、 デー タ ベース プ ロ フ ァ イ ルでの設定 165 へ ヘルプ 23 Java の Web サ イ ト 37 JDBC ド ラ イ バ マネージ ャ ト レース、 使用 187 JDBC の Web サ イ ト 37 Microsoft Universal Data Access 45 ODBC ド ラ イ バ 23, 29 ODBC ド ラ イ バ マネージ ャ ト レース、 使用 182 Sybase の Web サ イ ト 45 オン ラ イ ン ヘルプ、 使用 15, 23 デー タ ソ ース 15 デー タ ベース ト レース、 使用 172 編集 PBODB115 初期設定フ ァ イ ル 193 共有デー タ ベース プ ロ フ ァ イ ル 151 デー タ ベース プ ロ フ ァ イ ル 147 編集様式、 拡張属性シ ス テ ム テーブル内の 157 ら は パ ス ワー ド 、 初期設定フ ァ イ ルでの表示の抑制 ひ 表記規則 x 表示書式、 拡張属性シ ス テ ム テーブル内の 147 ラ ージ オブジ ェ ク ト 、 Oracle ス ト ア ド プ ロ シー ジ ャ の出力パ ラ メ ー タ 132 InfoMaker 索引 れ レ ジ ス ト リ 、 Windows ODBCINST 初期設定フ ァ イ ル ODBC 初期設定フ ァ イ ル 26 接続パ ラ メ ー タ 11, 146 デー タ ベース と の接続 26 211 索引 212 InfoMaker