...

PowerBuilder 11.2 データベースとの接続

by user

on
Category: Documents
634

views

Report

Comments

Transcript

PowerBuilder 11.2 データベースとの接続
デー タ ベース と の接続
PowerBuilder®
11.1
DOCUMENT ID: DC37775-01-1110-02
LAST REVISED: October 2008
Copyright © 1991-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
PowerBuilder でのデー タ ア ク セス方法 ........................................... 6
EAS Demo DB へのア ク セス ........................................................... 7
デー タ ベース プ ロ フ ァ イルの使い方............................................... 8
デー タ ベース プ ロ フ ァ イルの作成について ............................. 8
デー タ ベース プ ロ フ ァ イルの作成 ......................................... 11
次のス テ ッ プ .................................................................................. 13
第2部
標準デー タ ベース イ ン タ フ ェ ースの使い方
第2章
ODBC イ ン タ フ ェ ース ............................................................................................. 17
ODBC イ ン タ フ ェ ースについて .................................................... 18
ODBC と は ?........................................................................... 18
PowerBuilder での ODBC の使い方 ........................................ 19
ODBC 接続の コ ンポーネ ン ト ................................................. 19
ODBC ド ラ イバの種類 ............................................................ 21
ODBC ド ラ イバの合致レ ベル ................................................. 23
ODBC ド ラ イバの入手 ............................................................ 25
PowerBuilder Desktop 付属の ODBC ド ラ イバの使い方........ 25
ODBC ド ラ イバに関するヘルプ情報を入手するには ............. 25
ODBC デー タ ソ ースの準備 .......................................................... 26
ODBC デー タ ソ ースの定義 .......................................................... 27
PowerBuilder がデー タ ソ ースへのア ク セスに
必要な フ ァ イル ................................................................ 27
同一デー タ に対する複数のデー タ ソ ースの定義 .................... 30
ODBC ド ラ イバに関するオ ン ラ イ ンヘルプの表示................. 31
ODBC ト ラ ン ス レー タ の選択 ................................................. 31
デー タ ベース と の接続
iii
目次
ODBC イ ン タ フ ェ ースの定義........................................................
Sybase SQL Anywhere ..................................................................
SQL Anywhere でサポー ト し ているバージ ョ ン .....................
SQL Anywhere の基本ソ フ ト ウ ェ ア コ ンポーネ ン ト .............
SQL Anywhere デー タ ソ ース を使用する ための準備.............
SQL Anywhere デー タ ソ ースの定義......................................
Transact-SQL の特殊な timestamp カ ラ ムのサポー ト ...........
次のス テ ッ プ ...........................................................................
32
32
33
33
34
35
37
38
第3章
JDBC イ ン タ フ ェ ース .............................................................................................. 39
JDBC イ ン タ フ ェ ースについて ..................................................... 39
JDBC と は ? ............................................................................ 39
JDBC イ ン タ フ ェ ースの使い方 .............................................. 40
JDBC 接続の コ ンポーネ ン ト .................................................. 41
JDBC レ ジ ス ト リ エ ン ト リ ..................................................... 43
JDBC でサポー ト し ているバージ ョ ン .................................... 44
サポー ト し ている JDBC デー タ 型.......................................... 44
JDBC イ ン タ フ ェ ース を使用する ための準備................................ 44
JDBC イ ン タ フ ェ ースの定義......................................................... 46
第4章
OLE DB イ ン タ フ ェ ース ......................................................................................... 49
OLE DB イ ン タ フ ェ ースについて ................................................. 49
OLE DB と は ? ........................................................................ 50
OLE DB 接続の コ ンポーネ ン ト .............................................. 53
OLE DB デー タ プ ロバイ ダの入手.......................................... 54
サポー ト し ている OLE DB のバージ ョ ン ............................... 54
OLE DB イ ン タ フ ェ ース を使用する ための準備 ............................ 55
OLE DB イ ン タ フ ェ ースの定義 ..................................................... 57
第5章
ADO.NET イ ン タ フ ェ ース ..................................................................................... 59
ADO.NET について ........................................................................ 59
PowerBuilder の ADO.NET デー タ ベース イ ン タ フ ェ ースについて 61
ADO.NET 接続の コ ンポーネ ン ト ........................................... 61
OLE DB デー タ プ ロバイ ダ .................................................... 64
ADO.NET イ ン タ フ ェ ース を使用する ための準備 ......................... 66
ADO.NET イ ン タ フ ェ ースの定義 .................................................. 67
identity カ ラ ム値の取得........................................................... 68
第3部
ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースの使い方
第6章
ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースの使い方 ................................ 75
iv
PowerBuilder
目次
ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースについて ...................... 75
デー タ ベース イ ン タ フ ェ ース接続の コ ンポーネ ン ト ................... 76
ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースの使い方 ...................... 78
第7章
Adaptive Server Enterprise の使い方........................................................... 81
サポー ト し ている Adaptive Server のバージ ョ ン ......................... 81
サポー ト し ている Adaptive Server デー タ 型 ................................ 82
Adaptive Server の基本 ソ フ ト ウ ェ ア コ ンポーネ ン ト .................. 85
Adaptive Server デー タ ベース を使用する ための準備 ................... 86
Adaptive Server デー タ ベース イ ン タ フ ェ ースの定義 .................. 89
Open Client のセキ ュ リ テ ィ サービ ス........................................... 90
Open Client のセキ ュ リ テ ィ サービ ス と は ?.......................... 90
Open Client のセキ ュ リ テ ィ サービ ス を使用する ための条件 90
セキ ュ リ テ ィ サービ スの DBParm パラ メ ー タ ...................... 92
Open Client のデ ィ レ ク ト リ サービ スの使い方 ............................ 93
Open Client のデ ィ レ ク ト リ サービ ス と は ?.......................... 93
Open Client のデ ィ レ ク ト リ サービ ス を使用する ための条件 93
Open Client のデ ィ レ ク ト リ サービ ス を使用する場合の
サーバ名の指定 ................................................................ 94
デ ィ レ ク ト リ サービ スの DBParm パ ラ メ ー タ ...................... 96
Adaptive Server ス ト ア ド プ ロ シージ ャ における PRINT 文の
使い方............................................................................... 96
デー タ ベース間の結合に基づ く デー タ ウ ィ ン ド ウの作成 ............. 97
Adaptive Server デー タ ベースにおける ス ト ア ド プ ロ シージ ャ の
イ ン ス ト ール .................................................................... 97
PowerBuilder ス ト ア ド プ ロ シージ ャ ス ク リ プ ト と は ?........ 98
ス ク リ プ ト の実行方法 .......................................................... 101
第8章
Informix の使い方 ...................................................................................................
サポー ト し ている Informix のバージ ョ ン ....................................
サポー ト し ている Informix デー タ 型 ...........................................
Informix の DateTime デー タ 型 .............................................
Informix の Time デー タ 型.....................................................
Informix の Interval デー タ 型.................................................
I10 イ ン タ フ ェ ースでサポー ト し ている機能 ..............................
Unicode デー タ へのア ク セス ................................................
PowerBuilder カ タ ログ テーブルへのオーナーの割 り 当て...
長いオブ ジ ェ ク ト 名のサポー ト ............................................
イ ンデ ッ ク スの名前変更.......................................................
SQL ス テー ト メ ン ト キ ャ ッ シ ュ ..........................................
ロ ッ クせずに イ ンデ ッ ク スの作成 と 削除..............................
カ ラ ム レ ベルの暗号化 .........................................................
ユーザ定義ルーチ ン での複数の OUT パ ラ メ ー タ の使い方 ..
デー タ ベース と の接続
105
105
106
107
107
108
108
108
110
110
110
110
111
112
112
v
目次
Informix の基本 ソ フ ト ウ ェ ア コ ンポーネ ン ト .............................
Informix デー タ ベース を使用する ための準備..............................
Informix デー タ ベース イ ン タ フ ェ ースの定義.............................
サーバ名の指定 .....................................................................
PowerBuilder ス ク リ プ ト でのシ リ アル値へのア ク セス ..............
113
114
116
116
117
第9章
Microsoft SQL Server の使い方.....................................................................
サポー ト し ている SQL Server のバージ ョ ン ..............................
サポー ト し ている SQL Server デー タ 型 .....................................
Microsoft SQL Server の基本 ソ フ ト ウ ェ ア コ ンポーネ ン ト .......
SQL Server デー タ ベース を使用する ための準備........................
SQL Server デー タ ベース イ ン タ フ ェ ースの定義.......................
MSS や OLE DB デー タ ベース イ ン タ フ ェ ースか ら の移行........
SQL Server 2005 の機能..............................................................
SNC イ ン タ フ ェ ース使用時の注意事項.......................................
119
119
120
122
123
125
126
129
130
第 10 章
Oracle の使い方........................................................................................................
サポー ト し ている Oracle のバージ ョ ン ......................................
サポー ト し ている Oracle デー タ 型 .............................................
デー タ 型の変換 .....................................................................
Oracle の基本 ソ フ ト ウ ェ ア コ ンポーネ ン ト ...............................
Oracle デー タ ベース を使用する ための準備 ................................
Oracle デー タ ベース イ ン タ フ ェ ースの定義 ...............................
Oracle サーバの接続記述子の指定........................................
デー タ ソ ース と し ての Oracle ス ト ア ド プ ロ シージ ャ の使い方
Oracle ス ト ア ド プ ロ シージ ャ と は? ...................................
Oracle ス ト ア ド プ ロ シージ ャ で可能な作業 ........................
Oracle で結果集合を返すス ト ア ド プ ロ シージ ャ の使い方...
ラ ージ オブ ジ ェ ク ト 出力パラ メ ー タ の使用 .........................
Oracle ユーザ定義デー タ 型の使い方...........................................
Oracle 10g の HA イ ベン ト 通知のサポー ト ................................
133
133
134
137
138
138
141
141
142
142
142
143
147
147
149
第4部
デー タ ベース接続に関する作業
第 11 章
デー タ ベース接続の管理 ......................................................................................
デー タ ベース と の接続について ...................................................
デー タ ベース と の接続 タ イ ミ ング ........................................
デー タ ベース プ ロ フ ァ イルの使い方....................................
デー タ ベース と の接続 .................................................................
デー タ ベース プ ロ フ ァ イルの選択 .......................................
接続時の処理.........................................................................
デー タ ベース プ ロ フ ァ イルでのパスワー ド の指定 ..............
vi
153
153
154
154
155
155
157
158
PowerBuilder
目次
PowerBuilder ア プ リ ケーシ ョ ンか ら デー タ ベースに
接続する ための [プ レ ビ ュ ー] タ ブの使い方................
デー タ ベース プ ロ フ ァ イルの管理 ..............................................
デー タ ベース プ ロ フ ァ イルの共有 ..............................................
共有デー タ ベース プ ロ フ ァ イルについて.............................
共有デー タ ベース プ ロ フ ァ イルの設定 ................................
共有デー タ ベース プ ロ フ ァ イルを使用 し た接続..................
ロー カルで共有デー タ ベース プ ロ フ ァ イルを変更する .......
共有デー タ ベース プ ロ フ ァ イルの管理 ................................
デー タ ベース プ ロ フ ァ イルのイ ンポー ト と エ ク スポー ト ..........
PowerBuilder 拡張属性シ ス テム テーブルについて ....................
デー タ ベースへの初めてのロ グ イ ン .....................................
PowerBuilder 拡張属性シ ス テム テーブルの表示 .................
拡張属性シ ス テム テーブルの内容 .......................................
シ ス テム テーブルへのア ク セスの制御 ................................
第 12 章
第 13 章
デー タ ベース と の接続
158
159
159
160
160
162
163
163
164
165
165
166
168
169
接続パ ラ メ ー タ の追加設定.................................................................................
接続パラ メ ー タ を設定する ための基本手順 .................................
DB プ ロ フ ァ イル設定 ダ イ ア ログボ ッ ク スについて ...................
デー タ ベース パラ メ ー タ の設定 ..................................................
開発環境でのデー タ ベース パラ メ ー タ の設定 .....................
PowerBuilder ア プ リ ケーシ ョ ンのス ク リ プ ト での
デー タ ベース パラ メ ー タ の設定 ....................................
デー タ ベース環境設定項目の設定 ...............................................
開発環境でのデー タ ベース環境設定項目の設定...................
PowerBuilder ア プ リ ケーシ ョ ンのス ク リ プ ト における
AutoCommit と Lock の設定...........................................
173
173
174
175
176
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ン グ...........................
ト ラ ブルシ ュ ーテ ィ ング ツールの概要 .......................................
デー タ ベース ト レース ツールの使い方 ......................................
デー タ ベース ト レース ツール..............................................
デー タ ベース ト レース ツールの起動...................................
デー タ ベース ト レース ツールの停止...................................
デー タ ベース ト レース ログの使い方...................................
デー タ ベース ト レース ログのサン プル ...............................
SQL 文 ト レース ユーテ ィ リ テ ィ の使い方 ..................................
ODBC ド ラ イバ マネージ ャ ト レース ツールの使い方 ...............
ODBC ド ラ イバ マネージ ャ ト レース ..................................
ODBC ド ラ イバ マネージ ャ ト レースの起動 ........................
ODBC ド ラ イバ マネージ ャ ト レースの停止 .......................
ODBC ド ラ イバ マネージ ャ ト レース ログの表示 ................
ODBC ド ラ イバ マネージ ャ ト レース ログのサン プル .........
191
191
192
192
196
202
204
205
207
209
209
210
215
217
218
176
179
180
186
vii
目次
JDBC ド ラ イバ マネージ ャ ト レース ツールの使い方................
JDBC ド ラ イバ マネージ ャ ト レース ...................................
JDBC ド ラ イバ マネージ ャ ト レースの起動 ........................
JDBC ド ラ イバ マネージ ャ ト レースの停止 .........................
JDBC ド ラ イバ マネージ ャ ト レース ログの表示 .................
第5部
ト ラ ンザク シ ョ ン サーバでの作業
第 14 章
PowerBuilder コ ンポーネ ン ト 内でのデー タ ベース接続の確立 ....
EAServer への コ ンポーネ ン ト の配布..........................................
共有接続を使用する場合にサポー ト さ れる
デー タ ベース接続...........................................................
Microsoft DTC を使用する場合にサポー ト さ れる
デー タ ベース接続...........................................................
OTS/XA を使用する場合にサポー ト さ れる
デー タ ベース接続...........................................................
SYJ デー タ ベース イ ン タ フ ェ ースの使い方.........................
JDB デー タ ベース イ ン タ フ ェ ースの使い方 ........................
自動 コ ミ ッ ト モー ド の指定 ..................................................
COM+ への COM コ ンポーネ ン ト の配布 ....................................
ODBC デー タ ベース イ ン タ フ ェ ースの使い方.....................
Oracle デー タ ベース イ ン タ フ ェ ースの使い方.....................
PowerBuilder コ ンポーネ ン ト に対する DBParm のサポー ト ......
第6部
付録
付録 A
PBODB110 初期設定フ ァ イルへの関数の追加 .......................................
PBODB110 初期設定 フ ァ イルについて ......................................
PBODB110.INI への関数の追加...................................................
既存のセ ク シ ョ ンへの関数の追加 ........................................
新 し いセ ク シ ョ ンへの関数の追加 ........................................
221
222
223
227
228
233
233
234
235
235
236
237
237
237
238
238
238
243
243
244
244
247
索引 ............................................................................................................................................. 251
viii
PowerBuilder
本書について
対象 と する読者
こ のマニ ュ アルは、PowerBuilder® を使用 し てデー タ ベース に接続
す る 開発者やエ ン ド ユーザを対象 と し てい ます。 読者が使用す る
デー タ ベー ス に詳 し く 、 ま た、 接続に必要なサーバや ク ラ イ ア ン
ト の ソ フ ト ウ ェ アがすでに イ ン ス ト ール さ れてい る も の と し てい
ます。
目的
こ のマニ ュ アルでは、標準ま たはネ イ テ ィ ブ デー タ ベース イ ン タ
フ ェ ー ス を使用 し て PowerBuilder でデー タ ベース に接続す る 方法
について解説 し てい ます。 デー タ ベース接続のための準備、 定義、
接続の方法のほか、 メ ン テナン ス や ト ラ ブルシ ュ ーテ ィ ン グの方
法について説明 し てい ま す。 こ れ ら の操作を行 う 手順の概要につ
いては、 3 ページ の「 基本的な 接続手順」 を参照 し て く だ さ い。
関連マニ ュ アル
サポー ト さ れてい る デー タ ベース イ ン タ フ ェ ース、 DBParm パ ラ
メ ー タ 、 デー タ ベー ス 環境設定項目の詳細については、 オ ン ラ イ
ン ヘルプのデー タ ベース接続に関す る セ ク シ ョ ン を参照 し て く だ
さ い。 PowerBuilder の す べ て の マ ニ ュ ア ル の 一 覧 に つ い て は、
PowerBuilder の 『入門』 マニ ュ アルを参照 し て く だ さ い。
そのほかの情報
製品に関す る そのほかの詳細情報については、 PowerBuilder DVD、
ア シ ス ト Web サ イ ト 、 お よ び Sybase 製品マニ ュ アル Web サ イ ト
(英語) を参照 し て く だ さ い。
•
PowerBuilder DVD には、製品マニ ュ アルが収め ら れてい ます。
製品マニ ュ アルは、 PDF 形式で提供 し てい ます。 PDF フ ァ イ
ルを読んだ り 、 印刷 し た り す る には、 Adobe Acrobat Reader が
必要です。 Adobe Acrobat Reader は、 Adobe Web サ イ ト か ら 無
料でダ ウ ン ロ ー ド す る こ と がで き ます。
•
ア シ ス ト Web サ イ ト には、 標準の Web ブ ラ ウ ザでア ク セ スす
る こ と がで き る オ ン ラ イ ン版のマ ニ ュ アルが あ り ま す。 こ の
Web サ イ ト では、 PDF お よ び HTML 形式でマニ ュ アルを見 る
こ と がで き ます。
オ ン ラ イ ン版のマニ ュ アルには、 ア シ ス ト の PowerBuilder のサ
イ ト http://www.ashisuto.co.jp/prod/powerbuilder/ にあ る 「技術情報」
か ら ア ク セ ス で き ます。
デー タ ベース と の接続
ix
•
Sybase 製品マニ ュ アル Web サ イ ト (英語) は、 標準の Web ブ ラ ウ
ザか ら ア ク セ ス で き 、 Sybase の製品マニ ュ アルのほか、 EBF/ メ ン
テナン ス、 技術文書な どへの リ ン ク も 含んでい ます。
Sybase 製品マ ニ ュ アル Web サ イ ト には、 Product Manuals のサ イ ト
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
「サポー ト ハン ド ブ ッ ク 」 を参照 し て く だ さ い。
PowerBuilder
第
1
部
デー タ ベース接続に関す る
作業
第 1 部では、PowerBuilder でのデー タ 接続について解説 し
ます。 PowerBuilder 開発環境でデー タ ベースに接続する方
法を理解する こ と がで き ます。
第 1 章
デー タ ベース と の接続について
こ の章について
こ の章では、 PowerBuilder 開発環境でデー タ ベー ス に接続す る た
めの概念や手順について、 その概要を解説 し ます。
内容
項目
デー タ ベース と の接続の手順
PowerBuilder でのデー タ ア ク セ ス方法
EAS Demo DB へのア ク セ ス
デー タ ベース プ ロ フ ァ イ ルの使い方
次の ス テ ッ プ
ページ
3
6
7
8
13
デー タ ベース と の接続の手順
PowerBuilder では、 開発環境 ま たはア プ リ ケーシ ョ ン の ス ク リ プ
ト でデー タ ベース に接続で き ます。
こ のマ ニ ュ アルでは、 PowerBuilder 開発環境におけ る デー タ ベー
スへの接続方法について解説 し ます。
PowerBuilder ア プ リ ケーシ ョ ン の ス ク リ プ ト でのデー タ ベー ス へ
の接続については、『アプ リ ケーシ ョ ン テ ク ニ ッ ク 』 マニ ュ アルを
参照 し て く だ さ い。
基本的な接続手順
以下の表に、 接続手順の概略、 それぞれの ス テ ッ プの内容や参照
先を示 し ます。
表 1-1: 基本的な接続手順
ステ ッ プ
1
概要
内容
参照先
(オ プ シ ョ ン) PowerBuilder 必要に応 じ て、PowerBuilder 第 1 章 ( こ の章)
に お け る デー タ ベー ス 接続 が開発環境において ど の よ
の概要
う にデー タ ベー ス に接続す
る かについて学習す る
デー タ ベース と の接続
3
デー タ ベース と の接続の手順
ステ ッ プ
2
概要
内容
PowerBuilder で デ ー タ ソ ー PowerBuilder の外部の環境
ス やデー タ ベー ス に 初 め て で、 接 続 に 必 要 な ネ ッ ト
接続する 前に、デー タ ソ ース ワ ー ク 、 デー タ ベース サー
やデー タ ベー ス を 使用す る バ、 お よ びデー タ ベース ク
ための準備
ラ イアン ト ソ フ ト ウ ェア
を イ ン ス ト ール し 、 デー タ
ベース に接続で き る こ と を
確認する
参照先
ODBC デー タ ソ ー ス について
は、 第 2 章 「ODBC イ ン タ
フ ェース」
JDBC デー タ ソ ー ス につい て
は、第 3 章「JDBC イ ン タ フ ェー
ス」
OLE DB デー タ ソ ー ス につい
ては、 第 4 章 「OLE DB イ ン タ
フ ェース」
ADO.NET デー タ ソ ー ス につ
いては、 第 5 章 「ADO.NET イ
ン タ フ ェース」
ネ イ テ ィ ブ デー タ ベース イ ン
タ フ ェース については、第 6 章
「ネ イ テ ィ ブ デー タ ベー ス イ
ン タ フ ェース の使い方」
3
ODBC ド ラ イ バ、 OLE DB デー タ ア ク セ ス に 必要 な
データ プロ バイ ダ、ADO.NET ド ラ イ バ、 デー タ ベース プ
デー タ プ ロ バ イ ダ、ま たはネ ロ バ イ ダ、 ま たはネ イ テ ィ
イ テ ィ ブ デー タ ベー ス イ ン ブ デー タ ベー ス イ ン タ
タ フ ェ ース の イ ン ス ト ール
フ ェ ース を イ ン ス ト ールす
る
4
デー タ ソ ー ス の定義 (ODBC ODBC 経由でア ク セ スす る
接続 と 一部の OLE DB ド ラ イ デー タ ソ ー ス に 必要 な 設
バの場合)
定を作成する
4
使用 し て い る プ ラ ッ ト フ ォ ー
ム でサ ポー ト さ れ て い る リ ス
ト の内容については、オン ラ イ
ン ヘルプの 「サポー ト し てい
る デー タ ベー ス イ ン タ フ ェ ー
ス」
ODBC デー タ ソ ー ス について
は、 第 2 章 「ODBC イ ン タ
フ ェース」
PowerBuilder
第1章
ステ ッ プ
5
概要
内容
データ ベース イ ン タ フ ェ ー デー タ ベー ス プ ロ フ ァ イ
ス の定義
ルを作成する
デー タ ベース と の接続について
参照先
ODBC デー タ ソ ー ス について
は、 第 2 章 「ODBC イ ン タ
フ ェ ース」
JDBC デー タ ソ ー ス につい て
は、第 3 章「JDBC イ ン タ フ ェー
ス」
OLE DB デー タ ソ ー ス につい
ては、 第 4 章 「OLE DB イ ン タ
フ ェ ース」
ADO.NET デー タ ソ ー ス につ
いては、 第 5 章 「ADO.NET イ
ン タ フ ェ ース」
ネ イ テ ィ ブ デー タ ベース イ ン
タ フ ェ ース については、第 6 章
「ネ イ テ ィ ブ デー タ ベー ス イ
ン タ フ ェ ース の使い方」
6
EAServer 接続の定義
EAServer プ ロ フ ァ イ ル を
作成する
7
デー タ ソ ー ス ま た はデー タ
ベース と の接続
(オ プ シ ョ ン) 接続パ ラ メ ー
タ の追加設定
PowerBuilder か ら デー タ に
ア ク セ スする
必要に応 じ て、 デー タ ベー
ス 接続を円滑に し た り 、 使
用す る イ ン タ フ ェ ース でサ
ポ ー ト さ れ て い る DBMS
固有の機能を利用 し た り す
る ために DBParm パ ラ メ ー
タ やデー タ ベー ス環境を設
定する
必 要 に 応 じ て、 ト レ ー ス
ツールを使用 し て、 接続に
関す る ト ラ ブルシ ュ ーテ ィ
ン グ を行 う
8
9
(オ プ シ ョ ン) デー タ ベー ス
接続に関す る ト ラ ブル
シ ュ ーテ ィ ン グ
デー タ ベース と の接続
PowerBuilder コ ン ポーネ ン ト
については、 第 14 章
「PowerBuilder コ ン ポーネ ン ト
内でのデー タ ベース接続の確
立」
第 14 章 「PowerBuilder コ ン
ポーネ ン ト 内でのデー タ ベー
ス接続の確立」
第 11 章 「デー タ ベース接続の
管理」
操作手順については、 第 12 章
「接続パ ラ メ ー タ の追加設定」
DBParm の解説については、 オ
ン ラ イ ン ヘルプ
デー タ ベー ス の環境設定につ
いては、 オン ラ イ ン ヘルプ
第 13 章 「デー タ ベース接続に
関す る ト ラ ブル シ ュ ーテ ィ ン
グ」
5
PowerBuilder でのデー タ ア ク セス方法
PowerBuilder でのデー タ ア ク セス方法
PowerBuilder 開発環境では、以下の方法でデー タ にア ク セ ス で き ます。
標準デー タ ベース
イ ン タ フ ェ ース
•
ODBC、 JDBC、 ADO.NET、 ま たは OLE DB な ど の標準デー タ ベー
ス イ ン タ フ ェース を経由す る 方法
•
ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ース を経由す る 方法
標準デー タ ベース イ ン タ フ ェ ース は、 標準準拠 ド ラ イ バ (ODBC お よ
び JDBC の場合)、ま たはデー タ プ ロ バ イ ダ(OLE DB お よ び ADO.NET
の場合) を経由 し てデー タ ベース と 通信 し ま す。 標準準拠 ド ラ イ バ ま
たはデー タ プ ロ バ イ ダは、 標準の API に よ っ て定義 さ れ る 抽象的な関
数呼び出 し を、 それぞれのデー タ ベース が解釈で き る 関数呼び出 し に
変換 し ます。 標準デー タ ベース イ ン タ フ ェ ース を使用す る には、 まず
標準の API と 適切な ド ラ イ バ ま たはデー タ プ ロ バ イ ダ を イ ン ス ト ー
ルす る 必要があ り ます。 次に、 PowerBuilder セ ッ ト ア ッ プ プ ロ グ ラ ム
で、 DBMS にア ク セ スす る のに使 う 標準デー タ ベース イ ン タ フ ェ ース
を選択 し 、 イ ン ス ト ールす る 必要があ り ます。
PowerBuilder は、 現時点で以下の標準 イ ン タ フ ェ ー ス を サポー ト し て
い ます。
ネ イ テ ィ ブ デー タ
ベース イ ン タ フ ェ ー
ス
•
Open Database Connectivity (ODBC)
•
Java Database Connectivity (JDBC)
•
Microsoft 社製 Universal Data Access Component OLE DB
•
Microsoft 社製 ADO.NET
ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス は直接接続でデー タ ベー ス
と 通信 し ま す。 デー タ ベー ス と の通信には そ のデー タ ベー ス の ネ イ
テ ィ ブな API を使い ます。
ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を経由 し てデー タ にア ク セ
スす る には、 自分のサ イ ト のサーバや ク ラ イ ア ン ト ワ ー ク ス テーシ ョ
ンに、 適切なデー タ ベース ソ フ ト ウ ェ ア を あ ら か じ め イ ン ス ト ール し
ます。 次に、 PowerBuilder セ ッ ト ア ッ プ プ ロ グ ラ ム で、 DBMS にア ク
セ ス す る ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を選択 し 、 イ ン ス
ト ール し ます。
た と えば、 Sybase Adaptive Server® Enterprise のサーバお よ び ク ラ イ ア
ン ト ソ フ ト ウ ェ アが イ ン ス ト ール さ れてい る 場合は、 Adaptive Server
Enterprise デー タ ベース イ ン タ フ ェ ース を イ ン ス ト ール し て、そのデー
タ ベース にア ク セ ス し ます。
6
PowerBuilder
第1章
デー タ ベース イ ン タ
フ ェ ース ラ イ ブ ラ リ
のロー ド
デー タ ベース と の接続について
PowerBuilder では、 デー タ ベース に接続す る と 、 そのデー タ ベース イ
ン タ フ ェ ー ス が使用す る ラ イ ブ ラ リ が ロ ー ド さ れ ま す。 PowerBuilder
で は、 デー タ ベー ス と の 接続 が解除 さ れ て も デー タ ベー ス イ ン タ
フ ェース ラ イ ブ ラ リ の自動的な解放は行われ ません。
こ の手法では メ モ リ の消費量がい く ら か増え ますが (デー タ ベース イ
ン タ フ ェ ー ス ラ イ ブ ラ リ が メ モ リ に ロ ー ド さ れた ま ま にな る ので) 、
デー タ ベース の接続に際 し て起 こ る ラ イ ブ ラ リ の解放 と リ ロ ー ド に関
す る 問題が解消 さ れ る のでパフ ォ ーマ ン ス の向上につなが り ます。
デー タ ベー ス と の接続解除時に、 今 ま で ど お り デー タ ベー ス イ ン タ
フ ェース ラ イ ブ ラ リ を解放 し たい場合には、 以下の よ う にデフ ォ ル ト
の動作を変更で き ます。
デ フ ォ ル ト の動作 を
変更する接続
開発環境での接続
実行時の接続
操作
シ ス テ ム オプシ ョ ン ダ イ ア ロ グボ ッ ク ス の [全般]
タ ブで [切断時にデー タ ベース ド ラ イ バ ラ イ ブ ラ リ
を解放す る ] チ ェ ッ ク ボ ッ ク ス を オンにする
アプ リ ケーシ ョ ン ペ イ ン タ の [プ ロ パテ ィ ] ビ ュ ー
の [全般] タ ブ、 ま たは ス ク リ プ ト 上で、 アプ リ ケー
シ ョ ン オブジ ェ ク ト の FreeDBLibraries (DB ラ イ ブ
ラ リ の解放) プ ロ パテ ィ を TRUE に設定 し ます。
EAServer コ ンポーネ ン ト
コ ン ポーネ ン ト を EAServer に配布す る 場合には、 デー タ ベー ス イ ン
タ フ ェ ース ラ イ ブ ラ リ の自動解放は行え ません。
EAS Demo DB へのア ク セス
PowerBuilder に は EAS Demo DB と い う ス タ ン ド ア ロ ン の SQL
Anywhere® デー タ ベース が付属 し てい ます。こ のデー タ ベース は、セ ッ
ト ア ッ プ プ ロ グ ラ ム で こ のオプシ ョ ン の選択を ク リ ア し ない限 り 、 自
動的に イ ン ス ト ール さ れ ま す。 PowerBuilder のチ ュ ー ト リ アル を使用
す る 際に、 こ の EAS Demo DB 内のテーブルへア ク セ ス す る こ と にな
り ます。
ア ク セ スす る 際に SQL Anywhere ODBC ド ラ イ バを使用す る ので、SQL
Anywhere デー タ ベース は ODBC デー タ ソ ース と みな さ れ ます。
デー タ ベース と の接続
7
デー タ ベース プ ロ フ ァ イルの使い方
デー タ ベース プ ロ フ ァ イルの使い方
デー タ ベース プ ロ
フ ァ イル と は ?
デー タ ベース プ ロ フ ァ イ ルは、 PowerBuilder 開発環境で、 特定のデー
タ ベー ス と の接続を定義す る シ ス テ ム レ ジ ス ト リ に格納 さ れてい る 、
パ ラ メ ー タ セ ッ ト です。デー タ ベース プ ロ フ ァ イ ルはデー タ 接続ご と
に作成す る 必要があ り ます。
実行で き る作業
デー タ ベース プ ロ フ ァ イ ルを使用す る と 、 PowerBuilder 開発環境での
デー タ ベー ス への接続管理が容易にな り ます。 た と えば、 デー タ ベー
ス プ ロ フ ァ イ ルに よ っ て、 以下の操作がで き ます。
詳細について
•
デー タ ベース プ ロ フ ァ イ ルを選択 し て、 デー タ ベース に接続 し た
り 、 別のデー タ ベース に切 り 替え た り す る
•
デー タ ベース プ ロ フ ァ イ ルを編集 し て、 接続を カ ス タ マ イ ズす る
•
ア ク セ スす る 必要がな く な っ たデー タ ベース プ ロ フ ァ イ ルを削除
する
•
データ ベース プロ フ ァ イ ルを イ ン ポート およ びエク ス ポート し て、
接続パ ラ メ ー タ を共有す る
デー タ ベース プ ロ フ ァ イ ルの使い方については、第 11 章 「デー タ ベー
ス接続の管理」 を参照 し て く だ さ い。
デー タ ベース プ ロ フ ァ イルの作成について
PowerBuilder でデー タ ベー ス プ ロ フ ァ イ ルを作成す る 際には、 DB プ
ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス と イ ン タ フ ェ ース固有の DB プ ロ フ ァ
イ ル設定 ダ イ ア ロ グ ボ ッ ク ス と い う 2 つのダ イ ア ロ グボ ッ ク ス を設定
し ます。
デー タ ベース ペ イ ン タ を使用 し たデー タ ベース プ ロ フ ァ イルの作成
デー タ ベース プ ロ フ ァ イ ルは、デー タ ベース ペ イ ン タ のオブジ ェ ク ト
ビ ュ ーか ら 作成す る こ と も で き ます。
8
PowerBuilder
第1章
DB プ ロ フ ァ イル ダ イ
ア ログボ ッ ク ス
デー タ ベース と の接続について
DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス では、 イ ン ス ト ール済みのデー
タ ベー ス イ ン タ フ ェ ー ス お よ び定義済みデー タ ベー ス プ ロ フ ァ イ ル
が、 ナビ ゲー ト し やすい ツ リ ー形式で表示 さ れます。 デー タ ベース プ
ロ フ ァ イ ルの作成、 編集、 お よ び削除は、 こ のダ イ ア ロ グ ボ ッ ク ス で
行い ます。
PowerBuilder セ ッ ト ア ッ プ プ ロ グ ラ ム を実行す る と 、
HKEY_LOCAL_MACHINE レ ジ ス ト リ キーの PowerBuilder® セ ク シ ョ
ン の Vendors リ ス ト が更新 さ れ、 イ ン ス ト ールす る イ ン タ フ ェース が
追加 さ れ ます。 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス には、 Vendors
リ ス ト に入っ てい る イ ン タ フ ェース が表示 さ れます。
Vendors リ ス ト の格納場所
PowerBuilder と InfoMaker® は HKEY_LOCAL_MACHINE\SOFTWARE
の Sybase\PowerBuilder\11.0\Vendors キーを使用 し ます。
DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス を使用 し てデー タ ベース に接続
し た り プ ロ フ ァ イ ルを管理 し た り す る 方法については、 第 11 章 「デー
タ ベース接続の管理」 を参照 し て く だ さ い。
デー タ ベース と の接続
9
デー タ ベース プ ロ フ ァ イルの使い方
DB プ ロ フ ァ イル設定
ダ イ ア ログボ ッ ク ス
各デー タ ベース イ ン タ フ ェ ース には、 それぞれ独自の DB プ ロ フ ァ イ
ル設定 ダ イ ア ロ グ ボ ッ ク ス が あ り 、 イ ン タ フ ェ ー ス 固有の接続パ ラ
メ ー タ を設定で き ます。 た と えば、 Adaptive Server® Enterprise ASE イ
ン タ フ ェ ース を イ ン ス ト ール し 、 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク
ス でそれを選択 し て [新規作成] を ク リ ッ ク す る と 、 DB プ ロ フ ァ イ ル
設定 - Adaptive Server Enterprise ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 こ の
イ ン タ フ ェ ース に適用す る 接続オプシ ョ ンの設定が示 さ れ ます。
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス では、 関連す る 接続パ ラ
メ ー タ が同 じ タ ブ ページ に グ ループ化 さ れ、 チ ェ ッ ク ボ ッ ク ス、 ド
ロ ッ プダ ウ ン リ ス ト 、 お よ びテ キ ス ト ボ ッ ク ス を使 う こ と で値が設定
し やす く な っ てい ます。 基本 (必須) 接続パ ラ メ ー タ は、 [接続] タ ブ
上で設定 し 、 追加接続オプシ ョ ン (DBParm パ ラ メ ー タ と SQLCA プ ロ
パテ ィ ) はほかの タ ブ ページで設定 し ます。
PowerBuilder の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス を設定す る
と 、 選択 し た オ プ シ ョ ン に合わせて正 し い PowerScript® 接続構文が
[プ レ ビ ュ ー] タ ブ上に生成 さ れ ます。 [プ レ ビ ュ ー] タ ブに表示 さ れ
た構文 を PowerBuilder ア プ リ ケ ーシ ョ ン の ス ク リ プ ト に コ ピ ー し ま
す。
10
PowerBuilder
第1章
DB プ ロ フ ァ イル設定
ダ イ ア ログボ ッ ク スの
値の指定
デー タ ベース と の接続について
デー タ ベース イ ン タ フ ェース に よ っ ては、 DB プ ロ フ ァ イ ル設定 ダ イ
ア ロ グ ボ ッ ク ス のすべて の ボ ッ ク ス に値 を 入力す る 必要は あ り ま せ
ん。 プ ロ フ ァ イ ル名だけ を入力 し て [OK] ボ タ ン を ク リ ッ ク す る と 、
デー タ ベー ス への接続の際に、 PowerBuilder は必要な追加情報を求め
る ダ イ ア ロ グボ ッ ク ス を順番に表示 し ます。
こ の接続情報には次の内容があ り ます。
ユーザ ID ま たは ロ グ イ ン ID
パ ス ワ ー ド ま たは ロ グ イ ン パ ス ワー ド
デー タ ベース名
サーバ名
データ ベース によ っ ては、プロ フ ァ イ ル名の指定だけでは、PowerBuilder
が接続に必要な追加情報を判断で き ない場合があ り ます。 その よ う な
デー タ ベース イ ン タ フ ェース の場合は、 DB プ ロ フ ァ イ ル設定 ダ イ ア
ロ グボ ッ ク ス に表示 さ れ る ボ ッ ク ス に、 適切な値を入力 し ます。
使用す る 接続に対 し て入力が必要な値についての詳細は、 使用す る イ
ン タ フ ェース の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス で[ヘルプ]
ボ タ ン を ク リ ッ ク し て参照 し て く だ さ い。
デー タ ベース プ ロ フ ァ イルの作成
デー タ ベー ス イ ン タ フ ェ ー ス の新 し いデー タ ベー ス プ ロ フ ァ イ ル を
作成す る には、 デー タ ベー ス 接続に使用す る イ ン タ フ ェ ー ス 用に DB
プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス を設定 し なければな り ません。
❖
データ ベース イ ン タ フ ェ ースに対応する データ ベース プロ フ ァ イ ルを 作成する
1
パ ワーバーの [DB プ ロ フ ァ イ ル] ボ タ ン を ク リ ッ ク し ます。
DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス が開 き 、 イ ン ス ト ール済み
のデー タ ベース イ ン タ フ ェ ース が一覧表示 さ れ ます。 特定の イ ン
タ フ ェ ース 用に定義 さ れてい る デー タ ベース プ ロ フ ァ イ ルを表示
す る には、 イ ン タ フ ェース名の左の正符号 (+) を ク リ ッ ク す る か、
イ ン タ フ ェース名を ダブル ク リ ッ ク し て リ ス ト を展開 し ます。
2
イ ン タ フ ェ ー ス 名を選択 し て [新規作成] ボ タ ン を ク リ ッ ク し ま
す。
選択 し た イ ン タ フ ェ ー ス 用の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ
ボ ッ ク ス が表示 さ れ ます。 た と えば、 SYC イ ン タ フ ェ ース を選択
し た場合、 表示 さ れ る ダ イ ア ロ グ ボ ッ ク ス は DB プ ロ フ ァ イ ル設
定 - Adaptive Server Enterprise ダ イ ア ロ グボ ッ ク ス です。
デー タ ベース と の接続
11
デー タ ベース プ ロ フ ァ イルの使い方
ク ラ イ ア ン ト ソ フ ト ウ ェ アおよび イ ン タ フ ェ ースのイ ン ス ト ールが必要
イ ン タ フ ェ ース用の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス を
表示す る には、 必要な ク ラ イ ア ン ト ソ フ ト ウ ェ アお よ びネ イ テ ィ
ブ デー タ ベース イ ン タ フ ェ ース が適切に イ ン ス ト ール さ れ、 正 し
く 設定 さ れていなければな り ません。 使用す る デー タ ベース イ ン
タ フ ェ ー ス に固有の操作については、 それぞれの イ ン タ フ ェ ー ス
の章を参照 し て く だ さ い。
3
[接続] タ ブで、 プ ロ フ ァ イ ル名を入力 し 、 使用す る イ ン タ フ ェ ー
ス で接続に必要な基本パ ラ メ ー タ の値を指定 し ます。
イ ン タ フ ェ ー ス の基本接続パ ラ メ ー タ お よ び指定す る 値について
の詳細は、 [ヘルプ] ボ タ ン を ク リ ッ ク し て参照 し て く だ さ い。
DBMS 識別名について
デー タ ベー ス プ ロ フ ァ イ ルに DBMS 識別子 を 指定す る 必要は あ
り ません。 イ ン ス ト ール済みのデー タ ベース イ ン タ フ ェ ース のプ
ロ フ ァ イ ルを新規作成す る と 、PowerBuilder に よ っ て正 し い DBMS
接続構文が自動的に生成 さ れ ます。
4
(オプシ ョ ン) ほかの タ ブ ページで、追加接続オプシ ョ ン (DBParm
パ ラ メ ー タ お よ び SQLCA プ ロ パテ ィ ) の値を指定 し ます。 こ れ ら
のオプシ ョ ン を設定す る と 、 イ ン タ フ ェ ー ス がサポー ト し てい る
DBMS 固有の機能を最大限に活かす こ と がで き ます。
イ ン タ フ ェ ー ス の追加接続パ ラ メ ー タ お よ び指定す る 値について
の詳細は、 [ヘルプ] ボ タ ン を ク リ ッ ク し て参照 し て く だ さ い。
5
(オプシ ョ ン) 選択 し たオプシ ョ ンに合わせて PowerBuilder に よ っ
て 生 成 さ れ た PowerScript 接 続 構 文 を 表 示 す る 場 合 は、 [プ レ
ビ ュ ー] タ ブ を ク リ ッ ク し ます。
[プ レ ビ ュ ー] タ ブ に 表 示 さ れ て い る PowerScript 接 続 構 文 は、
PowerBuilder ア プ リ ケーシ ョ ン の ス ク リ プ ト に直接 コ ピ ーす る こ
と がで き ます。
PowerBuilder アプ リ ケーシ ョ ンか ら 接続す る ために [プ レ ビ ュ ー]
タ ブ を利用す る 手順については、 『アプ リ ケーシ ョ ン テ ク ニ ッ ク 』
マニ ュ アルの ト ラ ンザ ク シ ョ ン オブジ ェ ク ト の使用方法について
説明 し てい る 節を参照 し て く だ さ い。
12
PowerBuilder
第1章
6
デー タ ベース と の接続について
[OK] ボ タ ン を ク リ ッ ク し て変更を保存 し 、 DB プ ロ フ ァ イ ル設定
ダ イ ア ロ グ ボ ッ ク ス を閉 じ ま す。 ダ イ ア ロ グ ボ ッ ク ス を閉 じ ない
で特定の タ ブ ページ の変更 を保存す る には、 [更新] ボ タ ン を ク
リ ッ ク し ます。
DB プロ フ ァ イ ル ダイ アロ グ ボッ ク ス が表示さ れ、 該当する イ ン タ
フ ェース名の下に新 し いプ ロ フ ァ イ ル名がハ イ ラ イ ト 表示 さ れ ま
す。 デー タ ベース プ ロ フ ァ イ ルの値は
HKEY_CURRENT_USER\Software\Sybase\PowerBuilder\11.0\Data
baseProfiles\PowerBuilder 内のシス テム レ ジス ト リ に保存さ れま す。
レ ジ ス ト リ の項目を参照 し た り 、 164 ページの 「デー タ ベー ス プ
ロ フ ァ イ ルの イ ン ポー ト と エ ク ス ポー ト 」 に記載 さ れてい る プ ロ
フ ァ イ ルのエ ク ス ポー ト を行っ た り し て、 変更 し た文字列を確認
す る こ と が で き ま す。 デ フ ォ ル ト では、 NewLogic パ ラ メ ー タ は
True に設定 さ れます。 こ の設定は、パ ス ワー ド を Unicode エ ン コ ー
デ ィ ン グで暗号化す る こ と を指定 し てい ます。
次のス テ ッ プ
ODBC デー タ ソ ース を使用す る ための準備や定義については、 第 2 章
「ODBC イ ン タ フ ェ ース」 を参照 し て く だ さ い。
JDBC デー タ ベー ス イ ン タ フ ェ ース を使用す る ための準備や定義につ
いては、 第 3 章 「JDBC イ ン タ フ ェース」 を参照 し て く だ さ い。
OLE DB デー タ プ ロ バ イ ダ を使用す る ための準備や定義については、
第 4 章 「OLE DB イ ン タ フ ェース」 を参照 し て く だ さ い。
ADO.NET デー タ プ ロ バ イ ダ を 使用す る た め の準備や定義につい て
は、 第 5 章 「ADO.NET イ ン タ フ ェ ース」 を参照 し て く だ さ い。
ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を使用す る ための準備や定
義については、 第 6 章 「ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ース の使
い方」 を参照 し て く だ さ い。
デー タ ベース と の接続
13
次のス テ ッ プ
14
PowerBuilder
第
2
部
標準データ ベース イ ン タ
フ ェ ースの使い方
第 2 部では、標準デー タ ベース イ ン タ フ ェ ース を使用 し て
ア ク セ スするデー タ ベース接続を セ ッ ト ア ッ プお よび定義
する方法について説明 し ます。
第 2 章
ODBC イ ン タ フ ェ ース
こ の章について
こ の章では、 ODBC イ ン タ フ ェ ー ス の概要について説明 し 、 デー
タ ソ ー ス を 使用す る ための準備、 デー タ ソ ー ス の定義、 お よ び
ODBC デー タ ソ ー ス プ ロ フ ァ イ ルの定義の し か たについ て解説
し ます。 ま た、 Sybase SQL Anywhere ODBC ド ラ イ バの使い方につ
いて も 解説 し ます。
内容
詳細について
デー タ ベース と の接続
項目
ODBC イ ン タ フ ェース について
ODBC デー タ ソ ース の準備
ODBC デー タ ソ ース の定義
ODBC イ ン タ フ ェース の定義
Sybase SQL Anywhere
ページ
18
26
27
32
32
こ の章では、各 ODBC デー タ ソ ース を使用す る ための準備 と 定義
に関す る 一般的な内容について説明 し ま す。 詳細については、 以
下を参照 し て く だ さ い。
•
31 ページの 「ODBC ド ラ イ バに関す る オ ン ラ イ ンヘルプの表
示」 で説明 さ れてい る よ う に、 ODBC ド ラ イ バの各ベン ダが提
供す る オ ン ラ イ ン ヘルプ を使用 し て く だ さ い。 こ のヘルプに
はデー タ ソ ース を使用す る 上での重要な内容が含ま れてい ま
す。
•
ODBC デー タ ソ ース に接続す る 方法を解説 し たテ ク ニ カル ド
キ ュ メ ン ト があ る か ど う か を確認 し て く だ さ い。
接続に関す る 新 し い情報は、 Sybase サポー ト と ダウ ン ロー ド のサ
イ ト http://www.sybase.com/support か ら 入手で き ます。
17
ODBC イ ン タ フ ェ ースについて
ODBC イ ン タ フ ェ ースについて
PowerBuilder では、 さ ま ざ ま な ODBC デー タ ソ ース にア ク セ ス で き ま
す。 こ の節では、 ODBC イ ン タ フ ェース を使用 し て PowerBuilder か ら
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 デー タ ソ ース
へのア ク セス
PowerBuilder の よ う に ODBC イ ン タ フ ェ ース を備え た アプ リ ケーシ ョ
ンは、 ODBC ド ラ イ バをサポー ト す る デー タ ソ ース にア ク セ ス で き ま
す。 ODBC デー タ ソ ー ス ド ラ イ バは、 ODBC 関数が実装 さ れた ダ イ
ナ ミ ッ ク リ ン ク ラ イ ブ ラ リ (DLL) です。 アプ リ ケーシ ョ ンは、 特定
のデー タ ソ ース にア ク セ スす る ために、そのデー タ ソ ース に対応す る
ODBC ド ラ イ バを起動 し ます。
Unicode デー タ へのア
ク セス
PowerBuilder は、 ODBC イ ン タ フ ェース を使用 し て、 ANSI/DBCS お よ
び Unicode の両方のデー タ ベー ス のデー タ に接続、 保存、 検索す る こ
と がで き ますが、 Unicode と ANSI/DBCS 間でのデー タ 変換を行い ませ
ん。 文字デー タ ま たは コ マ ン ド テ キ ス ト がデー タ ベース に送信 さ れ る
と 、 PowerBuilder は Unicode 文字列 を 送信 し ま す。 デー タ が 正 し く
Unicode デー タ と し て保存 さ れ る こ と を ド ラ イ バが保証す る 必要が あ
り ます。 PowerBuilder は文字デー タ を検索す る と き 、 デー タ は Unicode
であ る と 仮定 し ます。
18
PowerBuilder
第2章
ODBC イ ン タ フ ェ ース
Unicode データ ベース は、 文字セッ ト が Unicode 形式 (UTF-8、 UTF-16、
UCS-2、 UCS-4 な ど) に設定 さ れ る デー タ ベース の こ と です。 すべての
デー タ は、 Unicode 形式でなければな ら ず、 デー タ ベース に保存 さ れ る
デー タ は、 暗黙的に ま たは明示的に Unicode デー タ に変換 さ れな けれ
ばな り ません。
文字セ ッ ト と し て ANSI (ま たは DBCS) を使用す る デー タ ベー ス は、
Unicode デー タ を格納す る 特殊なデー タ 型を使用す る こ と があ り ます。
こ れ ら のデー タ 型を持つカ ラ ムは、 Unicode デー タ だけです。 その よ う
な カ ラ ム に保存 さ れ る デー タ は、 明示的に Unicode に変換 さ れ る 必要
があ り ます。 こ の変換はデー タ ベース サーバ ま たは ク ラ イ ア ン ト が処
理す る 必要があ り ます。
PowerBuilder での ODBC の使い方
実行で き る作業
PowerBuilder では以下の ODBC 接続機能を使用で き ます。
•
SQL Anywhere ODBC ド ラ イ バお よ び ODBC イ ン タ フ ェ ース を使
用 し て、 SQL Anywhere ス タ ン ド ア ロ ン デー タ ベース (EAS Demo
DB を含む) に接続す る
•
ロ ーカルな SQL Anywhere デー タ ベース を作成お よ び削除す る
詳 し い手順については、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照 し
て く だ さ い。
•
PowerBuilder Desktop を除 く エデ ィ シ ョ ン で Sybase 社以外のベン
ダか ら 入手 し た レベル 1 以上の ODBC 準拠の ド ラ イ バを使用 し て
デー タ にア ク セ スす る
25 ページの 「ODBC ド ラ イ バの入手」 を参照 し て く だ さ い。
•
Microsoft の ODBC デー タ ソ ース ア ド ミ ニ ス ト レー タ を使用 し て
ODBC デー タ ソ ース を定義す る
27 ページの 「ODBC デー タ ソ ース の定義」 を参照 し て く だ さ い。
ODBC 接続の コ ンポーネ ン ト
ODBC の接続方法
デー タ ベース と の接続
PowerBuilder か ら ODBC デー タ ソ ー ス に ア ク セ ス す る 場合、 デー タ
ソ ー ス に到達す る ま でにい く つかの レ イ ヤ を経由 し ます。 それぞれの
レ イ ヤは、 接続におけ る 独立 し た コ ン ポーネ ン ト で あ り 、 コ ン ポーネ
ン ト ご と に提供 し てい る ベン ダが違 う 可能性があ り ます。
19
ODBC イ ン タ フ ェ ースについて
ODBC は標準 API で あ る た め、 PowerBuilder で は ど の よ う な ODBC
デー タ ソ ー ス の ア ク セ ス に も 、 共通の イ ン タ フ ェ ー ス が使用 さ れ ま
す。 ド ラ イ バが ODBC に準拠 し ていれば、 PowerBuilder で ODBC ド ラ
イ バ マネージ ャ に対す る ODBC イ ン タ フ ェ ース を経由 し て、その ド ラ
イ バにア ク セ ス で き ます。 開発環境 と ODBC イ ン タ フ ェ ース は、 アプ
リ ケーシ ョ ン コ ン ポーネ ン ト と し て、 一緒に動作 し ます。
図 2-1 では、 ODBC 接続の一般的な コ ン ポーネ ン ト を示 し ます。
図 2-1: ODBC 接続のコ ンポーネ ン ト
コ ンポーネ ン ト の説明
20
表 2-1 に、 図に示 さ れた各 ODBC コ ン ポーネ ン ト の提供元 と その概要
を示 し ます。
PowerBuilder
第2章
ODBC イ ン タ フ ェ ース
表 2-1: ODBC 接続コ ンポーネ ン ト の提供元 と 動作
コ ンポーネ ン ト
アプ リ ケーシ ョ ン
提供元
Sybase 社
ODBC ド ラ イ バ
マネージ ャ
Microsoft 社
ド ラ イバ
ド ラ イ バ ベン ダ
デー タ ソ ース
DBMS ま たは
デー タ ベース ベ
ンダ
動作内容
ODBC 関数を呼び出 し 、 SQL 文の発
行、 カ タ ロ グ 情 報 の 要 求、 デ ー タ
ソ ース が返す結果な ど を取得す る
PowerBuilder では、 ど の ODBC デー
タ ソ ー ス に対 し て も 共通の ODBC
イ ン タ フ ェース が使用 さ れ る
アプ リ ケーシ ョ ン のために、 ド ラ イ
バの イ ン ス ト ール、ロ ー ド 、ア ン ロ ー
ド をす る
ODBC 関数の 呼び出し を 処理し 、
SQL リ ク エス ト を 特定のデータ ソ ー
ス へ発行し 、 ア プリ ケ ーシ ョ ン にそ
の結果を 返す
必要に応 じ 、 アプ リ ケーシ ョ ン が発
行 し た リ ク エ ス ト は、 バ ッ ク エ ン ド
デー タ ベー ス が サ ポ ー ト す る SQL
構文に変換 さ れ る (詳細については、
次の 「ODBC ド ラ イ バの種類」 を参
照)
アプ リ ケーシ ョ ン のためにデー タ の
保管や管理 を す る 。 デー タ ソ ー ス
は、 ア ク セ ス す る デー タ 、 デー タ を
管理 し てい る DBMS、 オペレーテ ィ
ン グ シ ス テ ムのほか、 場合に よ っ て
は、 DBMS に ア ク セ ス す る た め の
ネ ッ ト ワー ク ソ フ ト ウ ェ アか ら構
成される
ODBC ド ラ イバの種類
PowerBuilder か ら ODBC デー タ ソ ース に接続す る と 、 ODBC ド ラ イ バ
か ら 、 単一層 (single-tier) ま たは複数層 (multiple-tier) と い う 単語を
含む メ ッ セージが表示 さ れます。 こ れ ら の用語は ODBC 標準で定義 さ
れた も ので、 以下の 2 種類の ド ラ イ バを意味 し てい ます。
単一層 ド ラ イバ
デー タ ベース と の接続
単一層 ODBC ド ラ イ バでは、 ODBC 関数 と SQL 文の両方が処理 さ れ
ます。 つま り 、 単一層 ド ラ イ バには、 デー タ ソ ース フ ァ イ ル と カ タ ロ
グ テーブルを管理す る ために必要なデー タ ア ク セ ス ソ フ ト ウ ェ アが
含まれてい ます。 Microsoft Access ド ラ イ バが、 単一層 ODBC ド ラ イ バ
の例です。
21
ODBC イ ン タ フ ェ ースについて
図 2-2: 単一層 ODBC ド ラ イバ
複数層 ド ラ イバ
複数層 ODBC ド ラ イ バでは、 ODBC 関数が処理 さ れ ますが、 処理に当
た っ ては、 SQL 文がデー タ ベース エ ン ジ ンに送 ら れます。 単一層 ド ラ
イ バ と は異な り 、 複数層 ド ラ イ バには、 直接デー タ を管理す る ための
デー タ ア ク セ ス ソ フ ト ウ ェ アが含まれません。
Sybase SQL Anywhere ド ラ イ バが、 複数層 ODBC ド ラ イ バの例です。
22
PowerBuilder
第2章
ODBC イ ン タ フ ェ ース
図 2-3: 複数層 ODBC ド ラ イバ
ODBC ド ラ イバの合致レ ベル
PowerBuilder Enterprise を使用す る 場合、DBMS ベン ダ な ど Sybase 以外
か ら 入手 し た ODBC ド ラ イ バを使用 し て、デー タ にア ク セ ス で き ます。
ほかのベン ダか ら ODBC ド ラ イ バを入手 し た場合は、 あ る 特定の適合
条件 (合致 レ ベル) を満た さ ない と 、 PowerBuilder で正 し く 動作 し ま
せん。 こ の節では、 入手 し た ド ラ イ バが こ れ ら の条件を満た し てい る
か ど う か を確認す る 方法について解説 し ます。
ODBC 合致レ ベル と は ?
PowerBuilder で は、 ODBC に準拠 し た ド ラ イ バ を 備 え た さ ま ざ ま な
デー タ ソ ース にア ク セ ス で き ます。し か し ODBC ド ラ イ バはそれぞれ
異な る ベン ダが提供 し てお り 、 ド ラ イ バに よ っ てサポー ト し てい る 機
能が大 き く 違っ てい る こ と があ り ます。
デー タ ベース と の接続
23
ODBC イ ン タ フ ェ ースについて
ODBC イ ン タ フ ェ ース の標準的な準拠レベルを明確に し 、 ま た、 アプ
リ ケーシ ョ ン ベン ダ側では、 必要 と す る 機能が ド ラ イ バか ら 提供 さ れ
てい る か ど う か を判断で き る よ う にす る ために、 ODBC は、 以下の 2
つの領域で、 ODBC ド ラ イ バの合致レベルを定義 し てい ます。
•
ODBC API
サ ポー ト し て い る ODBC 関数呼び出 し につい て定義
し ます。
•
ODBC SQL 文法
サポー ト し てい る SQL 文や SQL デー タ 型につい
て定義 し ます。
API 合致レ ベル
ODBC では、 機能の多 さ に応 じ て API 合致レベルが 3 種類定義 さ れて
い ます。
❖
•
コ ア ISO Call Level Interface (CLI) と X/Open CLI 仕様に対応す る
一連の機能を実現す る コ ア API のセ ッ ト です。
•
レ ベル 1 コ ア API 機能に、 OLTP リ レーシ ョ ナル DBMS で通常使
用可能ない く つかの拡張機能が追加 さ れてい ます。
•
レ ベル 2 コ ア API やレベル 1 API の機能に、 い く つかの拡張機能
が追加 さ れてい ます。
適切な ODBC ド ラ イバ API 合致レ ベル
•
PowerBuilder では、 レベル 1 以上の API 合致レベルを満た し てい
る ODBC ド ラ イ バ を 使 用 す る こ と を お 勧 め し ま す。 た だ し 、
PowerBuilder では、 コ ア API 合致 レ ベル を満た し てい る ド ラ イ バ
も 動作 し ます。
ODBC では、機能の多 さ に応 じ て SQL 文法の合致レベルが 3 種類定義
さ れてい ます。
SQL 合致レ ベル
•
最小 SQL 文法 ODBC の基本合致レベルを満たす SQL 文 と デー タ
型のセ ッ ト です。
❖
•
コ ア SQL 文法 最小 SQL 文法に、X/Open と SAG CAE 仕様 (1992)
にほぼ対応す る デー タ 型 と ス テー ト メ ン ト が追加 さ れてい ます。
•
拡張 SQL 文法 最小 SQL 文法や コ ア SQL 文法に、DBMS 共通の拡
張 SQL をサポー ト す る デー タ 型 と ス テー ト メ ン ト が追加 さ れてい
ます。
適切な ODBC ド ラ イバ SQL 合致レ ベルは
•
24
PowerBuilder では、 コ ア SQL 文法以上の SQL 合致レベルを満た し
て い る ODBC ド ラ イ バ を 使用す る こ と を お勧め し ま す。 ま た、
PowerBuilder では最小 SQL 文法の SQL 合致レベルを満た し てい る
ド ラ イ バ も 動作 し ます。
PowerBuilder
第2章
ODBC イ ン タ フ ェ ース
ODBC ド ラ イバの入手
PowerBuilder と 一緒に提供 さ れ る Sybase の SQL Anywhere® Developer
Edition の ODBC ド ラ イ バを使用 し て、デー タ にア ク セ スす る こ と がで
き ます。
PowerBuilder Enterprise では、Sybase 以外のベン ダか ら 入手 し た Level 1
以上の ODBC 準拠の ド ラ イ バを使用 し てデー タ にア ク セ スす る こ と も
で き ます。 ほ と ん ど の場合、 こ れ ら の ド ラ イ バは PowerBuilder で動作
し ます。
PowerBuilder Desktop 付属の ODBC ド ラ イバの使い方
既存の Microsoft
ODBC ド ラ イバの使
い方
以下に示す Microsoft ODBC ド ラ イ バのバージ ョ ン 2.0 以上 を イ ン ス
ト ール し て設定すれば、こ れ ら の ド ラ イ バを PowerBuilder Desktop で使
用 し て、 デー タ ソ ース に接続す る こ と がで き ます。
Microsoft Access (*.MDB)
Microsoft Btrieve (*.DDF)
Microsoft dBASE (*.DBF)
Microsoft Excel (*.XLS)
Microsoft FoxPro (*.DBF)
Microsoft Paradox (*.DB)
Microsoft Text (*.CSV, *.TXT)
ODBC ド ラ イバに関するヘルプ情報を入手するには
PowerBuilder で使用す る ODBC ド ラ イ バに関す る 最新かつ正確な情報
を得 る には、 以下に示す方法でヘルプ情報を入手 し ます。
ヘルプの内容
ODBC デー タ ソ ース ア ド
ミ ニ ス ト レー タ
ド ラ イ バの ODBC 設定の
ダ イ ア ロ グ ボ ッ ク ス への
入力
SQL Anywhere の使い方
Sybase 社以外のベ ン ダ で
入手 し た ODBC ド ラ イ バ
デー タ ベース と の接続
操作
それぞれの タ ブの [ヘルプ] ボ タ ン を ク リ ッ ク
し ます。
ド ラ イ バの ODBC 設定の ダ イ ア ロ グ ボ ッ ク ス
で [ヘルプ] ボ タ ン (存在す る 場合) を ク リ ッ
ク し ます。
SQL Anywhere のマ ニ ュ アルを参照 し て く だ さ
い。
そ の ド ラ イ バについ て の マ ニ ュ ア ル を 参照 し
て く だ さ い。
25
ODBC デー タ ソ ースの準備
ヘルプの内容
操作
ODBC 接続に関す る ト ラ
ブルシ ュ ーテ ィ ン グ
ODBC デー タ ソ ー ス への接続方法 を 解説 し た
テ ク ニ カ ル ド キ ュ メ ン ト が あ る か ど う か確認
し て く だ さ い。
接続に関する 新し い情報は、 Sybase サポー ト と ダ
ウ ン ロ ー ド のサ イ ト http://www.sybase.com/support
か ら 取得で き ます。
ODBC デー タ ソ ースの準備
ODBC デー タ ソ ース に接続す る ためには、 まず、 使用す る デー タ ソ ー
ス を準備 し ま す。 デー タ ソ ー ス を準備す る こ と に よ り 、 PowerBuilder
か ら そのデー タ ソ ース に接続 し て、 デー タ が利用で き る よ う にな り ま
す。
PowerBuilder を起動 し 、 デー タ ソ ース を定義 し て接続す る 前に、
PowerBuilder の外部の環境でデー タ ソ ース を準備 し てお き ます。 各
デー タ ソ ース に よ っ て必要な条件は異な り ますが、 一般に、 デー タ
ソ ース を準備す る には以下の手順を実行 し ます。
❖
PowerBuilder で使用する ODBC デー タ ソ ース を準備する
1
データ ソ ース に接続する ためにネッ ト ワ ーク ソ フ ト ウ ェ ア が必要
な場合は、 こ れがサ イ ト と ク ラ イ ア ン ト マ シ ン に正 し く イ ン ス
ト ール さ れ、 設定 さ れてい る こ と を確認 し ます。
2
デー タ ベース ソ フ ト ウ ェ アが必要な場合は、 こ れが自分のマシ ン
と ネ ッ ト ワー ク サーバに正 し く イ ン ス ト ール さ れ、 設定 さ れてい
る こ と を確認 し ます。
3
必要なデータ フ ァ イ ルが自分のマシン と ネッ ト ワ ーク サーバにあ
る こ と を 確認し ま す。
4
ア ク セ スす る テーブル と カ ラ ムの名前が、 標準 SQL 命名規約に
従っ てい る こ と を確認 し ます。
テーブル と カ ラ ム の名前には、 ス ペー ス やデー タ ベー ス 固有の予
約語を使用 し ないで く だ さ い。 DBMS の大文字 と 小文字を区別す
る オプシ ョ ン に注意 し て く だ さ い。PowerBuilder か ら ア ク セ スす る
テーブルやカ ラ ム の名前は、 すべて大文字で設定す る のが最 も 適
切です。
5
26
デー タ ベー ス の必要に応 じ て、 ア ク セ ス す る テーブルに固有の イ
ンデ ッ ク ス を指定 し ます。
PowerBuilder
第2章
6
ODBC イ ン タ フ ェ ース
PowerBuilder のセ ッ ト ア ッ プ プ ロ グ ラ ム で、 以下を両方 と も イ ン
ス ト ール し ます。
•
目的のデー タ ソ ース にア ク セ スす る ODBC ド ラ イ バ
•
ODBC イ ン タ フ ェース
ODBC デー タ ソ ースの定義
ODBC デー タ ソ ース にア ク セ スす る ためには、そのデー タ ソ ース に対
応 し た ODBC ド ラ イ バが必要です。ODBC デー タ ソ ース を定義す る 際
には、 ODBC ド ラ イ バか ら デー タ ソ ース に接続す る ために必要な情報
を入力 し ます。 ODBC デー タ ソ ース の定義を、 デー タ ソ ース の設定ま
たは、 コ ン フ ィ グ レーシ ョ ン と 言 う こ と があ り ます。
使用す る デー タ ソ ー ス の準備を終え た ら 、 Microsoft の ODBC デー タ
ソ ー ス ア ド ミ ニ ス ト レ ー タ ユーテ ィ リ テ ィ を使用 し て、 そのデー タ
ソ ース を定義す る 必要があ り ます。 こ のユーテ ィ リ テ ィ は Windows の
コ ン ト ロ ール パネル ま たは PowerBuilder のデー タ ベー ス ペ イ ン タ か
ら ア ク セ ス で き ます。
こ の節の残 り の部分では、 PowerBuilder の開発環境か ら ODBC デー タ
ソ ース にア ク セ スす る ために必要な、 ODBC デー タ ソ ース を定義す る
方法について解説 し ます。
PowerBuilder がデー タ ソ ースへのア ク セスに必要な フ ァ イル
PowerBuilder か ら ODBC デー タ ソ ース にア ク セ スす る 場合、 ODBC イ
ン タ フ ェースや ODBC ド ラ イ バを操作 し て接続をす る ために、 複数の
初期設定フ ァ イ ル と レ ジ ス ト リ エ ン ト リ が必要にな り ます。
PBODB110 初期設定フ ァ イル
内容
デー タ ベース と の接続
PBODB110.INI は、 Sybase\Shared\PowerBuilder デ ィ レ ク ト リ に イ ン ス
ト ール さ れ ます。 PowerBuilder では、 ODBC API 呼び出 し でサポー ト
さ れて い ないバ ッ ク エ ン ド DBMS の拡張機能への ア ク セ ス を 管理す
る ために PBODB110.INI が使用 さ れ ます。 拡張機能の例には、 SQL 構
文や DBMS 固有の関数呼び出 し が挙げ ら れ ます。
27
ODBC デー タ ソ ースの定義
編集
通常、PBODB110.INI を編集す る 必要はあ り ません。 し か し 場合に よ っ
ては、 バ ッ ク エ ン ド DBMS の PBODB110.INI に関数を追加す る 必要が
あ り ます。
詳 し い手順については、 付録の 「PBODB110 初期設定フ ァ イ ルへの関
数の追加」 を参照 し て く だ さ い。
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 設定のダ イ ア ロ グ ボ ッ ク
ス のそのデー タ ソ ース に対 し て指定 さ れた値が記述 さ れてい ます。 こ
の値はデー タ ソ ース に よ っ て異な り ますが、 一般に以下の内容が格納
さ れ ます。
•
28
デー タ ベース
PowerBuilder
第2章
編集
•
ド ラ イバ
•
オプシ ョ ンの記述
•
DBMS 固有の接続パ ラ メ ー タ
ODBC イ ン タ フ ェ ース
接続情報を変更す る ために、 ODBC サブキーを直接編集す る 必要はあ
り ません。 その代わ り に、 ODBC デー タ ソ ース ア ド ミ ニ ス ト レー タ な
ど の、 ODBC デー タ ソ ース を定義 し 、 ODBC コ ン フ ィ グ レーシ ョ ン を
自動的に更新す る こ と を目的 と し て設計 さ れた ODBC 管理ツールを使
用 し ます。
デー タ ベース プ ロ フ ァ イル レ ジ ス ト リ エ ン ト リ
内容
全デー タ ソ ース のデー タ ベース プ ロ フ ァ イ ルは、
HKEY_CURRENT_USER\SOFTWARE\Sybase\PowerBuilder\11.0\Data
baseProfiles の レ ジ ス ト リ に格納 さ れてい ます。
編集
接続情報を変更す る ために、 プ ロ フ ァ イ ルを直接編集す る 必要はあ り
ません。 こ れ ら の フ ァ イ ルは、 PowerBuilder が ODBC デー タ ソ ース定
義の一部 と し てデー タ ベース プ ロ フ ァ イ ルを作成す る と き に、 自動的
に更新 さ れます。
PowerBuilder において、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の
プ ロ フ ァ イ ルを編集 し た り 、 DB 環境設定 ダ イ ア ロ グ ボ ッ ク ス に入力
し た り す る こ と に よ っ て、 レ ジ ス ト リ に格納 さ れ る ほ か の接続パ ラ
メ ー タ を指定す る こ と も で き ます (詳 し い手順については、 第 12 章
「接続パ ラ メ ー タ の追加設定」 を参照 し て く だ さ い)。
例
以下の例は、 EAS Demo DB デー タ ソ ース に対す る デー タ ベース プ ロ
フ ァ イ ルの一部を示 し てい ます。
DBMS=ODBC
DBParm=ConnectString='DSN=EAS Demo
DB;UID=dba;PWD=00c61737'
Prompt=0
こ の レ ジ ス ト リ エ ン ト リ の例で示 さ れて い る よ う に、 ODBC デー タ
ソ ース に対応す る デー タ ベース プ ロ フ ァ イ ルの中で、 最 も 重要な値は
以下の と お り です。
•
デー タ ベース と の接続
DBMS の値(ODBC)か ら 、デー タ ソ ースへの接続に ODBC
イ ン タ フ ェース を使用 し てい る こ と が示 さ れ ます。
DBMS
29
ODBC デー タ ソ ースの定義
•
DBParm ConnectString DBParm パ ラ メ ー タ の値は、 ODBC デー タ
ソ ー ス への接続 を コ ン ト ロ ール し ま す。 接続文字列に は、 DSN
(デー タ ソ ース名) の値を指定 し ます。 DSN の値に よ っ て接続 し た
いデー タ ソ ース が ODBC に指定 さ れ ます。デー タ ベース プ ロ フ ァ
イ ル を 選択 し てデー タ ソ ー ス に接続す る 場合、 ODBC に よ っ て
ODBC.INI レ ジ ス ト リ キーの中か ら 、 プ ロ フ ァ イ ルで指定 さ れた
デー タ ソ ース名に対応 し たサブキーが検索 さ れます。 次に、 サブ
キーの情報に基づいて、 必要な ラ イ ブ ラ リ が ロ ー ド さ れ、 デー タ
ソ ース に接続 さ れ ます。 接続文字列には、 接続に必要な UID (ユー
ザ ID) 値お よ び PWD (パ ス ワー ド ) 値を入れ る こ と も で き ます。
同一デー タ に対する複数のデー タ ソ ースの定義
PowerBuilder で ODBC デー タ ソ ース を定義す る と き には、 それぞれの
デー タ ソ ース名を固有に し ます。 し か し 、 デー タ ソ ース名が固有であ
れば、 同 じ デー タ にア ク セ スす る デー タ ソ ース を複数定義で き ます。
た と えば、 デー タ ソ ース は、 C:\SQL Anywhere\SALES.DB にあ る SQL
Anywhere デー タ ベース であ る と し ます。 アプ リ ケーシ ョ ン ご と に、 別
のパ ス ワー ド やユーザ ID な ど、こ のデー タ ベース にア ク セ スす る ため
の接続パ ラ メ ー タ を個別に指定 し ます。
ま た、使用する パス ワ ード と ユーザ ID がアプリ ケーショ ンごと に異なって
い る と し ます。こ の よ う な場合、同一のデー タ ベース (C:\SQL Anywhere
\SALES.DB) に対 し て Sales1 と Sales2 と い う 2 つの ODBC デー タ ソ ー
ス を定義 し て、 パ ス ワー ド と ユーザ ID を別々に指定 し ます。 ど ち ら か
のデー タ ソ ー ス 用に作成 し た プ ロ フ ァ イ ル を 使用 し てデー タ ソ ー ス
に接続すれば、 違 う 接続パ ラ メ ー タ を使用 し て同 じ デー タ にア ク セ ス
で き ます。
図 2-4: 2 つのデー タ ソ ース を使用 し てデー タ ベースにア ク セスする方法
30
PowerBuilder
第2章
ODBC イ ン タ フ ェ ース
ODBC ド ラ イバに関する オ ン ラ イ ンヘルプの表示
PowerBuilder の ODBC ド ラ イ バに関す る オ ン ラ イ ン ヘルプは、 ド ラ イ
バ ベン ダに よ っ て提供 さ れます。 ヘルプ情報の内容は以下の と お り で
す。
•
ODBC 設定のダ イ ア ロ グボ ッ ク ス に入力 し て、 デー タ ソ ース を定
義す る 方法
•
ODBC ド ラ イ バを定義 し てデー タ ソ ース にア ク セ スす る 方法
ODBC ド ラ イバに関するオ ン ラ イ ンヘルプ
ODBC ド ラ イ バの ODBC 設定のダ イ ア ロ グ ボ ッ ク ス か ら 以下の手順を
実行す る と 、 ベン ダ提供のオ ン ラ イ ン ヘルプ を表示で き ます。
❖
ODBC ド ラ イバに関するオ ン ラ イ ン ヘルプ を表示する
•
ド ラ イ バの ODBC 設定のダ イ ア ロ グボ ッ ク ス の [ヘルプ] ボ タ ン
を ク リ ッ ク し ます。
ODBC 設定の ダ イ ア ロ グ ボ ッ ク ス 内の各機能 を 説明す る ヘルプ
ウ ィ ン ド ウ が表示 さ れます。
ODBC ト ラ ン ス レー タ の選択
ODBC ト ラ ン ス レー
タ とは ?
一部の ODBC ド ラ イ バでは、 デー タ ソ ース を定義す る 際に、 ト ラ ン ス
レー タ を指定で き ます。 ODBC ト ラ ン ス レー タ は、 アプ リ ケーシ ョ ン
と デー タ ソ ース と の間で受け渡 さ れ る デー タ を変換す る DLL です。一
般に、デー タ を あ る 文字セ ッ ト か ら 別の文字セ ッ ト に変換す る ために、
ト ラ ン ス レー タ を使用 し ます。
必要な操作
以下の手順で、 ODBC ド ラ イ バの ト ラ ン ス レー タ を選択 し ます。
❖
ODBC ド ラ イバで使用する ト ラ ン ス レー タ を選択する
1
ド ラ イ バの ODBC 設定のダ イ ア ロ グボ ッ ク ス で、 ト ラ ン ス レー タ
の選択 ダ イ ア ロ グボ ッ ク ス を表示 し ます。
ト ラ ン ス レー タ の選択 ダ イ ア ロ グ ボ ッ ク ス を表示す る 方法は、 ド
ラ イ バ と Windows のプ ラ ッ ト フ ォ ーム に よ っ てそれぞれ異な り ま
す。 ド ラ イ バの ODBC 設定のダ イ ア ロ グ ボ ッ ク ス で [ヘルプ] ボ
タ ン を ク リ ッ ク し て、 ト ラ ン ス レー タ の選択 ダ イ ア ロ グボ ッ ク ス
を表示す る 手順を参照 し て く だ さ い。
デー タ ベース と の接続
31
ODBC イ ン タ フ ェ ースの定義
ト ラ ン ス レー タ の選択 ダ イ ア ロ グボ ッ ク ス に ど の ト ラ ン ス レー タ
が表示 さ れ る かは、 ODBCINST.INI レ ジ ス ト リ キーの値に よ っ て
決ま り ます。
2
[使用可能な ト ラ ン ス レー タ ] リ ス ト ボ ッ ク ス か ら 使用す る ト ラ ン
ス レー タ を選択 し ます。
ト ラ ン ス レー タ の選択 ダ イ ア ロ グボ ッ ク ス に関す る ヘルプが必要
な場合は、 [ヘルプ] ボ タ ン を ク リ ッ ク し ます。
3
[OK] ボ タ ン を ク リ ッ ク し ます。
ト ラ ン ス レー タ の選択 ダ イ ア ロ グ ボ ッ ク ス が閉 じ て、 ド ラ イ バが
変換処理を実行 し ます。
ODBC イ ン タ フ ェ ースの定義
ODBC イ ン タ フ ェ ー ス を使用す る 接続を定義す る には、 DB プ ロ フ ァ
イ ル設定 - ODBC ダ イ ア ロ グ ボ ッ ク ス で基本接続パ ラ メ ー タ な ど の値
を指定 し て、 デー タ ベー ス プ ロ フ ァ イ ルを作成す る 必要があ り ま す。
作成後は、 いつで も こ のプ ロ フ ァ イ ル を 選択 し て開発環境でデー タ
ソ ース に接続で き ます。
デー タ ベース プ ロ フ ァ イ ルの定義方法については、 8 ページの 「デー
タ ベース プ ロ フ ァ イ ルの使い方」 を参照 し て く だ さ い。
Sybase SQL Anywhere
こ の 節 で は、 Sybase SQL Anywhere ODBC ド ラ イ バ を 使用 し て SQL
Anywhere のデー タ ソ ー ス を作成お よ び定義 し 、 接続す る 方法につい
て解説 し ます。
名称の変更
SQL Anywhere デー タ ベース サーバは、 バージ ョ ン 6 か ら 9 ま で
Adaptive Server® Anywhere (ASA) と 呼ばれてい ま し た。
32
PowerBuilder
第2章
ODBC イ ン タ フ ェ ース
SQL Anywhere には、 パー ソ ナル デー タ ベース サーバ と ネ ッ ト ワー ク
デー タ ベース サーバの 2 つのデー タ ベース サーバが含まれてい ます。
Sybase SQL Anywhere の使い方については、 SQL Anywhere のマニ ュ ア
ルを参照 し て く だ さ い。
SQL Anywhere でサポー ト し ているバージ ョ ン
SQL Anywhere ODBC ド ラ イ バは、 以下の ソ フ ト ウ ェ ア で作成 さ れた
ロ ーカル デー タ ベー ス や リ モー ト デー タ ベー ス と の接続を サポー ト
し てい ます。
•
自分のマシ ン上で稼働 し てい る PowerBuilder
•
SQL Anywhere バージ ョ ン 10.x
•
ASA バージ ョ ン 9.x
•
ASA バージ ョ ン 8.x
•
ASA バージ ョ ン 7.x
•
ASA バージ ョ ン 6.x
•
SQL Anywhere バージ ョ ン 5.x
SQL Anywhere の基本ソ フ ト ウ ェ ア コ ンポーネ ン ト
図 2-5 は、 PowerBuilder か ら SQL Anywhere デー タ ソ ー ス に接続す る
ために必要な基本 ソ フ ト ウ ェ ア コ ン ポーネ ン ト を示 し てい ます。
デー タ ベース と の接続
33
Sybase SQL Anywhere
図 2-5: SQL Anywhere 接続のコ ンポーネ ン ト
SQL Anywhere デー タ ソ ース を使用する ための準備
PowerBuilder で SQL Anywhere デー タ ソ ース の定義 と 接続を行 う 前に、
以下の手順に従っ てデー タ ソ ース を準備 し ます。
❖
SQL Anywhere デー タ ソ ース を準備する
1
SQL Anywhere デー タ ソ ース のデー タ ベース フ ァ イ ルが存在す る
こ と を確認 し ま す。 デー タ ベー ス を新 し く 作成す る には、 以下の
操作を実行 し ます。
•
34
Create ASA Database ユーテ ィ リ テ ィ を起動 し ます。自分のマシ
ン上で PowerBuilder が稼働 し てい る 場合は、 デー タ ベース プ
ロ フ ァ イ ルの ODBC イ ン タ フ ェ ー ス の Utilities フ ォ ルダ ま た
はデー タ ベー ス ペ イ ン タ か ら こ のユーテ ィ リ テ ィ にア ク セ ス
で き ます。
PowerBuilder
第2章
ODBC イ ン タ フ ェ ース
こ の方法の場合、 自分のマシ ン上に ロ ーカルな SQL Anywhere
デー タ ベー ス が作成 さ れ、 その接続に対応す る デー タ ソ ー ス
定義やデー タ ベー ス プ ロ フ ァ イ ル も 作成 さ れ ま す (詳 し い手
順については、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照 し て く
だ さ い)。
•
2
ほかのユーザのマシ ン上で稼働 し てい る PowerBuilder を使用
し た り 、 PowerBuilder の外部の環境で SQL Anywhere を使用 し
た り す る な ど、 ほかの方法でデー タ ベース を作成 し ます (詳 し
い手順については、 SQL Anywhere のマニ ュ アルを参照 し て く
だ さ い)。
SQL Anywhere データ ベース に対し てロ グ フ ァ イ ルが存在する こ と
を確認 し ます。 デー タ ベース が損傷を受けて も 、 正常な ロ グ フ ァ
イ ルがあれば復旧可能です。
SQL Anywhere デー タ ベー ス の ロ グ フ ァ イ ルが存在 し な い場合、
SQL Anywhere デー タ ベース エ ン ジ ン で作成 さ れ ます。 し か し 、 ほ
かのマ シ ンやデ ィ レ ク ト リ か ら デー タ ベー ス を コ ピー ま たは移動
す る 場合は、 ロ グ フ ァ イ ル も 一緒に コ ピーま たは移動 し ます。
SQL Anywhere デー タ ソ ースの定義
ロ ーカルな SQL Anywhere デー タ ベース を作成す る と 、PowerBuilder に
よ っ て、デー タ ソ ース定義やデー タ ベース プ ロ フ ァ イ ルが自動的に作
成 さ れます。 し たが っ て、 ほかのマシ ン上の PowerBuilder で作成 さ れ
た SQL Anywhere デー タ ベー ス にア ク セ ス す る と き に限 り 、 以下の手
順で SQL Anywhere デー タ ソ ース を定義 し ます。
❖
デー タ ベース と の接続
SQL Anywhere ド ラ イバに対 し て SQL Anywhere デー タ ソ ース を定義する
1
DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス ま たはデー タ ベース ペ イ ン
タ の ODBC ユーテ ィ リ ィ の一覧か ら [Create ODBC Data Source] を
選択 し ます。
2
[ユーザーデー タ ソ ース] を選択 し て [次へ] ボ タ ン を ク リ ッ ク し
ます。
3
[デー タ ソ ース の新規作成] ページで、 SQL Anywhere ド ラ イ バを
選択 し て、 [完了] ボ タ ン を ク リ ッ ク し ます。
35
Sybase SQL Anywhere
SQL Anywhere の ODBC 設定 ダ イ ア ロ グボ ッ ク ス が表示 さ れます。
4
以下の値を指定す る 必要があ り ます。
•
[ODBC] タ ブのデー タ ・ ソ ース名
•
[ ロ グ イ ン] タ ブ ページのユーザ ID と パ ス ワ ー ド
•
[デー タ ベース] タ ブ ページのデー タ ベース ・ フ ァ イ ル
ダ イ ア ロ グ ボ ッ ク ス の フ ィ ール ド につい て の詳細 を 確認す る に
は、 [ヘルプ] ボ タ ン を ク リ ッ ク し ます。
5
(オプシ ョ ン) デー タ を あ る 文字セ ッ ト か ら 別の文字セ ッ ト に変換
す る ODBC ト ラ ン ス レー タ を選択す る には、 [ODBC] タ ブの [ ト
ラ ン ス レー タ を選択] ボ タ ン を ク リ ッ ク し ます。
31 ページの 「ODBC ト ラ ン ス レー タ の選択」 を参照 し て く だ さ い。
6
[開始行] 値の指定
36
[OK] ボ タ ン を ク リ ッ ク し て、 デー タ ソ ース定義を保存 し ます。
SQL Anywhere ODBC ド ラ イ バが、 PATH 変数お よ びデー タ ベース名の
設定値を使用 し て稼働 し てい る パー ソ ナル デー タ ベー ス サーバ ま た
はネ ッ ト ワ ー ク デー タ ベース サーバを見つけ る こ と がで き ない場合、
[開始行] フ ィ ール ド に指定 さ れて い る コ マ ン ド を 使用 し て、 デー タ
ベース サーバを起動 し ます。
PowerBuilder
第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 カ ラ
ムの作成
❖
PowerBuilder において SQL Anywhere テーブル内に Transact-SQL の特殊
な timestamp カ ラ ムを作成する
1
2
Transact-SQL の特殊な timestamp カ ラ ム と し て処理す る Timestamp
型のカ ラ ムに対 し て、 timestamp と い う 名前を設定 し ます。 以下の
いずれかの方法で操作 し ます。
•
ペ イ ン タ を使用す る 場合 - カ ラ ムの名前に timestamp を選択 し
ま す。 (詳 し い手順については、 『ユーザーズ ガ イ ド 』 マニ ュ
アルを参照 し て く だ さ い。)
•
SQL CREATE TABLE 文を使用す る 場合 - 詳細については、 次
の 「CREATE TABLE の例」 を参照 し て く だ さ い。
カ ラ ム のデフ ォ ル ト 値 と し て timestamp を指定 し ます。以下のいず
れかの方法で操作 し ます。
•
デー タ ベース と の接続
ペイ ンタ を使用する 場合 - カラ ムのデフォ ルト 値と し て timestamp
を選択 し ます。 (詳 し い手順については、 『ユーザーズ ガ イ ド 』
マニ ュ アルを参照 し て く だ さ い。)
37
Sybase SQL Anywhere
•
3
SQL CREATE TABLE 文を使用す る 場合 - 詳細については、 次の
「CREATE TABLE の例」 を参照 し て く だ さ い。
デー タ パ イ プ ラ イ ン ペ イ ン タ でテーブルを処理 し てい る 場合、 特
殊な timestamp カ ラ ムに対 し て、 ワ ー ク スペース の初期値カ ラ ム の
ド ロ ッ プダ ウ ン リ ス ト か ら 、 「デフ ォ ル ト 値」 を選択 し ます。
INSERT 文や UPDATE 文か ら 特殊な timestamp カ ラ ム を使用す る た
めには、 初期値 と し て 「デフ ォ ル ト 値」 を選択 し ます。
詳 し い手順については、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照 し
て く だ さ い。
以下に示す CREATE TABLE 文では、 employee_ID、 hours、 timestamp と
い う 3 つのカ ラ ム で構成 さ れ る timesheet と い う 名前の SQL Anywhere
テ ー ブ ル が作成 さ れ ま す。 な お、 employee_ID は Integer 型、 hours は
Decimal 型、timestamp は Timestamp 型でデフ ォ ル ト 値が timestamp です。
CREATE TABLE の例
CREATE TABLE timesheet (
employee_ID INTEGER,
hours DECIMAL,
timestamp TIMESTAMP default timestamp )
デ フ ォ ル ト の 動 作 を 変 更 す る 場 合、 timestamp と い う 名 前 の SQL
Anywhere カ ラ ム を、 Transact-SQL の特殊な timestamp カ ラ ム と し て処
理 し ない よ う に、 PowerBuilder に対 し て指定で き ます。
特殊 timestamp カ ラ
ムを使用 し ない場合
❖
timestamp と い う 名前のカ ラ ムを Transact-SQL の特殊な timestamp カ ラ
ム と し て処理 し ないよ う に、 PowerBuilder に対 し て指定する
•
PBODB110 初期設定フ ァ イ ルの [Sybase SQL Anywhere] セ ク シ ョ
ン を編集 し て、 SQLSrvrTSName の値を 'Yes' か ら 'No' に変更 し
ます。
初期設定 フ ァ イ ルに変更 を 加 え た 後、 変更 を 反映 さ せ る た め に
デー タ ベー ス に再接続す る 必要が あ り ま す。 付録の 「PBODB110
初期設定フ ァ イ ルへの関数の追加」 を参照 し て く だ さ い。
次のス テ ッ プ
ODBC デー タ ソ ース と の接続の手順については、 155 ページの 「デー
タ ベース と の接続」 を参照 し て く だ さ い。
38
PowerBuilder
第 3 章
JDBC イ ン タ フ ェ ース
こ の章について
こ の章では、 JDBC イ ン タ フ ェース の概要について説明 し 、 こ の イ
ン タ フ ェ ー ス を 使用す る た めの準備や JDBC デー タ ベー ス プ ロ
フ ァ イ ルの定義の し かたについて解説 し ます。
内容
詳細について
項目
JDBC イ ン タ フ ェース について
JDBC イ ン タ フ ェース を使用す る ための準備
JDBC イ ン タ フ ェース の定義
ページ
39
44
46
JDBC の詳細については、 Java Web のサイ ト
http://java.sun.com/products/jdbc を参照 し て く だ さ い。
JDBC イ ン タ フ ェ ースについて
PowerBuilder では、 JDBC を経由 し て さ ま ざ ま なデー タ ベース にア
ク セ ス で き ます。 こ の節では、 JDBC 接続を使用 し て PowerBuilder
か ら デー タ にア ク セ ス す る ために知っ てお く 必要があ る 情報につ
いて解説 し ます。
JDBC と は ?
JDBC API
デー タ ベース と の接続
Java Database Connectivity (JDBC) と は、 Java ア プ リ ケ ー シ ョ ン
が、 標 準 の デ ー タ ア ク セ ス 言 語 と し て SQL (Structured Query
Language) を サポー ト す る デー タ ベー ス にア ク セ ス す る ための標
準アプ リ ケーシ ョ ン プ ロ グ ラ ム用 イ ン タ フ ェース (API) です。
39
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 つのカ テ ゴ リ に分類
さ れ ます。 PowerBuilder は、 JDBC 準拠 ド ラ イ バが存在す る 任意のデー
タ ベース と の接続に使用で き る JDBC イ ン タ フ ェ ース を実装 し ます。
PowerBuilder JDB イ
ン タ フ ェ ース
Java 仮想マシ ン (JVM) は Java プ ロ グ ラ ムのバ イ ト コ ー ド を変換お よ
び実行す る のに必要です。 PowerBuilder JDB イ ン タ フ ェース は、 Sun の
Java Runtime Environment (JRE) バージ ョ ン 1.2 以上をサポー ト し てい
ます。
JDBC イ ン タ フ ェ ースの使い方
PowerBuilder では、 JDBC イ ン タ フ ェース を使用 し て、 以下の コ ン ポー
ネ ン ト やアプ リ ケーシ ョ ン を開発で き ます。
•
40
実行 し て い る Web ブ
ラ ウ ザ ま たはオペレーテ ィ ン グ シ ス テ ム内部で、 ク ラ イ ア ン ト が
すでに JVM を実行 し てい る 場合、 ODBC を使用す る 場合 と は異な
り 、JDBC イ ン タ フ ェ ース を使用 し てデー タ ベース にア ク セ スす る
のに、 ク ラ イ ア ン ト 側でのデー タ ベース ド ラ イ バの イ ン ス ト ール
や管理は必要あ り ません。
シ ン ク ラ イ ア ン ト /サーバ ア プ リ ケーシ ョ ン
PowerBuilder
第3章
•
JDBC イ ン タ フ ェ ース
デー タ ウ ィ ン ド ウ Web コ ン ト ロール ActiveX で使用 さ れるデー タ ウ ィ
ン ド ウ オブ ジ ェ ク ト JDBC イ ン タ フ ェ ー ス を 使用 し て も 、 ク ラ イ
ア ン ト 側でのデー タ ベース ド ラ イ バの イ ン ス ト ールは必要あ り ま
せん。 こ れは、 JDBC ド ラ イ バは CAB フ ァ イ ルで Web ActiveX と
と も にダ ウ ン ロ ー ド さ れ る ためです。
•
EAServer JDBC イ ンタ フ ェ ースを経由し てデータ ベースにアク セスする、
EAServer で配布 さ れる ト ラ ンザク シ ョ ン コ ンポーネ ン ト JDBC イ ン
タ フ ェ ー ス を使用す る と 、 PowerBuilder の ト ラ ン ザ ク シ ョ ン コ ン
ポーネ ン ト が別の コ ン ポーネ ン ト と 同 じ ト ラ ン ザ ク シ ョ ン を共有
で き ます。
JDBC 接続の コ ンポーネ ン ト
JDBC の接続方法
PowerBuilder か ら JDBC イ ン タ フ ェ ー ス を経由 し てデー タ ベー ス にア
ク セ ス す る 場合、 デー タ ベー ス に到達す る ま でにい く つかの レ イ ヤ を
経由 し ます。 それぞれの レ イ ヤは、 接続におけ る 独立 し た コ ン ポーネ
ン ト であ り 、 コ ン ポーネ ン ト ご と に提供 し てい る ベン ダが違 う 可能性
があ り ます。
JDBC は標準 API で あ る ため、 PowerBuilder は ど の よ う な JDBC 準拠
デー タ ベー ス ド ラ イ バへア ク セ ス す る 場合で も 共通の イ ン タ フ ェ ー
ス を使用 し ます。
図 3-1 では、 JDBC 接続の一般的な コ ン ポーネ ン ト を示 し ます。
デー タ ベース と の接続
41
JDBC イ ン タ フ ェ ースについて
図 3-1: JDBC 接続の コ ンポーネ ン ト
JDBC DLL
pbjdb110.dll は、 PowerBuilder が提供 し ます。 こ の DLL は、 Sun の Java
Runtime Environment (JRE) バージ ョ ン 1.2 以上で使用で き ます。
PowerBuilder Java
パ ッ ケージ
PowerBuilder には、小 さ な Java ク ラ ス のパ ッ ケージが含まれてい ます。
こ れ は、 ほ か の PowerBuilder イ ン タ フ ェ ー ス に あ る よ う な エ ラ ー
チ ェ ッ ク お よ び効率性の レベル (SQLException の捕捉) を JDBC イ ン
タ フ ェ ー ス に提供 し ま す。 こ のパ ッ ケージは、 pbjdbc12110.jar と い う
名前で Sybase\Shared\PowerBuilder に置かれてい ます。
Java 仮想マシ ン
Java 仮想マシ ン (JVM) は Java 開発 ソ フ ト ウ ェ アの コ ン ポーネ ン ト で
す。 PowerBuilder を イ ン ス ト ー ル す る と 、 Java Runtime Environment
(JRE) を 含 む Sun の Java Development Kit (JDK) が シ ス テ ム の
Sybase\Shared\PowerBuilder に イ ン ス ト ー ル さ れ ま す。 PowerBuilder
11.0 の場合、JDK 1.5 が イ ン ス ト ール さ れます。 こ のバージ ョ ン の JVM
は、 JDBC 接続のほか、 JVM が必要 と な る プ ロ セ ス を使用す る と 自動
的に起動 し 、 PowerBuilder のセ ッ シ ョ ン全体にわた っ て使用 さ れ ます。
ほかの JVM を使用す る 必要があ る 場合は、 44 ページの 「JDBC イ ン タ
フ ェ ース を使用す る ための準備」 を参照 し て く だ さ い。 JVM の起動方
法の詳細については、 『ア プ リ ケーシ ョ ン テ ク ニ ッ ク 』 マ ニ ュ アルの
アプ リ ケーシ ョ ンの配布について説明 し た章を参照 し て く だ さ い。
42
PowerBuilder
第3章
JDBC イ ン タ フ ェ ース
JDBC ド ラ イバ
JDBC イ ン タ フ ェ ー ス は、 Sybase jConnect™ for JDBC、 Oracle、 IBM
INFORMIX の JDBC ド ラ イ バな ど、 任意の JDBC 準拠 ド ラ イ バ と も 通
信で き ます。 こ れ ら の ド ラ イ バは、 Java のネ イ テ ィ ブ プ ロ ト コ ル ド ラ
イ バであ り 、 JDBC 呼び出 し をデー タ ベース がサポー ト す る SQL 構文
に変換 し ます。
Unicode デー タ へのア
ク セス
PowerBuilder は、 ODBC イ ン タ フ ェース を使用 し て、 ANSI/DBCS お よ
び Unicode の両方のデー タ ベー ス のデー タ に接続、 保存、 検索す る こ
と がで き ますが、 Unicode と ANSI/DBCS 間でのデー タ 変換は行い ませ
ん。 文字デー タ ま たは コ マ ン ド テ キ ス ト がデー タ ベース に送信 さ れ る
と 、 PowerBuilder は Unicode 文字列 を 送信 し ま す。 デー タ が 正 し く
Unicode デー タ と し て保存 さ れ る こ と を ド ラ イ バが保証す る 必要が あ
り ます。 PowerBuilder は文字デー タ を検索す る と き 、 デー タ は Unicode
であ る と 仮定 し ます。
Unicode データ ベース は、 文字セッ ト が Unicode 形式 (UTF-8、 UTF-16、
UCS-2、 UCS-4 な ど) に設定 さ れ る デー タ ベース の こ と です。 すべての
デー タ は、 Unicode 形式でなければな ら ず、 デー タ ベース に保存 さ れ る
デー タ は、 暗黙的に ま たは明示的に Unicode デー タ に変換 さ れな けれ
ばな り ません。
文字セ ッ ト と し て ANSI (ま たは DBCS) を使用す る デー タ ベー ス は、
Unicode デー タ を格納す る 特殊なデー タ 型を使用す る こ と があ り ます。
こ れ ら のデー タ 型を持つカ ラ ムは、 Unicode デー タ だけです。 その よ う
な カ ラ ム に保存 さ れ る デー タ は、 明示的に Unicode に変換 さ れ る 必要
があ り ます。 こ の変換はデー タ ベース サーバ ま たは ク ラ イ ア ン ト が処
理す る 必要があ り ます。
JDBC レ ジ ス ト リ エ ン ト リ
PowerBuilder JDBC イ ン タ フ ェ ー ス を 経由 し てデー タ に ア ク セ ス す る
際、PowerBuilder は内部レ ジ ス ト リ を使用 し て SQL 構文の定義、DBMS
固有 の 関数呼び出 し 、 お よ びバ ッ ク エ ン ド DBMS の デ フ ォ ル ト の
DBParm パ ラ メ ー タ 設定を保守 し ま す。 こ の内部 レ ジ ス ト リ には、 現
時点では、 SQL Anywhere、 Adaptive Server Enterprise、 お よ び Oracle の
デー タ ベース用のサブエ ン ト リ が含まれてい ます。
デー タ ベース と の接続
43
JDBC イ ン タ フ ェ ース を使用する ための準備
通常、 JDBC エ ン ト リ を変更す る 必要はあ り ま せん。 ただ し 、 既存の
エ ン ト リ を カ ス タ マ イ ズ し た り 、 新 し いエ ン ト リ を追加 し た り す る 必
要が あ る 場合は、 直接 レ ジ ス ト リ を 編集す る か、 ま た は レ ジ ス ト リ
フ ァ イ ルを実行 し て シ ス テ ム レ ジ ス ト リ を変更で き ます。シ ス テ ム レ
ジ ス ト リ に対す る 変更は PowerBuilder の内部レ ジ ス ト リ エ ン ト リ を上
書 き し ます。 エ ン ト リ の設定値を変更す る ために実行で き る レ ジ ス ト
リ フ ァ イ ルの例につい て は、 Sybase\Shared\PowerBuilder の egreg.txt
フ ァ イ ルを参照 し て く だ さ い。
JDBC でサポー ト し てい るバージ ョ ン
PowerBuilder JDBC イ ン タ フ ェ ース は、 JDBC ド ラ イ バを経由 し てデー
タ ベース にア ク セ スす る と き に pbjdb110.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
44
デー タ ベース サーバを JDBC 接続用に設定 し 、 JDBC 準拠 ド ラ イ
バお よ びネ ッ ト ワ ー ク ソ フ ト ウ ェ ア を イ ン ス ト ール し ます。
PowerBuilder
第3章
ス テ ッ プ 1: デー タ
ベース サーバの設定
JDBC イ ン タ フ ェ ース
2
JDBC ド ラ イ バを イ ン ス ト ール し ます。
3
CLASSPATH 環境変数の値、 お よ びシ ス テ ム オプシ ョ ン ダ イ ア ロ
グ ボ ッ ク ス の [Java] タ ブの値を設定す る か、 ま たは こ の値を確認
し ます。
JDBC 接続を行え る よ う にデー タ ベース サーバを設定 し 、JDBC ド ラ イ
バお よ びネ ッ ト ワ ー ク ソ フ ト ウ ェ ア を イ ン ス ト ールす る 必要が あ り
ます。
❖
デー タ ベース サーバを JDBC 接続用に設定する
1
JDBC 接続を行え る よ う にデー タ ベース サーバが設定 さ れてい る
こ と を確認 し ます。 設定の手順については、 デー タ ベース ベン ダ
のマニ ュ アルを参照 し て く だ さ い。
2
適切な JDBC ド ラ イ バ ソ フ ト ウ ェ アがデー タ ベース サーバに イ ン
ス ト ール さ れ、 実行 さ れてい る こ と を確認 し ます。
デー タ ベー ス プ ロ フ ァ イ ルで指定が必要な ド ラ イ バ名、 URL 形
式、 お よ び ド ラ イ バ固有のプ ロ パテ ィ については、 ド ラ イ バ ベン
ダのマニ ュ アルを参照 し て く だ さ い。jConnect ド ラ イ バの詳細につ
いては、 46 ページの 「jConnect ド ラ イ バの設定」 を参照 し て く だ
さ い。
3
マシ ン上に必要なネ ッ ト ワ ー ク ソ フ ト ウ ェ ア (TCP/IP な ど) が イ
ン ス ト ール、 実行 さ れていて、 自分のサ イ ト のデー タ ベース サー
バへ接続で き る よ う に正 し く 設定 さ れてい る こ と を確認 し ます。
た と えば、 使用 し てい る ネ ッ ト ワ ー ク プ ロ ト コ ルやオペレーテ ィ
ン グ シ ス テ ム プ ラ ッ ト フ ォ ーム を サポー ト す る 、ネ ッ ト ワ ー ク コ
ミ ュ ニ ケーシ ョ ン ド ラ イ バを イ ン ス ト ールす る 必要があ り ます。
イ ン ス ト ール と 設定の手順については、 ネ ッ ト ワ ー ク ま たはデー
タ ベース の管理者に問い合わせて く だ さ い。
ス テ ッ プ 2:JDBC ド ラ
イバのイ ン ス ト ール
PowerBuilder のセ ッ ト ア ッ プ プ ロ グ ラ ム で、 標準 イ ン ス ト ールを選択
す る か、 カ ス タ ム イ ン ス ト ールを選択 し た場合は JDBC ド ラ イ バを選
択 し て く だ さ い。
ス テ ッ プ 3:
CLASSPATH 環境変
数、 および [Java]
タ ブの値の確認または
設定
PATH 環境変数 と CLASSPATH 環境変数、 ま たは PowerBuilder のシ ス
テ ム オプシ ョ ン ダ イ ア ロ グボ ッ ク ス の [Java] タ ブの ク ラ ス パ ス リ ス
ト に、 完全修飾 さ れた適切な フ ァ イ ル名を示す値が設定 さ れてい る こ
と を確認設定す る か、 それ ら を設定 し ます。
PowerBuilder と 一緒に イ ン ス ト ール し た JDK を使用 し てい る 場合、 こ
れ ら の環境変数を変更す る 必要はあ り ません。
デー タ ベース と の接続
45
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 環境変数ま たは PowerBuilder のシ ス テ ム オプシ ョ ン
ダ イ ア ロ グボ ッ ク ス の [Java] タ ブの ク ラ ス パ ス リ ス ト に、 jConnecgt
ド ラ イ バの保存場所を指 し てい る エ ン ト リ が含ま れてい る こ と も 確認
し ます。
た と えば、 jConnect 6.05 を使用 し てい る 場合は、 次の よ う なエ ン ト リ
が含ま れてい る こ と が必要です。
C:\Program Files\Sybase\jConnect-6.05\classes\jconn3.jar
jConnect の設定方法の詳細については、 jConnect for JDBC のマニ ュ ア
ルを参照 し て く だ さ い。
JDBC イ ン タ フ ェ ースの定義
プ ロ フ ァ イルの作成
JDBC イ ン タ フ ェ ース を使用す る 接続を定義す る には、 DB プ ロ フ ァ イ
ル設定- JDBC ダ イ ア ロ グボ ッ ク ス で基本接続パ ラ メ ー タ な ど の値を指
定 し てデー タ ベース プ ロ フ ァ イ ルを作成す る 必要があ り ます。 次回以
降、 こ のデー タ ベース プ ロ フ ァ イ ルを選択す る と 、 そのデー タ ベース
にいつで も 接続で き ます。
デー タ ベース プ ロ フ ァ イ ルの定義方法については、 8 ページの 「デー
タ ベース プ ロ フ ァ イ ルの使い方」 を参照 し て く だ さ い。
接続パ ラ メ ー タ の指定
JDBC API で提供 さ れ る 最大の柔軟性を提供す る ために、 JDBC イ ン タ
フ ェ ース は、 接続パ ラ メ ー タ の さ ま ざ ま な組み合わせでのデー タ ベー
ス接続をサポー ト し ます。
•
46
ド ラ イバ名、 URL、 プ ロパテ ィ ド ラ イ バ固有の プ ロ パ テ ィ を 定義
す る 必要があ る 場合は、 こ の よ う な接続パ ラ メ ー タ の組み合わせ
で値を指定す る 必要があ り ます。プ ロ パテ ィ を定義す る と き は、プ
ロ パテ ィ フ ィ ール ド でユーザ ID と パ ス ワ ー ド も 定義す る 必要が
あ り ます。
PowerBuilder
第3章
JDBC イ ン タ フ ェ ース
た と えば、 jConnect ド ラ イ バに接続す る 場合は、 [ ド ラ イ バ固有の
パ ラ メ ー タ ] フ ィ ール ド に以下の値を入力す る 必要があ り ます。
SQLINITSTRING=set TextSize 32000;
user=system;password=manager;
•
ド ラ イバ名、 URL、 ユーザ ID、 パスワー ド ド ラ イ バ 固 有 の プ ロ パ
テ ィ を定義す る 必要がない場合は、 こ の よ う な接続パ ラ メ ー タ の
組み合わせで値を指定 し ます。
Driver Name:
URL:
Login ID:
Password:
•
com.sybase.jdbc.SybDriver
jdbc:sybase:Tds:localhost:2638
dba
sql
ド ラ イバ名、 URL ユーザ ID と パ ス ワ ー ド が URL の一部に含まれ
る 場合は、 こ の よ う な接続パ ラ メ ー タ の組み合わせで値を指定 し
ます。
た と えば、 Oracle JDBC ド ラ イ バに接続す る 場合は、 次の よ う に
URL にユーザ ID と パ ス ワ ー ド を含め る こ と がで き ます。
jdbc:oracle:thin:userid/password@host:port:dbname
jConnect へ接続する際のプ ロパテ ィ の指定
PowerBuilder で Blob 型を使用す る 場合、jConnect では Blob サ イ ズに制
約があ る こ と に注意が必要です。 そのため、 PowerBuilder か ら デー タ
ベー ス 接続 を 行 う 前に、 使用す る 予定の最大サ イ ズ よ り 大 き い値に
Blob サ イ ズ を設定 し 直 し ます。
Blob サ イ ズ を設定す る には、 [接続] ページの [ ド ラ イ バ固有のパ ラ
メ ー タ ] ボ ッ ク ス で jConnect の SQLINITSTRING プ ロ パテ ィ を定義 し
ます。SQLINITSTRING プ ロ パテ ィ は、次の よ う に、バ ッ ク エ ン ド デー
タ ベース サーバに渡 さ れ る コ マ ン ド を定義す る のに使用 さ れ ます。
SQLINITSTRING=set TextSize 32000;
[ ド ラ イ バ固有のパ ラ メ ー タ ] ボ ッ ク ス でプ ロ パテ ィ を 定義す る 場合
は、ユーザ ID と パ ス ワー ド も 定義す る 必要があ る こ と に注意 し て く だ
さ い。
デー タ ベース と の接続
47
JDBC イ ン タ フ ェ ースの定義
48
PowerBuilder
第 4 章
OLE DB イ ン タ フ ェ ース
こ の章について
こ の章では、 OLE DB イ ン タ フ ェ ー ス の概要について説明 し 、 こ
の イ ン タ フ ェ ース を使用す る ための準備や OLE DB デー タ ベース
プ ロ フ ァ イ ルの定義の し かたについて解説 し ます。
内容
詳細について
項目
OLE DB イ ン タ フ ェース について
OLE DB イ ン タ フ ェース を使用す る ための準備
OLE DB イ ン タ フ ェース の定義
ページ
49
55
57
こ の章では、 一般的な OLE DB イ ン タ フ ェース の使用について説
明 し てい ます。 詳細については、 以下を参照 し て く だ さ い。
•
Microsoft MSDN ラ イ ブ ラ リ のサイ ト http://msdn2.microsoft.com/enus/library/ms713643.aspx の 『OLE DB Programmer’s Guide』 マ
ニ ュ アルを参照 し て く だ さ い。
•
デー タ プ ロ バ イ ダのベン ダが提供す る オ ン ラ イ ン ヘルプ
•
OLE DB デー タ プ ロ バ イ ダに接続す る 方法を解説 し たテ ク ニ
カル ド キ ュ メ ン ト があ る か ど う か を確認 し て く だ さ い。 接続
に関す る 新 し い情報は、 Sybase サポー ト と ダウン ロー ド のサイ ト
http://www.sybase.com/support か ら 取得で き ます。
OLE DB イ ン タ フ ェ ースについて
PowerBuilder では、 OLE DB デー タ プ ロ バ イ ダ を経由 し て さ ま ざ
ま なデー タ にア ク セ ス で き ま す。 こ の節では、 OLE DB 接続を使
用 し て PowerBuilder か ら デー タ にア ク セ スす る ために知っ てお く
必要があ る 情報について解説 し ます。
デー タ ベース と の接続
49
OLE DB イ ン タ フ ェ ースについて
サポー ト し ている OLE DB デー タ プ ロバイ ダ
PowerBuilder で提供 さ れ る 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 イ ン タ フ ェ ー ス を 提供す る PowerBuilder な ど の ア プ リ ケ ー
シ ョ ンは、 OLE DB デー タ プ ロ バ イ ダがあ る デー タ にア ク セ ス で き ま
す。 OLE DB デー タ プ ロ バ イ ダは、 特定のデー タ ソ ース にア ク セ スす
る ための OLE DB 関数呼び出 し を実装す る ダ イ ナ ミ ッ ク リ ン ク ラ イ
ブ ラ リ (DLL) です。
PowerBuilder OLE DB イ ン タ フ ェ ー ス は、 表 4-1 に示す OLE DB オブ
ジ ェ ク ト イ ン タ フ ェ ー ス を サポー ト す る 任意の OLE DB デー タ プ ロ
バ イ ダに接続で き ま す。 OLE DB デー タ プ ロ バ イ ダは Microsoft OLE
DB 2.0 仕様に準拠す る ために こ れ ら の イ ン タ フ ェース をサポー ト し て
い る 必要があ り ます。
50
PowerBuilder
第4章
OLE DB イ ン タ フ ェ ース
表 4-1: 必要な OLE DB イ ン タ フ ェ ース
IAccessor
IDBInitialize
IColumnsInfo
IDBProperties
ICommand
IOpenRowset
ICommandProperties
IRowset
ICommandText
IRowsetInfo
IDBCreateCommand
IDBSchemaRowset
IDBCreateSession
ISourcesRowset
必要な OLE DB イ ン タ フ ェ ース に加え て、 PowerBuilder は、 さ ら に高
度な機能を提供す る ために、 表 4-2 に示す OLE DB イ ン タ フ ェース も
使用 し ます。
デー タ ベース と の接続
51
OLE DB イ ン タ フ ェ ースについて
表 4-2: そのほかの OLE DB イ ン タ フ ェ ース
OLE DB イ ン タ フ ェ ース
ICommandPrepare
IDBInfo
IDBCommandWithParameters
IErrorInfo
IErrorRecords
IIndexDefinition
IMultipleResults
IRowsetChange
IRowsetUpdate
ISQLErrorInfo
ISupportErrorInfo
ITableDefinition
PowerBuilder での使用目的
コ マ ン ド の準備お よ びカ ラ ム情報の取得
デー タ プ ロ バ イ ダへのプ ロ パ テ ィ の問い合
わせ。 こ の イ ン タ フ ェ ース がサポー ト さ れて
いない場合、 デー タ ベース接続は失敗す る こ
と があ る
デー タ プ ロ バ イ ダへのパ ラ メ ー タ の問い合
わせ
エ ラ ー情報の提供
エ ラ ー情報の提供
拡張属性シ ス テ ム テーブルの イ ン デ ッ ク ス
の作成。 デー タ ベース ペ イ ン タ の イ ンデ ッ ク
ス の作成。 こ の イ ン タ フ ェ ース がサポー ト さ
れていない場合、 PowerBuilder は pbodb110.ini
フ ァ イ ルで イ ンデ ッ ク ス定義構文を探す
情報の提供
拡張属性シ ス テ ム テーブル作成時に値 を 入
力す る 。 Blob の更新
拡張属性シ ス テ ム テーブルの作成
エ ラ ー情報の提供
エ ラ ー情報の提供
拡張属性シ ス テ ム テーブルの作成。 デー タ
ベース ペ イ ン タ のテーブルの作成。 こ の イ ン
タ フ ェ ース がサポー ト さ れていない場合、 以
下の こ と が起 こ り ます。
• PowerBuilder は、 pbodb110.ini フ ァ イ ルで
テーブル定義構文を探す
• PowerBuilder カ タ ロ グ テーブルが使用で
き ない
ITransactionLocal
Unicode デー タ への
ア ク セス
52
• カ ラ ムの変更やデー タ ベース ペ イ ン タ で
のデー タ の編集な ど、 DDL 操作、 DML 操
作が正 し く 機能 し ない
ト ラ ン ザ ク シ ョ ン のサポー ト 。 こ の イ ン タ
フ ェ ー ス が サ ポ ー ト さ れ て い な い 場 合、
PowerBuilder は デ フ ォ ル ト で AutoCommit
モー ド を使用す る
PowerBuilder は、 OLE DB イ ン タ フ ェース を使用 し て、 ANSI/DBCS お
よ び Unicode の両方のデー タ ベー ス のデー タ に接続、 保存、 検索す る
こ と がで き ますが、 Unicode と ANSI/DBCS 間でのデー タ 変換は行い ま
せん。 文字デー タ ま たは コ マ ン ド テ キ ス ト がデー タ ベース に送信 さ れ
PowerBuilder
第4章
OLE DB イ ン タ フ ェ ース
る と 、 PowerBuilder は Unicode 文字列を送信 し ま す。 デー タ が正 し く
Unicode デー タ と し て保存 さ れ る こ と をデー タ プ ロ バ イ ダが保証す る
必要があ り ま す。 PowerBuilder は文字デー タ を検索す る と き 、 デー タ
は Unicode であ る と 仮定 し ます。
Unicode データ ベース は、 文字セッ ト が Unicode 形式 (UTF-8、 UTF-16、
UCS-2、 UCS-4 な ど) に設定 さ れ る デー タ ベー ス の こ と です。 すべて
のデー タ は、 Unicode 形式でなければな ら ず、 デー タ ベース に保存 さ れ
る デー タ は、 暗黙的に ま たは明示的に Unicode デー タ に変換 さ れな け
ればな り ません。
文字セ ッ ト と し て ANSI (ま たは DBCS) を使用す る デー タ ベー ス は、
Unicode デー タ を格納す る 特殊なデー タ 型を使用す る こ と があ り ます。
こ れ ら のデー タ 型を持つカ ラ ムは、 Unicode デー タ だけです。 その よ う
な カ ラ ム に保存 さ れ る デー タ は、 明示的に Unicode に変換 さ れ る 必要
があ り ます。 こ の変換はデー タ ベース サーバ ま たは ク ラ イ ア ン ト が処
理す る 必要があ り ます。
OLE DB 接続の コ ンポーネ ン ト
PowerBuilder で OLE DB デー タ プ ロ バ イ ダにア ク セ スす る 場合、 デー
タ プ ロ バ イ ダに到達す る ま でにい く つかの レ イ ヤ を経由 し ます。 それ
ぞれの レ イ ヤは、 接続におけ る 独立 し た コ ン ポーネ ン ト で あ り 、 コ ン
ポーネ ン ト ご と に提供 し てい る ベン ダが違 う 可能性があ り ます。
OLE DB は標準 API で あ る ため、 PowerBuilder は ど の よ う な OLE DB
デー タ プ ロ バ イ ダへア ク セ ス す る 場合で も 共通の イ ン タ フ ェ ー ス を
使用 し ます。 PowerBuilder が必要 と す る オブジ ェ ク ト イ ン タ フ ェース
を OLE DB デー タ プ ロ バ イ ダがサポー ト し てい る 限 り 、 PowerBuilder
は OLE DB イ ン タ フ ェース を経由 し てその OLE DB デー タ プ ロ バ イ ダ
にア ク セ ス で き ます。
図 4-1 では、 OLE DB 接続の一般的な コ ン ポーネ ン ト を示 し ます。
デー タ ベース と の接続
53
OLE DB イ ン タ フ ェ ースについて
図 4-1: OLE DB 接続のコ ンポーネ ン ト
OLE DB デー タ プ ロバイ ダの入手
PowerBuilder Enterprise を使用 し てい る 場合、 PowerBuilder で要求 さ れ
る OLE DB オブ ジ ェ ク ト イ ン タ フ ェ ー ス を サポー ト す る も ので あれ
ば、Sybase 社以外のベン ダか ら 入手 し た OLE DB デー タ プ ロ バ イ ダで
あ っ て も デー タ にア ク セ ス す る こ と がで き ます。 ほ と ん ど の場合、 こ
の よ う な ド ラ イ バを PowerBuilder で使用で き ますが、 Sybase 社ではほ
かのベン ダが提供す る ド ラ イ バの正式な接続検証テ ス ト は実施 し てい
ません。
サポー ト し てい る OLE DB のバージ ョ ン
OLE DB イ ン タ フ ェース は OLE DB デー タ プ ロ バ イ ダ を経由 し てデー
タ ベー ス にア ク セ ス す る 際に PBOLE110.DLL と い う 名前の DLL を使
用 し ます。
54
PowerBuilder
第4章
OLE DB イ ン タ フ ェ ース
必要 と さ れる OLE DB のバージ ョ ン
OLE DB イ ン タ フ ェース を使用 し て OLE DB デー タ ベース にア ク セ ス
す る には、OLE DB バージ ョ ン 2.0 以上をサポー ト す る OLE DB デー タ
プ ロ バ イ ダ を経由 し て接続す る 必要があ り ま す。 OLE DB 仕様の詳細
に つ い て は、 Microsoft ラ イ ブ ラ リ のサ イ ト http://msdn2.microsoft.com/enus/library/default.aspx を参照 し て く だ さ い。
OLE DB イ ン タ フ ェ ース を使用する ための準備
イ ン タ フ ェース を定義 し 、 OLE DB を経由 し てデー タ プ ロ バ イ ダに接
続す る 前に、 次の操作を行い ます。
ス テ ッ プ 1: デー タ
サーバのイ ン ス ト ール
と 設定
1
デー タ ベース サーバ、 ネ ッ ト ワー ク 、 お よ び ク ラ イ ア ン ト ソ フ ト
ウ ェ ア を イ ン ス ト ール し て設定 し ます。
2
OLE DB イ ン タ フ ェ ース、 お よ びデー タ ソ ース にア ク セ スす る た
めの OLE DB デー タ プ ロ バ イ ダ を イ ン ス ト ール し ます。
3
マシ ン に Microsoft Data Access Components ソ フ ト ウ ェ ア を イ ン ス
ト ール し ます。
4
必要であれば、 OLE DB デー タ ソ ース を定義 し ます。
デー タ ベース サーバを イ ン ス ト ールお よ び設定 し 、ネ ッ ト ワー ク ソ フ
ト ウ ェ ア と ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ールす る 必要が あ
り ます。
❖
デー タ ベース サーバ、 ネ ッ ト ワー ク、 ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス
ト ール し 、 設定する
1
サーバに適切なデー タ ベース ソ フ ト ウ ェ アが イ ン ス ト ール さ れ、
実行 さ れてい る こ と を確認 し ます。
デー タ ベー ス サーバ ソ フ ト ウ ェ ア はデー タ ベー ス のベン ダ か ら
入手す る 必要が あ り ま す。 イ ン ス ト ールの手順については、 デー
タ ベース ベン ダのマニ ュ アルを参照 し て く だ さ い。
デー タ ベース と の接続
55
OLE DB イ ン タ フ ェ ース を使用する ための準備
2
マシ ン上に必要なネ ッ ト ワ ー ク ソ フ ト ウ ェ ア (TCP/IP な ど) が イ
ン ス ト ール、 実行 さ れていて、 自分のサ イ ト のデー タ サーバへ接
続で き る よ う に正 し く 設定 さ れてい る こ と を確認 し ま す。 た と え
ば、 使用 し てい る ネ ッ ト ワ ー ク プ ロ ト コ ルやオペレーテ ィ ン グ シ
ス テ ム プ ラ ッ ト フ ォ ーム をサポー ト す る 、 ネ ッ ト ワ ー ク コ ミ ュ ニ
ケーシ ョ ン ド ラ イ バを イ ン ス ト ールす る 必要があ り ます。
イ ン ス ト ールお よ び設定の手順については、 ネ ッ ト ワ ー ク ま たは
デー タ ソ ース の管理者にお問い合わせ く だ さ い。
3
必要に応 じ て、PowerBuilder が イ ン ス ト ール さ れてい る ク ラ イ ア ン
ト マシ ン それぞれに、 適切な ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス
ト ール し ます。
ク ラ イ ア ン ト ソ フ ト ウ ェ アの要件
ク ラ イ ア ン ト ソ フ ト ウ ェ アの要件を確認す る には、 デー タ ベース
ベン ダのマニ ュ アルを参照 し て く だ さ い。
ス テ ッ プ 2:OLE DB
イ ン タ フ ェ ース と
OLE DB デー タ プ ロ
バイ ダのイ ン ス ト ール
PowerBuilder のセ ッ ト ア ッ プ プ ロ グ ラ ム で、 カ ス タ ム イ ン ス ト ールを
選択 し 、 デー タ ベース にア ク セ スす る OLE DB プ ロ バ イ ダ を選択 し ま
す。 PowerBuilder 付属の OLE DB デー タ プ ロ バ イ ダ を イ ン ス ト ール し
て も 、 ほかのベン ダか ら 提供 さ れ る デー タ プ ロ バ イ ダ を イ ン ス ト ール
し て も か ま い ません。
ス テ ッ プ 3:Microsoft
Data Access
Components ソ フ ト
ウ ェ アのイ ン ス ト ール
PowerBuilder 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
と と も に イ ン ス ト ール さ れ ます。
56
PowerBuilder
第4章
ス テ ッ プ 4:OLE DB
デー タ ソ ースの定義
OLE DB イ ン タ フ ェ ース
OLE DB デー タ プ ロ バ イ ダ を イ ン ス ト ール し た ら 、 そのデー タ プ ロ バ
イ ダが ア ク セ ス す る OLE DB デー タ ソ ー ス を 定義す る 必要が あ り ま
す。 デー タ ソ ース を定義す る 方法は、 使用 し てい る OLE DB デー タ と
そのデー タ の提供ベン ダに よ っ て異な り ます。
ODBC デー タ プ ロ バ イ ダ (Microsoft OLE DB Provider for ODBC な ど)
に接続す る 場合は、 直接 ODBC に接続す る 場合 と 同 じ よ う に ODBC
デー タ ソ ース を定義す る 必要があ り ます。ODBC デー タ ソ ース を定義
す る には、Microsoft の ODBC Data Source Administrator ユーテ ィ リ テ ィ
を 使 用 し ま す。 Windows の コ ン ト ロ ー ル パ ネ ル か ら 、 あ る い は
PowerBuilder のデー タ ベース ペ イ ン タ か DB プ ロ フ ァ イ ル設定 ダ イ ア
ロ グボ ッ ク ス か ら 、 こ のユーテ ィ リ テ ィ にア ク セ ス で き ます。
OLE DB イ ン タ フ ェ ースの定義
OLE DB のプ ロ フ ァ イ
ルの作成
OLE DB イ ン タ フ ェ ース を使用す る 接続を定義す る には、DB プ ロ フ ァ
イ ル設定 - OLE DB ダ イ ア ロ グ ボ ッ ク ス で基本接続パ ラ メ ー タ な ど の
値を指定 し てデー タ ベー ス プ ロ フ ァ イ ルを作成す る 必要があ り ま す。
作成後は、 いつで も こ のプ ロ フ ァ イ ルを選択 し て開発環境か ら デー タ
に接続す る こ と がで き ます。
デー タ ベース プ ロ フ ァ イ ルの定義方法については、 8 ページの 「デー
タ ベース プ ロ フ ァ イ ルの使い方」 を参照 し て く だ さ い。
接続パラ メ ー タ の指定
デー タ ベース と の接続
接続パ ラ メ ー タ の [プ ロ バ イ ダ] お よ び [デー タ ソ ース] の値を指定
す る 必要があ り ま す。 [プ ロ バ イ ダ] ド ロ ッ プダ ウ ン リ ス ト の イ ン ス
ト ール済みのデー タ プ ロ バ イ ダの リ ス ト か ら デー タ プ ロ バ イ ダ を選
択 し ま す。 [デー タ ソ ー ス] の値は、 以下の よ う に、 使用す る デー タ
ソ ース接続の種類に よ っ て異な り ます。 以下に例を示 し ます。
•
Microsoft OLE DB Provider for ODBC を使用 し て EAS Demo DB に
接続す る 場合は、 [プ ロ バ イ ダ] の値 と し て 「MSDASQL」 を選択
し 、[デー タ ソ ース] の値 と し て実際の ODBC デー タ ソ ース名 ( こ
の場合は EAS Demo DB) を入力 し ます。
•
Microsoft OLE DB Provider for SQL Server を使用す る 場合は、[プ ロ
バ イ ダ] の値 と し て 「SQLOLEDB」 を選択 し 、 [デー タ ソ ース] の
値 と し て実際のサーバ名を入力 し ます。 複数のデー タ ベース イ ン
ス タ ン ス を持つ こ と がで き る ため、 [拡張プ ロ パテ ィ ] フ ィ ール ド
でデー タ ベース名 (た と えば Database=Pubs) も 使用す る 必要があ
り ます。
57
OLE DB イ ン タ フ ェ ースの定義
デー タ リ ン ク API の
使い方
[デー タ リ ン ク ] オプシ ョ ン を使 う と 、 Microsoft デー タ リ ン ク API に
ア ク セ ス し 、 フ ァ イ ルを定義 し た り 、 OLE DB 接続情報が格納 さ れた
既存の フ ァ イ ルを使用 し た り す る こ と がで き ます。デー タ リ ン ク フ ァ
イ ルは、 .udl と い う 拡張子で識別 さ れます。 デー タ リ ン ク フ ァ イ ルを
使用 し てデー タ ソ ースへ接続す る 場合は、DB プ ロ フ ァ イ ル設定 - OLE
DB ダ イ ア ロ グ ボ ッ ク ス で指定 し たほかの設定値はすべて無視 さ れ ま
す。
こ のオプシ ョ ン を起動す る には、 [接続] タ ブの [フ ァ イ ル名] チ ェ ッ
ク ボ ッ ク ス を選択 し て [フ ァ イ ル名] ボ ッ ク ス の隣のボ タ ン を ク リ ッ
ク し ま す。 ま た、 デー タ ベー ス ペ イ ン タ の [使用で き る DB イ ン タ
フ ェ ー ス] の リ ス ト で、 OLE DB イ ン タ フ ェ ー ス に含 ま れ る Manage
Data Links ユーテ ィ リ テ ィ を ダブル ク リ ッ ク し て も デー タ リ ン ク API
を起動で き ます。
デー タ リ ン ク API の使い方についての詳細は、 Microsoft MSDN ラ イ ブ ラ
リ のサイ ト http://msdn2.microsoft.com/en-us/library/ms713643.aspx のマニ ュ
アル 『OLE DB Programmer’s Guide』 を参照 し て く だ さ い。
58
PowerBuilder
第 5 章
ADO.NET イ ン タ フ ェ ース
こ の章について
こ の章では、 ADO.NET イ ン タ フ ェース の概要について説明 し 、 こ
の イ ン タ フ ェ ー ス を使用す る ための準備や ADO.NET デー タ ベー
ス プ ロ フ ァ イ ルの定義の し かたについて解説 し ます。
内容
詳細について
項目
ADO.NET について
PowerBuilder の ADO.NET デー タ ベー ス イ ン タ フ ェ ー ス につ
いて
ADO.NET イ ン タ フ ェース を使用する ための準備
ADO.NET イ ン タ フ ェース の定義
ページ
59
61
66
67
こ の章では、 一般的な ADO.NET イ ン タ フ ェ ー ス の使用方法につ
いて説明 し てい ます。 詳細については、 以下を参照 し て く だ さ い。
•
Microsoft MSDN ラ イ ブ ラ リ のサイ ト http://msdn2.microsoft.com/enus/library/default.aspx の Data Access お よ び .NET 開発セ ク シ ョ
ン を参照 し て く だ さ い。
•
デー タ プ ロ バ イ ダのベン ダが提供す る オ ン ラ イ ン ヘルプ
•
ADO.NET データ プロ バイ ダに接続する 方法を 解説し たテク ニカ
ル ド キュ メ ン ト がある かど う かを 確認し てく ださ い。 接続に関
する 新し い情報は、 Sybase サポー ト と ダウン ロー ド のサイ ト
http://www.sybase.com/support か ら 取得で き ます。
ADO.NET について
ADO.NET は Microsoft .NET Framework デー タ へのネ イ テ ィ ブ ア ク
セ ス を提供す る 一連のテ ク ノ ロ ジです。n 階層のプ ロ グ ラ ミ ン グ環
境をサポー ト し 、 非接続型デー タ アーキ テ ク チ ャ に対応す る よ う
に設計 さ れてい ます。ADO.NET は XML と 緊密に統合 さ れてお り 、
XML を含む異種 ソ ース か ら のデー タ を結合す る こ と がで き ます。
デー タ ベース と の接続
59
ADO.NET について
ADO.NET の主要 コ ン ポーネ ン ト の 1 つが .NET Framework デー タ プ ロ
バ イ ダであ り 、 デー タ ベー ス への接続、 コ マ ン ド の実行、 お よ び結果
の検索を行い ます。
Microsoft は、 .NET Framework に同梱 し て SQL Server お よ び OLE DB
用 .NET Framework デー タ プ ロ バ イ ダ を提供 し てお り 、 ODBC お よ び
Oracle 用デー タ プ ロ バ イ ダは Microsoft の Web サ イ ト か ら ダ ウ ン ロ ー
ド で き ます。 Sybase 社の Adaptive Server Enterprise 用 .NET Framework
Data Provider な ど、ほかのベン ダか ら の .NET Framework デー タ プ ロ バ
イ ダ を入手す る こ と も 可能です。
PowerBuilder ADO.NET デー タ ベー ス イ ン タ フ ェ ー ス を使用 し てデー
タ ベース に接続す る には、.NET Framework デー タ プ ロ バ イ ダ を使用す
る 必要があ り ます。
Unicode デー タ へのア
ク セス
PowerBuilder は、 ADO.NET イ ン タ フ ェ ー ス を 使用 し て、 ANSI/DBCS
お よ び Unicode の両方のデー タ ベー ス のデー タ に接続、 保存、 検索す
る こ と がで き ますが、 Unicode と ANSI/DBCS 間でデー タ 変換を行い ま
せん。 文字デー タ ま たは コ マ ン ド テ キ ス ト がデー タ ベース に送信 さ れ
る と 、 PowerBuilder は Unicode 文字列を送信 し ま す。 デー タ が正 し く
Unicode デー タ と し て保存 さ れ る こ と をデー タ プ ロ バ イ ダが保証す る
必要があ り ま す。 PowerBuilder は文字デー タ を検索す る と き 、 デー タ
は Unicode であ る と 仮定 し ます。
Unicode データ ベース は、 文字セッ ト が Unicode 形式 (UTF-8、 UTF-16、
UCS-2、 UCS-4 な ど) に設定 さ れ る デー タ ベース の こ と です。 すべての
デー タ は、 Unicode 形式でなければな ら ず、 デー タ ベース に保存 さ れ る
デー タ は、 暗黙的に ま たは明示的に Unicode デー タ に変換 さ れな けれ
ばな り ません。
文字セ ッ ト と し て ANSI (ま たは DBCS) を使用す る デー タ ベー ス は、
Unicode デー タ を格納す る 特殊なデー タ 型を使用す る こ と があ り ます。
こ れ ら のデー タ 型を持つカ ラ ムは、 Unicode デー タ だけです。 その よ う
な カ ラ ム に保存 さ れ る デー タ は、 明示的に Unicode に変換 さ れ る 必要
があ り ます。 こ の変換はデー タ ベース サーバ ま たは ク ラ イ ア ン ト が処
理す る 必要があ り ます。
60
PowerBuilder
第5章
ADO.NET イ ン タ フ ェ ース
PowerBuilder の ADO.NET デー タ ベース イ ン タ フ ェ ース
について
PowerBuilder ADO.NET デ ー タ ベ ー ス イ ン タ フ ェ ー ス を 使 用 し て、
PowerBuilder ODBC お よ び OLE DB デー タ ベース イ ン タ フ ェ ース を使
用す る の と 同 じ よ う に、 Adaptive Server® Enterprise、 Oracle、 Microsoft
SQL Server な ど のデー タ ソ ース、 OLE DB や XML を使用 し て公開 さ
れたデー タ ソ ース に接続で き ます。
パフ ォ ーマ ン ス
ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を使用す る と 、 よ り 高いパ
フ ォ ーマ ン ス を得 る こ と があ り ます。ADO.NET イ ン タ フ ェース の主な
目的は、 Sybase DataWindow .NET の .NET DataGrid な ど、 そのほかの
デー タ ベース構造 と の共有接続を サポー ト す る こ と です。
ADO.NET 接続の コ ンポーネ ン ト
PowerBuilder か ら ADO.NET を使用 し てデー タ ベー ス にア ク セ ス す る
場合、デー タ ベース に到達す る ま でにい く つかの レ イ ヤ を経由 し ます。
それぞれの レ イ ヤは、 接続におけ る 独立 し た コ ン ポーネ ン ト で あ り 、
コ ン ポーネ ン ト を提供 し てい る ベン ダが違 う 可能性があ り ます。
PowerBuilder ADO.NET イ ン タ フ ェ ース は、 ド ラ イ バ (pbado110.dll) と
サーバ (Sybase.PowerBuilder.Db.dll ま たは Sybase.PowerBuilder.DbExt.dll
のいずれか) で構成 さ れてい ます。 サーバは pbrth110.dll と 呼ばれ る
フ ァ イ ル と 依存関係があ り ます。 こ れ ら の DLL は ADO.NET を使用す
る デー タ ベース に接続す る アプ リ ケーシ ョ ン と 一緒に配布す る 必要が
あ り ます。 Oracle 10g ま たは Adaptive Server 15 以上では、
Sybase.PowerBuilder.DbExt.dll を使用 し ます。 以前のバージ ョ ンお よ び
ほかの DBMS では、 Sybase.PowerBuilder.Db.dll を使用 し ます。
ADO.NET 用の DataWindow .NET デー タ ベース イ ン タ フ ェース は、 表
5-1 の ADO.NET デー タ プ ロ バ イ ダ をサポー ト し ます。
デー タ ベース と の接続
61
PowerBuilder の ADO.NET デー タ ベース イ ン タ フ ェ ースについて
表 5-1: サポー ト する ADO.NET デー タ プ ロバイ ダ
デー タ プ ロバイ ダ
OLE DB 用 .NET Framework デー タ プ ロ バ イ ダ
SQL Server 用 .NET Framework デー タ プ ロ バ イ ダ
.NET (ODP.NET) 用 Oracle デー タ プ ロ バ イ ダ
Adaptive Server Enterprise (ASE) 用 Sybase
ADO.NET デー タ プ ロ バ イ ダ
名前空間
System.Data.OleDb
System.Data.SqlClient
Oracle.DataAccess.Client
Sybase.Data.AseClient
さ ら に、 将来の リ リ ー ス では .NET Framework デー タ プ ロ バ イ ダ も サ
ポー ト さ れ る 予定です。 最新情報については、 『 リ リ ー ス ノ ー ト 』 マ
ニ ュ アルを参照 し て く だ さ い。
図 5-1 に、 OLE DB .NET Framework デ ー タ プ ロ バ イ ダ を 使 用 し た
ADO.NET 接続の一般的な コ ン ポーネ ン ト を示 し ます。
62
PowerBuilder
第5章
ADO.NET イ ン タ フ ェ ース
図 5-1: ADO.NET OLE DB 接続のコ ンポーネ ン ト
図 5-2 に、 ネ イ テ ィ ブ ADO.NET デー タ プ ロ バ イ ダ を使用 し た
ADO.NET 接続の一般的な コ ン ポーネ ン ト を示 し ます。
デー タ ベース と の接続
63
PowerBuilder の ADO.NET デー タ ベース イ ン タ フ ェ ースについて
図 5-2: ネ イ テ ィ ブ ADO.NET 接続のコ ンポーネ ン ト
OLE DB デー タ プ ロバイ ダ
OLE DB 対応の .NET Framework データ プロ バイ ダを 使用し て、Microsoft
SQLOLEDB、Microsoft MSDAORA、 ほかのベン ダか ら のデー タ プ ロ バ
イ ダな ど、 OLE DB デー タ プ ロ バ イ ダ を経由 し てデー タ ベース に接続
し ます。
OLE DB 対 応 の .NET Framework Data Provider は、 ODBC 対 応 の
MSDASQL プ ロ バ イ ダでは動作 し ません。ま た OLE DB バージ ョ ン 2.5
イ ン タ フ ェ ース はサポー ト し てい ません。
64
PowerBuilder
第5章
ADO.NET イ ン タ フ ェ ース
OLE DB .NET Framework デー タ プ ロ バ イ ダでは、 表 5-2 に リ ス ト さ れ
る OLE DB イ ン タ フ ェース を サポー ト す る ど の OLE DB デー タ プ ロ バ
イ ダで も 使用で き ます。 サポー ト さ れてい る プ ロ バ イ ダの詳細につい
ては、 Microsoft の 『 .NET Framework Developer’s Guide』 マニ ュ アルに
記載 さ れてい る .NET Framework デー タ プ ロ バ イ ダに関す る ト ピ ッ ク
を参照 し て く だ さ い。
PowerBuilder ADO.NET イ ン タ フ ェ ー ス は、 OLE DB .NET Framework
データ プロ バイ ダを 使用し た SQL Anywhere、Adaptive Server Enterprise、
Microsoft SQL Server、 Oracle、 Informix、 お よ び Microsoft Access への
接続を サポー ト し ます。
デー タ プ ロ バ イ ダの イ ン ス ト ール後に、それに対す る デー タ ソ ース を
定義す る 必要があ り ます。
表 5-2: OLE DB デー タ プ ロバイ ダに必要な イ ン タ フ ェ ース サポー ト
OLE DB オブ ジ ェ ク ト
OLE DB Services
DataSource
必要な イ ン タ フ ェ ース
IDataInitialize
IDBInitialize
IDBCreateSession
IDBProperties
Session
IPersist
ISessionProperties
Command
IOpenRowset
ICommandText
MultipleResults
RowSet
ICommandProperties
IMultipleResults
IRowset
IAccessor
IColumnsInfo
Error
IRowsetInfo (DBTYPE_HCHAPTER がサポー ト さ れ
てい る 場合にのみ必要)
IErrorInfo
IErrorRecords
デー タ ベース と の接続
65
ADO.NET イ ン タ フ ェ ース を使用する ための準備
ADO.NET イ ン タ フ ェ ース を使用する ための準備
イ ン タ フ ェ ース を定義 し 、ADO.NET を使用 し てデー タ ベース に接続す
る 前に、 次の操作を行い ます。
ス テ ッ プ 1: デー タ
サーバのイ ン ス ト ール
と 設定
1
デー タ ベース サーバ、 ネ ッ ト ワー ク 、 お よ び ク ラ イ ア ン ト ソ フ ト
ウ ェ ア を イ ン ス ト ール し て設定 し ます。
2
ADO.NET イ ン タ フ ェ ース を イ ン ス ト ール し ます。
3
マシ ン に Microsoft Data Access Components バージ ョ ン 2.6 以上の ソ
フ ト ウ ェ ア を イ ン ス ト ール し ます。
デー タ ベース サーバを イ ン ス ト ールお よ び設定 し 、ネ ッ ト ワ ー ク ソ フ
ト ウ ェ ア と ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ールす る 必要が あ
り ます。
❖
デー タ ベース サーバ、ネ ッ ト ワー ク、ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ー
ル し 、 設定する
1
サーバに適切なデー タ ベース ソ フ ト ウ ェ アが イ ン ス ト ール さ れ、
実行 さ れてい る こ と を確認 し ます。
デー タ ベー ス サーバ ソ フ ト ウ ェ アはデー タ ベー ス のベン ダ か ら
入手す る 必要があ り ま す。 イ ン ス ト ールの手順については、 デー
タ ベース ベン ダのマニ ュ アルを参照 し て く だ さ い。
2
マシ ン上に必要なネ ッ ト ワ ー ク ソ フ ト ウ ェ ア (TCP/IP な ど) が イ
ン ス ト ール さ れ、 実行 さ れてお り 、 自分のサ イ ト のデー タ サーバ
へ接続で き る よ う に正 し く 設定 さ れてい る こ と を確認 し ま す。 た
と えば、 使用 し てい る ネ ッ ト ワ ー ク プ ロ ト コ ルやオペレーテ ィ ン
グ シ ス テ ム プ ラ ッ ト フ ォ ーム を サポー ト す る 、 ネ ッ ト ワ ー ク コ
ミ ュ ニ ケーシ ョ ン ド ラ イ バを イ ン ス ト ールす る 必要があ り ます。
イ ン ス ト ールお よ び設定の手順については、 ネ ッ ト ワ ー ク ま たは
デー タ ソ ース の管理者にお問い合わせ く だ さ い。
3
必要に応 じ て、PowerBuilder が イ ン ス ト ール さ れてい る ク ラ イ ア ン
ト マシ ン それぞれに、 適切な ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス
ト ール し ます。
ク ラ イ ア ン ト ソ フ ト ウ ェ アの要件
ク ラ イ ア ン ト ソ フ ト ウ ェ アの要件を確認す る には、 デー タ ベース
ベン ダのマニ ュ アルを参照 し て く だ さ い。
ス テ ッ プ 2:ADO.NET
イ ン タ フ ェ ースのイ ン
ス ト ール
66
PowerBuilder のセ ッ ト ア ッ プ プ ロ グ ラ ム で、 カ ス タ ム イ ン ス ト ールを
選択 し 、 ADO.NET デー タ ベース イ ン タ フ ェース を選択 し ます。
PowerBuilder
第5章
ス テ ッ プ 3:Microsoft
Data Access
Components ソ フ ト
ウ ェ アのイ ン ス ト ール
ADO.NET イ ン タ フ ェ ース
PowerBuilder ADO.NET イ ン タ フ ェース は、 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
と と も に イ ン ス ト ール さ れます。
ADO.NET イ ン タ フ ェ ースの定義
ADO.NET デー タ ベー
ス プ ロ フ ァ イル設定
の使い方
ADO.NET イ ン タ フ ェ ー ス を 使用す る 接続 を 定義す る には、 DB プ ロ
フ ァ イ ル設定 - ADO.NET ダ イ ア ロ グボ ッ ク ス で、基本接続パ ラ メ ー タ
な ど の値 を 指定 し てデー タ ベー ス プ ロ フ ァ イ ル を 作成す る 必要が あ
り ます。作成後は、いつで も こ のプ ロ フ ァ イ ルを選択 し て PowerBuilder
のデー タ に接続で き ます。
デー タ ベース プ ロ フ ァ イ ルの定義方法については、 8 ページの 「デー
タ ベース プ ロ フ ァ イ ルの使い方」 を参照 し て く だ さ い。
接続パラ メ ー タ の指定
接続パ ラ メ ー タ の [名前空間] お よ び [デー タ ソ ース] の値 と [ユー
ザ ID] お よ び [パ ス ワ ー ド ] の 値 を 指 定 す る 必 要 が あ り ま す。
System.Data.OleDb 名前空間を使用す る と き は、 [プ ロ バ イ ダ] ド ロ ッ
プダ ウ ン リ ス ト の イ ン ス ト ール済みのデー タ プ ロ バ イ ダの リ ス ト か
ら デー タ プ ロ バ イ ダ も 選択 し ます。
デー タ ベース と の接続
67
ADO.NET イ ン タ フ ェ ースの定義
[デー タ ソ ース] の値は、 使用す る デー タ ソ ース接続の種類に よ っ て
異な り ます。 た と えば、 Microsoft OLE DB Provider for SQL Server を使
用す る 場合は、 [プ ロ バ イ ダ] の値 と し て SQLOLEDB を選択 し 、 [デー
タ ソ ー ス] の値 と し て実際のサーバ名 を 入力 し ま す。 Microsoft SQL
Server の場合は、 複数のデー タ ベース イ ン ス タ ン ス を持つ こ と がで き
る ため、 [拡張プ ロ パテ ィ ] フ ィ ール ド でデー タ ベー ス 名 (た と えば
Database=Pubs) も 使用す る 必要があ り ます。
OLE DB でのデー タ
リ ン ク API の使い方
[デー タ リ ン ク ] オプシ ョ ン を使 う と 、 Microsoft デー タ リ ン ク API に
ア ク セ ス し 、 フ ァ イ ルを定義 し た り 、 OLE DB 接続情報が格納 さ れた
既存の フ ァ イ ルを使用 し た り す る こ と がで き ます。デー タ リ ン ク フ ァ
イ ルは、 .udl と い う 拡張子で識別 さ れ ます。
こ のオプシ ョ ン を起動す る には、[接続] ページの [フ ァ イ ル名] チ ェ ッ
ク ボ ッ ク ス を選択 し て [フ ァ イ ル名] ボ ッ ク ス の隣のボ タ ン を ク リ ッ
ク し ます。 (ま た、 デー タ ベース ペ イ ン タ の [使用で き る デー タ ベー
ス イ ン タ フ ェ ース] の リ ス ト で、 OLE DB イ ン タ フ ェ ース に含まれ る
Manage Data Links ユーテ ィ リ テ ィ を ダブル ク リ ッ ク し て も デー タ リ ン
ク API を起動で き ます)。
デー タ リ ン ク API の使い方についての詳細は、 Microsoft ラ イ ブ ラ リ のサ
イ ト http://msdn2.microsoft.com/en-us/library/default.aspx を 参照 し て く だ さ
い。
デー タ リ ン ク フ ァ イルの使用 対 デー タ ベース パラ メ ー タ の設定
デー タ リ ン ク フ ァ イ ル を 使用 し てデー タ ソ ー ス へ接続す る 場合は、
DB プ ロ フ ァ イ ル設定 ADO.NET ダ イ ア ロ グ ボ ッ ク ス で指定 し たほか
の設定値はすべて無視 さ れます。
identity カ ラ ム値の取得
標準の select @@identity 構文を使用 し て identity カ ラ ム の値を取得
で き ま す。 アプ リ ケーシ ョ ン の .NET 構成フ ァ イ ルにセ ク シ ョ ン を追
加 し て、 select scope_identity() 等の別の構文を使用す る こ と も で
き ます。
構成 フ ァ イルの
dbConfiguration セ ク
シ ョ ンの設定
以下の例は、 デー タ ベース構成セ ク シ ョ ン と 1 つのカ ス タ ム構成セ ク
シ ョ ン を持つ構成フ ァ イ ルの一般的な構造を示 し てい ます。
<configuration>
<configSections>
<sectionGroup name="dbConfiguration">
<section name="mycustomconfig"
68
PowerBuilder
第5章
ADO.NET イ ン タ フ ェ ース
type="Sybase.PowerBuilder.Db.DbConfiguration,
Sybase.PowerBuilder.Db"
/>
</sectionGroup>
</configSections>
<dbConfiguration>
<mycustomconfig dbParm="optional_value"
getIdentity="optional_syntax"
/>
</dbConfiguration>
</configuration>
❖
デー タ ベース構成セ ク シ ョ ン を .NET 構成フ ァ イルに追加するには
1
構成フ ァ イ ルの <configSections> セ ク シ ョ ン で、 名前
「dbConfiguration」 を持つ <sectionGroup> 要素を追加 し ます。 こ の
名前は大文字 と 小文字を区別 し ます。
<configSections> は、 構成フ ァ イ ルの始めに (<runtime> セ ク シ ョ ン
があ る 場合はその前に) あ る 必要があ り ます。
2
dbConfiguration <sectionGroup> 要素で、 い く つかの <section> 要素
の う ちの 1 つを追加 し ます。
各セ ク シ ョ ン に対 し て、 選択肢の名前 と 種類を指定 し ます。 種類
は、 構成フ ァ イ ルの こ のセ ク シ ョ ン を解析す る ために使用 さ れ る
アセ ン ブ リ の厳密な名前です。
3
<section> お よ び <configSections> 要素を閉 じ て、<dbConfiguration>
要素を追加 し ます。
4
手順 2 で定義 し た各セ ク シ ョ ンに対 し て、 新 し い要素を
<dbConfiguration> 要素に追加 し ます。
た と えば、 config1 と い う セ ク シ ョ ン を定義 し た場合は、 config1
要素を追加 し ます。各要素は dbParm と getIdentity の 2 つ の属性を
持ち ま す。 こ れ ら の属性の ど ち ら か あ る いは両方を設定す る こ と
がで き ます。
dbParm 値は、 ト ラ ンザ ク シ ョ ン オブジ ェ ク ト の DBParm パ ラ メ ー
タ の値を設定 し ます。 こ の値の最大長は 1000 文字です。 構成フ ァ
イ ルでパ ラ メ ー タ の値を設定す る と 、コ ー ド あ る いは DB プ ロ フ ァ
イ ル設定 ダ イ ア ロ グ ボ ッ ク ス で設定 し た値は上書 き さ れます。
getIdentity 値は、 identity カ ラ ム の値を取 り 出すために使用 さ れ る
構文を指定 し ます。 最大長は 100 文字です。 getIdentity の値を指定
し ない場合は、 select @@identity 構文が使用 さ れ ます。
デー タ ベース と の接続
69
ADO.NET イ ン タ フ ェ ースの定義
構成 フ ァ イルのサン プ
ル
PowerBuilder 11.0 の こ の構成 フ ァ イ ルのサ ン プルは、 pb110.exe.config
と 呼ばれ ます。サン プルは 3 つのカ ス タ ム構成を含みます。<myconfig>
要素は dbParm お よ び getIdentity 属性の両方を設定し ま す。 <myconfig1>
は getIdentity だけ を設定 し 、<myconfig2> は dbParm だけ を設定 し ます。
<runtime> セ ク シ ョ ンは、 PowerBuilder に付属の構成フ ァ イ ルの中にあ
り ますが、 アプ リ ケーシ ョ ンに付属の構成フ ァ イ ル (拡張子 exe.config
を持つアプ リ ケーシ ョ ン と 同 じ 名前を持つ) には含まれ ません。 .NET
Web フ ォ ーム タ ーゲ ッ ト では、 カ ス タ ム構成を web.config フ ァ イ ルに
追加 し ます。
<configuration>
<configSections>
<sectionGroup name="dbConfiguration">
<section name="myconfig"
type="Sybase.PowerBuilder.Db.DbConfiguration,
Sybase.PowerBuilder.Db"
/>
<section name="myconfig1"
type="Sybase.PowerBuilder.Db.DbConfiguration,
Sybase.PowerBuilder.Db"
/>
<section name="myconfig2"
type="Sybase.PowerBuilder.Db.DbConfiguration,
Sybase.PowerBuilder.Db"
/>
</sectionGroup>
</configSections>
<runtime>
<assemblyBinding xmlns=
"urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name=
"Sybase.PowerBuilder.Db"/>
<codeBase href="file:///C:/Program Files/
Sybase/PowerBuilder 11.0/DotNET/bin/
Sybase.PowerBuilder.Db.dll"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name=
"Sybase.PowerBuilder.WebService.WSDL"/>
<codeBase href="file:///C:/Program Files/
Sybase/PowerBuilder 11.0/DotNET/bin/
Sybase.PowerBuilder.WebService.WSDL.dll"/>
</dependentAssembly>
<dependentAssembly>
70
PowerBuilder
第5章
ADO.NET イ ン タ フ ェ ース
<assemblyIdentity name=
"Sybase.PowerBuilder.WebService.Runtime"/>
<codeBase href="file:///C:/Program Files/
Sybase/PowerBuilder 11.0/DotNET/bin/
Sybase.PowerBuilder.WebService.
Runtime.dll"/>
</dependentAssembly>
<probing privatePath="DotNET/bin" />
</assemblyBinding>
</runtime>
<dbConfiguration>
<myconfig dbParm="disablebind=1"
getIdentity="select scope_identity()"
/>
<myconfig1 getIdentity="select scope_identity()"
/>
<myconfig2 dbParm=
"Namespace='Oracle.DataAccess.Client',
DataSource='ora10gen',DisableBind=1,
NCharBind=1,ADORelease='10.1.0.301'"
/>
</dbConfiguration>
</configuration>
使用 さ れる カ ス タ ム構
成の指定
ADO.NET の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の [シ ス テ ム]
タ ブ ページ あ る いは コ ー ド で、DbConfigSection パ ラ メ ー タ の値 と し て
使用 し たい カ ス タ ム構成セ ク シ ョ ン の名前 を 指定 し ま す。 た と えば、
次の よ う に指定 し ます。
Sqlca.DBParm="DbConfigSection='myconfig'"
構成フ ァ イ ルの中で も 設定 さ れ る プ ロ フ ァ イ ル内あ る いは コ ー ド 内で
パ ラ メ ー タ を設定す る 場合は、 構成フ ァ イ ルで指定 し た値が優先 さ れ
ます。
構成フ ァ イ ルは、 実行フ ァ イ ル と 同 じ デ ィ レ ク ト リ に存在 し 、 拡張子
.config を持つ同 じ 名前であ る 必要があ り ます。
デー タ ベース と の接続
71
ADO.NET イ ン タ フ ェ ースの定義
72
PowerBuilder
第
3
部
ネ イ テ ィ ブ デー タ ベース
イ ン タ フ ェ ースの使い方
第 3 部では、 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ース を
使用 し て ア ク セ スするデー タ ベース接続を セ ッ ト ア ッ プお
よび定義する方法について説明 し ます。
第 6 章
ネ イ テ ィ ブ デー タ ベース イ ン タ
フ ェ ースの使い方
こ の章について
こ の章では、 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェース の概要につ
いて説明 し ます。 以降の章では、 デー タ ベー ス を使用す る ための
準備や、 デー タ にア ク セ スす る ための固有のデー タ ベース イ ン タ
フ ェース パ ラ メ ー タ の定義の し かたについて解説 し ます。
内容
項目
ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェース について
デー タ ベース イ ン タ フ ェ ース接続の コ ン ポーネ ン ト
ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェース の使い方
ページ
75
76
78
ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースについて
ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ース では、 さ ま ざ ま なデー タ
ベースや DBMS と ネ イ テ ィ ブな接続がで き ます。 こ の章では、 ネ
イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を 使用 し てデー タ ベー ス
に接続をす る 方法について解説 し ます。
PowerBuilder Desktop 版 で は、 ネ イ テ ィ ブ デー タ ベー ス イ ン タ
フ ェ ー ス を 提供 し ま せん。 PowerBuilder Enterprise 版に ア ッ プ グ
レー ド す る と 、 ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェース が使用で
き ます。
サポー ト さ れてい る ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス の
一覧については、 オ ン ラ イ ン ヘルプの 「サポー ト し てい る デー タ
ベース イ ン タ フ ェ ース」 を参照 し て く だ さ い。
ネイ ティ ブ データ ベース イ ンタ フ ェ ース を使用する と 、PowerBuilder
か ら デー タ ベース に直接 (ネ イ テ ィ ブ) に接続 し ます。
デー タ ベース と の接続
75
デー タ ベース イ ン タ フ ェ ース接続の コ ンポーネ ン ト
ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ース は、ベン ダ固有のデー タ ベー
ス API を経由 し て特定のデー タ ベース と 接続を行 う ために、 それぞれ
専用の イ ン タ フ ェ ー ス DLL を 使用 し ま す。 た と え ば Microsoft SQL
Server の SQL Native Client イ ン タ フ ェース は、デー タ ベース にア ク セ ス
す る ために PBSNC110.DLL と い う DLL を使用 し ます。 ま た、Oracle 10g
デー タ ベー ス イ ン タ フ ェ ー ス は、 PBO10110.DLL を 使用 し てデー タ
ベース にア ク セ ス し ます。
こ れに対 し て標準デー タ ベー ス イ ン タ フ ェ ー ス 接続の場合は、 標準
API を 使用し てデータ ベース にアク セス し ま す。たと えば、PowerBuilder
は イ ン タ フ ェース DLL (PBODB110.DLL) を使用 し て ODBC ド ラ イ バ
マネージ ャ や対応す る ド ラ イ バ と 通信 し て、 ODBC デー タ ソ ース にア
ク セ ス し ます。
デー タ ベース イ ン タ フ ェ ース接続の コ ンポーネ ン ト
ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を使用 し てデー タ ベー ス に
ア ク セ ス す る 場合、 デー タ ベース に到達す る ま でにい く つかの レ イ ヤ
を経由 し ます。 それぞれの レ イ ヤは、 デー タ ベー ス 接続におけ る 独立
し た コ ン ポーネ ン ト で あ り 、 レ イ ヤ ご と に提供 し て い る ベ ン ダ が異
な っ てい る 可能性があ り ます。
76
PowerBuilder
第6章
ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースの使い方
図 6-1: デー タ ベース接続の コ ンポーネ ン ト
デー タ ベー ス接続の特定の コ ン ポーネ ン ト を示す図については、 ネ イ
テ ィ ブ デー タ ベース イ ン タ フ ェース を説明 し てい る 章の 「基本 ソ フ ト
ウ ェ ア コ ン ポーネ ン ト 」 を参照 し て く だ さ い。
デー タ ベース と の接続
77
ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースの使い方
ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースの使い方
ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を使用 し てデー タ ベー ス に
ア ク セ スす る には、 い く つかの基本ス テ ッ プ を実行 し ます。
ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を経由 し てデー タ ベー ス に
接続す る には、 まず、使用す る デー タ ベース を準備 し ます。デー タ ベー
ス を準備す る と 、 PowerBuilder か ら そのデー タ にア ク セ ス し 利用で き
る よ う にな り ます。
デー タ ベース を使用す
る ための準備
PowerBuilder を起動 し 、 デー タ ベース イ ン タ フ ェース を定義 し てデー
タ ベー ス に接続す る 前に、 PowerBuilder の外部の環境でデー タ ベー ス
と 接続す る ための準備が必要です。 各デー タ ベース に よ っ て必要な条
件は異な り ますが、 一般に、 デー タ ベー ス を準備す る には以下の手順
を実行 し ます。
❖
PowerBuilder で使用するデー タ ベース を準備する
1
必要なデー タ ベース サーバ ソ フ ト ウ ェ アが、 サ イ ト に正 し く イ ン
ス ト ール さ れ、 設定 さ れてい る こ と を確認 し ます。
2
デー タ ベース サーバに接続す る ためにネ ッ ト ワー ク ソ フ ト ウ ェ
アが必要 と な る 場合には、 ネ ッ ト ワ ー ク ソ フ ト ウ ェ アがサ イ ト と
ク ラ イ ア ン ト マシ ン に正 し く イ ン ス ト ール さ れ、 設定 さ れてい る
こ と を確認 し ます。
3
必要なデー タ ベース ク ラ イ ア ン ト ソ フ ト ウ ェ アが、 ク ラ イ ア ン ト
マ シ ン に正 し く イ ン ス ト ール さ れ、 設定 さ れてい る こ と を確認 し
ま す (通常、 ク ラ イ ア ン ト マ シ ン は、 PowerBuilder が稼動 し てい
る マシ ン です)。
ク ラ イ ア ン ト ソ フ ト ウ ェ アは、 デー タ ベース ベン ダか ら 入手す る
必要が あ り ま す。 ま た、 イ ン ス ト ールす る ク ラ イ ア ン ト ソ フ ト
ウ ェ ア のバージ ョ ン が、 以下をすべてサポー ト し てい る こ と を確
認 し て く だ さ い。
ク ラ イ ア ン ト マシ ン上で稼働 し てい る オペレーテ ィ ン グ シ ス
テム
ア ク セ スす る デー タ ベース のバージ ョ ン
稼働 し てい る PowerBuilder のバージ ョ ン
4
PowerBuilder の外部の環境で、ア ク セ ス し たいサーバやデー タ ベー
ス に接続で き る こ と を確認 し ます。
デー タ ベース ご と の具体的な手順については、 ネ イ テ ィ ブ デー タ ベー
ス イ ン タ フ ェース を説明 し てい る 章の 「デー タ ベース に接続す る ため
の準備」 を参照 し て く だ さ い。
78
PowerBuilder
第6章
ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースの使い方
ネ イ テ ィ ブ デー タ
ベース イ ン タ フ ェ ー
スのイ ン ス ト ールにつ
いて
デー タ ベー ス を使用す る ための準備を し た後で、 デー タ ベー ス にア ク
セ ス す る ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を イ ン ス ト ールす
る 必要があ り ます。 詳細については、 それぞれの イ ン タ フ ェ ース の説
明を参照 し て く だ さ い。
ネ イ テ ィ ブ デー タ
ベース イ ン タ フ ェ ー
スの定義
デー タ ベー ス にア ク セ ス す る 準備を終え た ら 、 PowerBuilder を起動 し
て、 デー タ ベース イ ン タ フ ェ ース を定義 し ます。 デー タ ベース イ ン タ
フ ェ ース を定義す る には、 その イ ン タ フ ェ ース の DB プ ロ フ ァ イ ル設
定 ダ イ ア ロ グ ボ ッ ク ス に適切な値を入力 し て、デー タ ベース プ ロ フ ァ
イ ルを作成す る 必要があ り ます。
一般的な手順については、 8 ページの 「デー タ ベース プ ロ フ ァ イ ルの
作成について」 を参照 し て く だ さ い。 それぞれのデー タ ベー ス に固有
なデー タ ベー ス イ ン タ フ ェ ー ス パ ラ メ ー タ を定義す る 手順について
は、ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ース を個別に解説 し てい る 章
の 「デー タ ベース に接続す る ための準備」 を参照 し て く だ さ い。
詳細について
以降の章では、各ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ース の使用に関
す る 一般的な内容について説明 し ます。 詳細については、 以下を参照
し て く だ さ い。
•
デー タ ベース に接続す る 方法を解説 し たテ ク ニ カル ド キ ュ メ ン ト
が あ る か ど う か確認 し て く だ さ い。 接続に関す る 新 し い情報は、
Sybase サポー ト と ダ ウ ン ロ ー ド のサ イ ト http://www.sybase.com/support
か ら 取得で き ます。
•
デー タ ベース と の接続
データ ベース サーバやク ラ イ アン ト ソ フ ト ウ ェ アのイ ン ス ト ール
や設定をす る 場合は、 そのサ イ ト のネ ッ ト ワ ー ク 管理者 ま たはシ
ス テ ム管理者に相談 し て く だ さ い。
79
ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ースの使い方
80
PowerBuilder
第 7 章
Adaptive Server Enterprise の
使い方
こ の章について
こ の章では、 PowerBuilder において Adaptive Server Enterprise デー
タ ベース イ ン タ フ ェ ース を使用す る 方法について解説 し ます。
内容
項目
サポー ト し てい る Adaptive Server のバージ ョ ン
サポー ト し てい る Adaptive Server デー タ 型
Adaptive Server の基本 ソ フ ト ウ ェ ア コ ン ポーネ ン ト
Adaptive Server デー タ ベース を使用す る ための準備
Adaptive Server デー タ ベース イ ン タ フ ェ ース の定義
Open Client のセキ ュ リ テ ィ サービ ス
Open Client のデ ィ レ ク ト リ サービ ス の使い方
Adaptive Server ス ト ア ド プ ロ シージ ャ におけ る PRINT 文の使
い方
デー タ ベース間の結合に基づ く デー タ ウ ィ ン ド ウ の作成
Adaptive Server デー タ ベー ス におけ る ス ト ア ド プ ロ シージ ャ
の イ ン ス ト ール
ページ
81
82
85
86
89
90
93
96
97
97
サポー ト し ている Adaptive Server のバージ ョ ン
SYC Adaptive Server デー タ ベー ス イ ン タ フ ェ ー ス を 使用 し て、
Adaptive Server バージ ョ ン 11.x、12.x、 お よ び 15.x にア ク セ ス がで
き ます。 こ の イ ン タ フ ェース を使用 し たほかの Open Server™ プ ロ
グ ラ ムへのア ク セ ス は、 サポー ト し てい ません。 SYC デー タ ベー
ス イ ン タ フ ェ ー ス は、 PBSYC110.DLL と い う DLL を 使用 し て
Open Client CT-Lib API 経由でデー タ ベース にア ク セ ス し ます。
デー タ ベース と の接続
81
サポー ト し ている Adaptive Server デー タ 型
ASE Adaptive Server デー タ ベース イ ン タ フ ェ ース を使用 し て、Adaptive
Server バージ ョ ン 15.x に ア ク セ ス す る こ と も で き ま す。 こ の イ ン タ
フ ェ ース を使用 し たほかの Open Server™ プ ロ グ ラ ムへのア ク セ ス は、
サポー ト し てい ません。 Adaptive Server デー タ ベース イ ン タ フ ェ ース
は、 PBASE110.DLL と い う DLL を使用 し て Open Client CT-Lib API 経
由でデー タ ベー ス にア ク セ ス し ます。 こ の イ ン タ フ ェ ース を使用す る
た め に は、 Adaptive Server 15 ク ラ イ ア ン ト が ク ラ イ ア ン ト の コ ン
ピ ュ ー タ に イ ン ス ト ール さ れ て い る 必要 が あ り ま す。 ASE イ ン タ
フ ェ ース は、 128 文字ま での大 き な識別子を サポー ト し ます。
Client Library API
Adaptive Server データ ベース イ ンタ フ ェ ース は、 Open Client™ CT-Library
(CT-Lib) アプ リ ケーシ ョ ン プ ロ グ ラ ミ ン グ イ ン タ フ ェース (API) を
使用 し てデー タ ベース にア ク セ ス し ます。
Adaptive Server デー タ ベース に接続す る と 、 PowerBuilder に よ っ て、 必
要な API 呼び出 し が行われ ま す。 し たが っ て、 デー タ ベー ス イ ン タ
フ ェ ース を使用す る 上で、 CT -Lib に関す る 知識は必要あ り ません。
EAServer での
PowerBuilder カ ス タ
ム ク ラ ス ユーザ オブ
ジ ェ ク ト の配布
EAServer で使用す る CT-Lib ソ フ ト ウ ェ アは、バージ ョ ンが少 し 異な り
ます。 し たが っ て、 実行時には ASE や SYC ではな く SYJ デー タ ベー
ス イ ン タ フ ェ ース を使用 し て Adaptive Server デー タ ベース に接続す る
必要があ り ます。 SYJ の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス を
使 う と 、 適切な接続パ ラ メ ー タ を設定 し 、 構文を [プ レ ビ ュ ー] タ ブ
か ら ト ラ ン ザ ク シ ョ ン オブ ジ ェ ク ト の ス ク リ プ ト に簡単に コ ピ ーで
き ま す。 SYJ デー タ ベー ス イ ン タ フ ェ ー ス は PBSYJ110.DLL と い う
DLL を使用 し ます。
ただ し 、 SYJ イ ン タ フ ェ ー ス を使用 し て、 PowerBuilder 開発環境か ら
デー タ ベース に接続す る こ と はで き ません。 そのため、 開発段階、 つ
ま り コ ン ポーネ ン ト が EAServer に配布 さ れ る 前の段階では、 ASE や
SYC イ ン タ フ ェース を使用 し てデー タ ベース に接続す る 必要があ り ま
す。
サポー ト し ている Adaptive Server デー タ 型
Adaptive Server イ ン タ フ ェース は、 デー タ ウ ィ ン ド ウ オブジ ェ ク ト と
埋め込み SQL において、表 7-1 に示す Sybase デー タ 型をサポー ト し て
い ます。
82
PowerBuilder
第7章
Adaptive Server Enterprise の使い方
表 7-1: サポー ト し てい る Adaptive Server Enterprise デー タ 型
Binary
NVarChar
Real
BigInt (15.x 以降)
Bit
SmallDateTime
SmallInt
Char (84 ページの 「カ ラ ムの長 さ の制限」
を参照)
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 以降では、 PowerBuilder は符号付 き の bigint、 int、 お
よ び smallint デー タ 型 と 同 じ よ う に符号な し のデー タ 型 も サポー ト し
ます。 bigint、 int、 numeric、 smallint、 tinyint、 unsigned bigint、 unsigned int、 お
よ び unsigned smallint デー タ 型 も 、 Adaptive Server 15.0 以降では Identity
カ ラ ム と し て使用で き ます。
Unicode デー タ への
ア ク セス
PowerBuilder は、 ANSI/DBCS お よ び Unicode の両方のデー タ ベース の
デー タ に接続、 保存、 検索す る こ と がで き ます。 文字デー タ ま たは コ
マ ン ド テ キ ス ト がデー タ ベース に送信 さ れ る と 、PowerBuilder は UTF8
デー タ ベース パ ラ メ ー タ が 0 に設定 さ れてい る (デフ ォ ル ト ) 場合は、
DBCS 文 字 列 を 送 信 し ま す。 UTF8 が 1 に 設 定 さ れ て い る 場 合、
PowerBuilder は UTF-8 文字列を送信 し ます。 UTF-8 文字列を受け取 る
には、 デー タ ベー ス サーバが正 し く 設定 さ れてい る 必要が あ り ま す。
詳細については、 オ ン ラ イ ン ヘルプの UTF8 デー タ ベース パ ラ メ ー タ
の説明を参照 し て く だ さ い。
Adaptive Server デー タ ベース サーバで使用 さ れ る 文字セ ッ ト は、 サー
バのすべて のデー タ ベー ス に適用 さ れ ま す。 サーバの文字セ ッ ト が
UTF-8 の場合、 nchar と nvarchar デー タ 型は UTF-8 デー タ を格納 し ま
す。 Unicode デー タ 型 unichar と univarchar は、 Unicode デー タ をサポー
ト す る ために、 Adaptive Server 12.5 で導入 さ れ ま し た。 こ れ ら のデー
タ 型を持つカ ラ ムは、 Unicode デー タ だけ を格納 し ます。 こ の よ う な カ
ラ ム に保存 さ れ る デー タ は、 明示的に Unicode に変換す る 必要があ り
ます。 こ の変換は、 デー タ ベース サーバ ま たは ク ラ イ ア ン ト に よ っ て
行 う 必要があ り ます。
デー タ ベース と の接続
83
サポー ト し ている 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 デー タ 型用の ワ イ ド カ ラ ム をサポー ト し 、 サーバが使用す る
論理ページ サ イ ズ と ロ ッ ク ス キーム に依存 し ます。
PowerBuilder では、以下の条件の時に、Adaptive Server 12.5.x で Char と
VarChar デー タ 型用の ワ イ ド カ ラ ム を使用で き ます。
•
Release デー タ ベース パ ラ メ ー タ を 12.5 以降に設定
•
デー タ ベース ア ク セ ス に Open Client 12.5.x 以降を使用
最大幅の利点を享受す る には、 大容量の論理ページ サ イ ズ を使用す る
よ う にデー タ ベース で設定す る 必要があ り ます。
ワ イ ド カ ラ ム と 設定の問題に関す る 詳細については、 製品マニ ュ アル の
サイ ト http://www.sybase.com/support/manuals/ の Adaptive Server マニ ュ ア
ルを参照 し て く だ さ い。Release デー タ ベース パ ラ メ ー タ の詳細につい
ては、 オ ン ラ イ ン ヘルプ を参照 し て く だ さ い。
84
PowerBuilder
第7章
Adaptive Server Enterprise の使い方
カラ ムの検索や更新処理を する 際、Adaptive Server データ 型と PowerScript
デー タ 型の間で適宜、 デー タ 変換が行われ ます。 同様の名前、 ま たは
同一の名前 を持つ Adaptive Server デー タ 型 と PowerScript デー タ 型で
あ っ て も 、 必ず し も 同 じ 定義を持つ と は限 り ません。 PowerScript デー
タ 型の定義については、 『PowerScript リ フ ァ レ ン ス』 マ ニ ュ アル を参
照 し て く だ さ い。
PowerBuilder ス ク リ
プ ト での型変換
変換後の文字列が Adaptive Server にオーバーフ ロ ーを 引き 起こ す可能
性があ る 場合、 小数部を 持たない Double 型は、 小数部が 1 桁付加さ れ
た文字列に変換さ れま す。たと え ば、Double 型文字列の 12345678901234
はオーバーフ ロ ー エラ ーを 引き 起こ すため、 12345678901234.0 に変換
さ れま す。
Adaptive Server の基本 ソ フ ト ウ ェ ア コ ンポーネ ン ト
図 7-1 は、PowerBuilder か ら Adaptive Server デー タ ベース にア ク セ スす
る ために必要な基本 ソ フ ト ウ ェ ア コ ン ポーネ ン ト を示 し てい ます。
デー タ ベース と の接続
85
Adaptive Server デー タ ベース を使用する ための準備
図 7-1: Adaptive Server Enterprise 接続のコ ンポーネ ン ト
Adaptive Server デー タ ベース を使用する ための準備
デー タ ベー ス イ ン タ フ ェ ー ス を 定義 し 、 PowerBuilder か ら Adaptive
Server デー タ ベー ス に接続す る 前に、 以下の手順に従 っ て 使用す る
デー タ ベース を準備 し ます。
86
1
接続に必要なデー タ ベース サーバ、 ネ ッ ト ワー ク 、 ク ラ イ ア ン ト
ソ フ ト ウ ェ ア を イ ン ス ト ール し 、 設定 し ます。
2
Adaptive Server データ ベース イ ンタ フ ェ ース をイ ンス ト ールし ま す。
PowerBuilder
第7章
Adaptive Server Enterprise の使い方
3
PowerBuilder の外部の環境で、 Adaptive Server に接続で き る こ と を
確認 し ます。
4
sybsystemprocs デー タ ベース に必要な PowerBuilder ス ト ア ド プ ロ
シージ ャ を イ ン ス ト ール し ます。
PowerBuilder で使用す る Adaptive Server デー タ ベース を準備す る には、
基本的に共通の以下の 4 つの操作を し ます。
ス テ ッ プ 1 : デー タ
ベース サーバのイ ン
ス ト ール と 設定
Adaptive Server 用にデー タ ベース サーバ、 ネ ッ ト ワー ク 、 ク ラ イ ア ン
ト ソ フ ト ウ ェ ア を イ ン ス ト ール し 、 設定す る 必要があ り ます。
❖
デー タ ベース サーバ、ネ ッ ト ワー ク 、ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ー
ル し 、 設定する
1
デー タ ベース プ ロ フ ァ イ ルに指定 さ れてい る サーバ上に、Adaptive
Server デー タ ベー ス ソ フ ト ウ ェ アが イ ン ス ト ール さ れてい る こ と
を確認 し ます。
Sybase 社のデー タ ベー ス サーバ ソ フ ト ウ ェ ア を 入手す る 必要が
あ り ます。
イ ン ス ト ールの手順については、Adaptive Server のマニ ュ アルを参
照 し て く だ さ い。
2
自分のマシ ン上に、 サポー ト し てい る ネ ッ ト ワ ー ク ソ フ ト ウ ェ ア
(TCP/IP な ど) が イ ン ス ト ール さ れ、 稼働 し てい る こ と に加え て、
自分のサ イ ト か ら デー タ ベース サーバに接続す る 設定が正 し い こ
と を確認 し ます。
た と えば、 使用 し てい る ネ ッ ト ワ ー ク プ ロ ト コ ルやオペレーテ ィ
ン グ シ ス テ ム プ ラ ッ ト フ ォ ーム を サポー ト す る 、ネ ッ ト ワ ー ク コ
ミ ュ ニ ケーシ ョ ン ド ラ イ バ を イ ン ス ト ールす る 必要が あ り ま す。
ド ラ イ バは、 Net-Library ク ラ イ ア ン ト ソ フ ト ウ ェ アの一部 と し て
イ ン ス ト ール さ れ ます。
イ ン ス ト ール と 設定の手順については、 ネ ッ ト ワ ー ク ま たはデー
タ ベース の管理者に問い合わせて く だ さ い。
3
PowerBuilder が イ ン ス ト ール さ れてい る 各 ク ラ イ ア ン ト マシ ン
に、 必要な Open Client CT-Library (CT-Lib) ソ フ ト ウ ェ ア を イ ン
ス ト ール し ます。
Sybase 社の Open Client ソ フ ト ウ ェ ア を入手す る 必要があ り ます。
イ ン ス ト ールす る Open Client のバージ ョ ン が、 以下 を すべて サ
ポー ト す る こ と を確認 し ます。
ク ラ イ ア ン ト マシ ン上で稼働 し てい る オペレーテ ィ ン グ シ ス
テム
デー タ ベース と の接続
87
Adaptive Server デー タ ベース を使用する ための準備
ア ク セ スす る Adaptive Server のバージ ョ ン
稼働 し てい る PowerBuilder のバージ ョ ン
ク ラ イ ア ン ト ソ フ ト ウ ェ アのバージ ョ ンの要件
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 のマニ ュ アルを参照 し て く だ さ い。
ス テ ッ プ 2 : デー タ
ベース イ ン タ フ ェ ー
スのイ ン ス ト ール
5
オペレーテ ィ ン グ シ ス テ ムの必要に応 じ て、 Open Client ソ フ ト
ウ ェ アのデ ィ レ ク ト リ がシ ス テ ム パ ス にあ る こ と を確認 し ます。
6
以下の フ ァ イ ルが ク ラ イ ア ン ト マシ ン上に イ ン ス ト ール さ れてい
る こ と を確認 し ます。
•
Adaptive Server イ ン タ フ ェ ース DLL
•
ネ ッ ト ワー ク コ ミ ュ ニ ケーシ ョ ン DLL (Windows Sockets 準拠
TCP/IP 用の NLWNSCK.DLL な ど)
•
デー タ ベース ベン ダ DLL (LIBCT.DLL な ど)
PowerBuilder のセ ッ ト ア ッ プ プ ロ グ ラ ム で、 標準 イ ン ス ト ールを選択
す る か、 カ ス タ ム イ ン ス ト ー ル を 選 択 し た 場 合 は Adaptive Server
Enterprise (ASE ま たは SYC) デー タ ベース イ ン タ フ ェ ース を選択 し て
く だ さ い。
PowerBuilder お よ び EAServer を 使 用 す る 場 合、 EAServer (SYJ) の
Adaptive Server イ ン タ フ ェ ース も 選択す る 必要があ り ます。
ス テ ッ プ 3 : 接続の確
認
88
PowerBuilder の外部の環境で、 Adaptive Server デー タ ベース サーバに
接続 し 、 ア ク セ ス し たいデー タ ベー ス に ロ グ イ ン で き る こ と を確認 し
ます。
PowerBuilder
第7章
Adaptive Server Enterprise の使い方
以下の ツールを実行す る と 、 接続を確認で き ます。
ステ ッ プ 4 :
PowerBuilder ス ト ア
ド プ ロ シージ ャの
イ ン ス ト ール
デー タ ベース サーバ と の接続
•
Open Client/Open Server Configuration
ユーテ ィ リ テ ィ (ま たは Ping ユーテ ィ リ テ ィ ) な ど の ツ ールは、
自分のマシ ン か ら デー タ ベース サーバにア ク セ ス で き る か ど う か
をチ ェ ッ ク し ます。
•
ISQL (対話型 SQL ユーテ ィ リ テ ィ ) な ど の
ツールは、 デー タ ベー ス に ロ グ イ ン し 、 デー タ ベー ス 操作が実行
で き る か ど う か を チ ェ ッ ク し ま す。 デー タ ベー ス にア ク セ ス す る
と き PowerBuilder のデー タ ベース プ ロ フ ァ イ ルで使用す る 予定の
接続パ ラ メ ー タ と 、 同 じ 値の接続パ ラ メ ー タ を指定す る こ と をお
勧め し ます。
デー タ ベース と の接続
PowerBuilder では、 Adaptive Server デー タ ベー ス に最初に接続す る 前
に、 sybsystemprocs デー タ ベー ス に特定の ス ト ア ド プ ロ シージ ャ を イ
ン ス ト ール し てお く 必要が あ り ま す。 PowerBuilder は、 こ の ス ト ア ド
プ ロ シージ ャ を使用 し て、 DBMS シ ス テ ム カ タ ロ グか ら テーブルやカ
ラ ムについての情報を取得 し ます。
sybsystemprocs デー タ ベース に PowerBuilder ス ト ア ド プ ロ シージ ャ を
イ ン ス ト ールす る ために必要な SQL ス ク リ プ ト を実行 し ます。
詳 し い手順については、 97 ページの 「Adaptive Server デー タ ベース に
おけ る ス ト ア ド プ ロ シージ ャ の イ ン ス ト ール」 を参照 し て く だ さ い。
Adaptive Server デー タ ベース イ ン タ フ ェ ースの定義
Adaptive Server イ ン タ フ ェ ー ス を介 し た接続を定義す る には、 少な く
と も 、DB プ ロ フ ァ イ ル設定 - Adaptive Server Enterprise ダ イ ア ロ グ ボ ッ
ク ス の基本接続パ ラ メ ー タ 用の値を指定 し て、 デー タ ベース プ ロ フ ァ
イ ルを作成 し なければな り ません。 次回以降、 こ のデー タ ベース プ ロ
フ ァ イ ルを選択す る と 、 開発環境でそのデー タ ベース にいつで も 接続
で き ます。
デー タ ベース プ ロ フ ァ イ ルの定義方法については、 8 ページの 「デー
タ ベース プ ロ フ ァ イ ルの使い方」 を参照 し て く だ さ い。
デー タ ベース と の接続
89
Open Client のセキ ュ リ テ ィ サービ ス
EAServer で配布 さ れ る PowerBuilder カ ス タ ム ク ラ ス ユーザ オ ブ ジ ェ ク
ト 用の接続を定義する
SYJ イ ン タ フ ェース を使用 し て、PowerBuilder 開発環境か ら デー タ ベー
ス に接続す る こ と はで き ません。 ただ し 、 SYJ の DB プ ロ フ ァ イ ル設
定 ダ イ ア ロ グ ボ ッ ク ス を使 う と 、 適切な接続パ ラ メ ー タ を設定 し 、 構
文を [プ レ ビ ュ ー] タ ブか ら ト ラ ンザ ク シ ョ ン オブジ ェ ク ト の ス ク リ
プ ト に簡単に コ ピーで き ます。
Open Client のセキ ュ リ テ ィ サービ ス
Adaptive Server イ ン タ フ ェ ース は、Open Client 11.1.x 以上のネ ッ ト ワ ー
ク ベー ス のセ キ ュ リ テ ィ サー ビ ス を ア プ リ ケーシ ョ ン 内で有効にす
る DBParm パ ラ メ ー タ を提供 し ます。 必要なデー タ ベース、 セ キ ュ リ
テ ィ 、 お よ び PowerBuilder の 3 つの ソ フ ト ウ ェ ア を使用すれば、 Open
Client のセ キ ュ リ テ ィ サービ ス の利点を活かすアプ リ ケーシ ョ ン を構
築で き ます。
Open Client のセキ ュ リ テ ィ サービ ス と は ?
Open Client 11.1.x 以上のセキ ュ リ テ ィ サービ ス に よ り 、 サポー ト さ れ
てい る サー ド パーテ ィ のセキ ュ リ テ ィ メ カ ニ ズ ム (CyberSafe Kerberos
な ど) を使用 し て、 アプ リ ケーシ ョ ン に対 し て ロ グ イ ン認証やパケ ッ
ト 単位のセ キ ュ リ テ ィ を提供す る こ と がで き ます。 ロ グ イ ン認証は安
全な接続を確立 し 、 パケ ッ ト 単位のセ キ ュ リ テ ィ はネ ッ ト ワ ー ク を介
し たデー タ 転送を保護 し ます。
Open Client のセキ ュ リ テ ィ サービ ス を使用する ための条件
アプ リ ケーシ ョ ン において Open Client のセ キ ュ リ テ ィ サービ ス を使
用す る には、 以下の条件をすべて満た さ なければな り ません。
90
•
Open Client Client-Library (CT-Lib) 11.1.x 以上を使用 し て Adaptive
Server デー タ ベース サーバにア ク セ ス し ます。
•
ネッ ト ワ ーク セキュ リ ティ メ カニズム およ びド ラ イ バが必要です。
PowerBuilder
第7章
Adaptive Server Enterprise の使い方
Sybase がサポー ト し て い る ネ ッ ト ワ ー ク セ キ ュ リ テ ィ メ カ ニ ズ
ムお よ び Sybase か ら 提供 さ れ る セ キ ュ リ テ ィ ド ラ イ バ を イ ン ス
ト ール し 、使用環境に合わせて正 し く 設定 し てお き ます。オペレー
テ ィ ン グ シ ス テ ム に よ っ て異な り ますが、 サポー ト さ れてい る セ
キ ュ リ テ ィ メ カ ニ ズ ム に は、 Distributed Computing Environment
(DCE)セ キ ュ リ テ ィ サービ ス と ク ラ イ ア ン ト 、CyberSafe Kerberos、
お よ び Windows NT LAN Manager Security Services Provider Interface
(SSPI) があ り ます。
Sybase 社が Open Client のセ キ ュ リ テ ィ サービ ス を使用 し て動作
確認 し た サー ド パーテ ィ のセ キ ュ リ テ ィ メ カ ニ ズ ム お よ びオペ
レーテ ィ ン グ シ ス テ ムの詳細については、 Open Client マニ ュ アル
を参照 し て く だ さ い、
•
PowerBuilder の外部の安全なサーバにア ク セ ス で き ます。
PowerBuilder の外部の環境か ら Open Client 11.1.x 以上を使用 し て
安全な Adaptive Server にア ク セ ス で き なければな り ません。
接続を確認す る には、 ISQL ま たは SQL Advantage な ど の ツールを
使用 し て、 サーバに接続 し デー タ ベー ス に ロ グ イ ン で き る か ど う
か をチ ェ ッ ク し ます。 こ の際、接続パ ラ メ ー タ お よ びセキ ュ リ テ ィ
オプシ ョ ンには、PowerBuilder アプ リ ケーシ ョ ン で使用す る 予定の
値 と 同 じ 値を指定 し ます。
•
PowerBuilder デー タ ベース イ ン タ フ ェ ース を使用 し ます。
デー タ ベース のア ク セ ス には ASE ま たは SYC Adaptive Server イ ン
タ フ ェ ース を使用 し ます。
•
Release DBParm パ ラ メ ー タ にデー タ ベース に適切な値を設定 し ま
す。
アプ リ ケーシ ョ ンが Open Client CT-Lib ソ フ ト ウ ェ アの適切なバー
ジ ョ ン を利用で き る よ う に、 Release DBParm パ ラ メ ー タ を 11 以上
に設定 し てお き ます。
こ の詳細については、オ ン ラ イ ン ヘルプの Release の ト ピ ッ ク を参
照 し て く だ さ い。
•
セ キ ュ リ テ ィ メ カ ニズ ムお よ び ド ラ イ バは要求 さ れたサービ ス を
サポー ト し ます。
使用す る セ キ ュ リ テ ィ メ カ ニ ズ ムお よ び ド ラ イ バは、 DBParm が
要求す る サービ ス を サポー ト し ていなければな り ません。
デー タ ベース と の接続
91
Open Client のセキ ュ リ テ ィ サービ ス
セキ ュ リ テ ィ サービ スの DBParm パラ メ ー タ
90 ページの「Open Client のセキ ュ リ テ ィ サービ ス を使用す る ための条
件」を満た し ていれば、接続用の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ
ク ス ま たは PowerBuilder ア プ リ ケーシ ョ ン ス ク リ プ ト 内で セ キ ュ リ
テ ィ サービ ス の DBParm パ ラ メ ー タ を設定す る こ と がで き ます。
Open Client のセ キ ュ リ テ ィ サー ビ ス を サポー ト す る ために設定す る
DBParm パ ラ メ ー タ は、 ロ グ イ ン認証 と パケ ッ ト 単位のセ キ ュ リ テ ィ
の 2 種類です。
ログ イ ン認証
DBParm
以下の ロ グ イ ン認証 DBParm パ ラ メ ー タ は、 Open Client 11.1.x 以上の
接続プ ロ パテ ィ に相当 し てお り 、 こ れ ら のパ ラ メ ー タ を使用す る こ と
で、 アプ リ ケーシ ョ ンが安全な接続を確立す る こ と がで き ます。
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 パ ラ メ ー タ の設定手順については、 オ ン ラ イ ン ヘルプでそれ
ぞれのパ ラ メ ー タ の説明を参照 し て く だ さ い。
92
PowerBuilder
第7章
Adaptive Server Enterprise の使い方
Open Client のデ ィ レ ク ト リ サービ スの使い方
Adaptive Server イ ン タ フ ェ ース は、Open Client 11.1.x 以上のネ ッ ト ワ ー
ク ベー ス のデ ィ レ ク ト リ サー ビ ス を ア プ リ ケーシ ョ ン 内で有効にす
る DBParm パ ラ メ ー タ を提供 し ます。 必要なデー タ ベース、 デ ィ レ ク
ト リ サービ ス、 お よ び PowerBuilder の 3 つの ソ フ ト ウ ェ ア を使用すれ
ば、 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 のマニ ュ アルを参照
し て く だ さ い。
•
デー タ ベース と の接続
PowerBuilder の外部の環境か ら Open Client 11.1.x 以上を使用 し て
安全な Adaptive Server にア ク セ ス で き なければな り ません。
93
Open Client のデ ィ レ ク ト リ サービ スの使い方
接続を確認す る には、 ISQL ま たは SQL Advantage な ど の ツールを
使用 し て、 サーバに接続 し デー タ ベー ス に ロ グ イ ン で き る か ど う
か を チ ェ ッ ク し ま す。 こ の際、 接続パ ラ メ ー タ お よ びデ ィ レ ク ト
リ サービ ス オプシ ョ ンには、 PowerBuilder アプ リ ケーシ ョ ン で使
用す る 予定の値 と 同 じ 値を指定 し ます。
•
デー タ ベース のア ク セ ス には ASE ま たは SYC Adaptive Server イ ン
タ フ ェース を使用 し ます。
•
デー タ ベース プ ロ フ ァ イ ル ま たは PowerBuilder アプ リ ケーシ ョ ン
ス ク リ プ ト にサーバ名を指定す る 際には、 デ ィ レ ク ト リ サービ ス
プ ロ バ イ ダ に要求 さ れて い る 構文 を 使用 し な ければな り ま せん。
各プ ロ バ イ ダには、 デ ィ レ ク ト リ エ ン ト リ 名を指定す る 形式に基
づいた構文を それぞれ使用す る 必要があ り ます。
各デ ィ レ ク ト リ サービ ス プ ロ バ イ ダの詳細 と 例については、 次の
「Open Client のデ ィ レ ク ト リ サービ ス を使用す る 場合のサーバ名
の指定」 を参照 し て く だ さ い。
•
アプ リ ケーシ ョ ンが Open Client CT-Lib ソ フ ト ウ ェ アの適切なバー
ジ ョ ン を利用で き る よ う に、 Release DBParm を 11 以上に設定 し て
お き ます。
設定手順については、 オ ン ラ イ ン ヘルプの 「Release デー タ ベース
パ ラ メ ー タ 」 を参照 し て く だ さ い。
•
使用する ディ レク ト リ サービス プロ バイ ダおよ びド ラ イ バは、DBParm
が要求す る サービ ス をサポー ト し ていなければな り ません。
Open Client のデ ィ レ ク ト リ サービ ス を使用する場合のサーバ名の指定
PowerBuilder アプ リ ケーシ ョ ン で Open Client のデ ィ レ ク ト リ サービ ス
を使用す る 場合、 デー タ ベース プ ロ フ ァ イ ル ま たは PowerBuilder アプ
リ ケーシ ョ ン ス ク リ プ ト でサーバ名 を 指定す る 際に、 デ ィ レ ク ト リ
サービ ス プ ロ バ イ ダが要求す る 構文を使用 し なければな り ません。
各デ ィ レ ク ト リ サービ ス プ ロ バ イ ダには、 デ ィ レ ク ト リ エ ン ト リ 名
を 指定す る 形式に基づいた構文を それぞれ使用す る 必要が あ り ま す。
デ ィ レ ク ト リ のエ ン ト リ 名は、 完全修飾名の場合や、 Open Client/Open
Server™ 設定ユーテ ィ リ テ ィ で指定 し たデフ ォ ル ト の (ア ク テ ィ ブな)
Directory Information Tree ベース (DIT ベース) に対す る 相対名の場合
があ り ます。
94
PowerBuilder
第7章
Adaptive Server Enterprise の使い方
DIT ベース はデ ィ レ ク ト リ 検索の開始 ノ ー ド にな り ます。 DIT ベー ス
を指定す る こ と は、 MS-DOS フ ァ イ ル シ ス テ ム で現行の作業デ ィ レ ク
ト リ を 設定す る こ と と ほぼ同 じ です。 DS_DitBase DBParm を 使 う と 、
デフ ォ ル ト 以外の DIT ベース を指定す る こ と がで き ます。 手順につい
ては、 オ ン ラ イ ン ヘルプの 「DS_DitBase」 を参照 し て く だ さ い。
Windows レ ジ ス ト リ
のサーバ名の例
次の例は、 デ ィ レ ク ト リ サービ ス プ ロ バ イ ダに Windows レ ジ ス ト リ
を使用す る 場合にサーバ名を指定す る 構文を示 し ます。
ノード名 :SALES:software\sybase\server\SYS12
DIT ベース :SALES:software\sybase\server
サーバ名 :SYS12
❖
デー タ ベース プ ロ フ ァ イルにサーバ名を指定する
•
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス の [接続] タ ブにあ る
[サーバ] ボ ッ ク ス に次の よ う に入力 し ま す。 サーバ名 を 円記号
(\) で始めてはな り ません。
SYS12
❖
PowerBuilder ア プ リ ケーシ ョ ンのス ク リ プ ト にサーバ名を指定する
•
次の よ う に入力 し ます。 サーバ名を円記号 (\) で始めてはな り ま
せん。
SQLCA.ServerName = "SYS12"
デー タ ベース プ ロ フ ァ イ ルの [サーバ] ボ ッ ク ス に値を指定 し た
場合、こ の構文は DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の [プ
レ ビ ュ ー] タ ブに表示 さ れ ま す。 こ の構文を [プ レ ビ ュ ー] タ ブ
か ら ス ク リ プ ト に コ ピー し ます。
次の例は、 デ ィ レ ク ト リ サービ ス プ ロ バ イ ダに DCE/CDS (Distributed
Computing Environment Cell Directory Service) を使用す る 場合にサーバ
名を指定す る 構文を示 し ます。
DCE/CDS のサーバ名
の例
ノード名 :/.../boston.sales/dataservers/sybase/SYS12
DIT ベース :/../boston.sales/dataservers
サーバ名 :sybase/SYS12
❖
デー タ ベース プ ロ フ ァ イルにサーバ名を指定する
•
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス の [接続] タ ブにあ る
[サーバ] ボ ッ ク ス に次の よ う に入力 し ま す。 サーバ名 を ス ラ ッ
シ ュ (/) で始めてはな り ません。
sybase/SYS12
デー タ ベース と の接続
95
Adaptive Server ス ト ア ド プ ロ シージ ャ における PRINT 文の使い方
❖
PowerBuilder ア プ リ ケーシ ョ ンのス ク リ プ ト にサーバ名を指定する
•
次の よ う に入力 し ます。 サーバ名を CN= で始めてはな り ません。
SQLCA.ServerName = "SYS12"
デー タ ベース プ ロ フ ァ イ ルの [サーバ] ボ ッ ク ス に値を指定 し た
場合、こ の構文は DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の [プ
レ ビ ュ ー] タ ブに表示 さ れ ま す。 こ の構文を [プ レ ビ ュ ー] タ ブ
か ら ス ク リ プ ト に コ ピー し ます。
デ ィ レ ク ト リ サービ スの DBParm パラ メ ー タ
93 ページの「Open Client のデ ィ レ ク ト リ サービ ス を使用す る ための条
件」を満た し ていれば、接続用の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ
ク ス ま たは PowerBuilder アプ リ ケーシ ョ ンの ス ク リ プ ト 内でセ キ ュ リ
テ ィ サービ ス の 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
こ れ ら の DBParm の設定手順については、 オ ン ラ イ ン ヘルプでそれぞ
れのパ ラ メ ー タ の説明を参照 し て く だ さ い。
Adaptive Server ス ト ア ド プ ロ シージ ャ における PRINT
文の使い方
ASE ま たは SYC Adaptive Server デー タ ベース イ ン タ フ ェ ース に よ り 、
デバ ッ グ用の ス ト ア ド プ ロ シージ ャ で PRINT 文を使用で き ます。
96
PowerBuilder
第7章
Adaptive Server Enterprise の使い方
つま り 、ASE ま たは SYC イ ン タ フ ェース を介 し てデー タ ベース にア ク
セ ス す る 際にデー タ ベー ス ト レ ー ス を オ ン に し た場合、 PRINT メ ッ
セージが ト レース ロ グに表示 さ れ ますが、 エ ラ ーを返 し た り 、 残 り の
ス ト ア ド プ ロ シージ ャ を キ ャ ン セル し た り し ません。
デー タ ベース間の結合に基づ く デー タ ウ ィ ン ド ウの作成
異種デー タ ベー ス間の結合に基づいてデー タ ウ ィ ン ド ウ を作成す る 機
能は、 Adaptive Server の コ ン ポーネ ン ト 総合サービ ス を使用す る こ と
に よ っ て利用で き ま す。 コ ン ポーネ ン ト 総合サー ビ ス を使用す る と 、
複数の異種 リ モー ト デー タ ベース サーバに接続 し 、それ ら のサーバ上
に位置す る テーブル を 参照す る 複数のプ ロ キ シ テーブル を 定義で き
ます。
プ ロ キ シ テーブルの作成方法については、 Adaptive Server のマニ ュ ア
ルを参照 し て く だ さ い。
Adaptive Server デー タ ベースにおける ス ト ア ド プ ロ シー
ジ ャ のイ ン ス ト ール
こ の節では、Sybase 社が提供す る SQL ス ク リ プ ト を実行 し て、Adaptive
Server Enterprise デー タ ベー ス に PowerBuilder ス ト ア ド プ ロ シージ ャ
を イ ン ス ト ールす る 方法について解説 し ます。
Sybase で は、 Adaptive Server (ASE ま た は SYC DBMS 識別子) ネ イ
ティ ブ データ ベース イ ン タ フ ェ ース を 経由し て、初めて Adaptive Server
デー タ ベー ス に接続す る 前に、 PowerBuilder の外部の環境で こ れ ら の
ス ク リ プ ト を 実行す る こ と を 推奨 し て い ま す。 デー タ ベー ス イ ン タ
フ ェース は、 こ れ ら の ス ク リ プ ト に よ っ て作成 さ れた PowerBuilder ス
ト ア ド プ ロ シージ ャ を使用 し な く て も 動作 し ますが、 すべての機能を
使用す る には こ の ス ト ア ド プ ロ シージ ャ が必要にな り ます。
デー タ ベース と の接続
97
Adaptive Server デー タ ベースにおける ス ト ア ド プ ロ シージ ャのイ ン ス ト ール
PowerBuilder ス ト ア ド プ ロ シージ ャ ス ク リ プ ト と は ?
必要な操作
PowerBuilder で Adaptive Server デ ー タ ベ ー ス を 操 作 す る た め に は、
PowerBuilder か ら Adaptive Server に初めて接続す る 前に、 ユーザ ま た
はシ ス テ ム管理者が、 デー タ ベース に ス ト ア ド プ ロ シージ ャ を イ ン ス
ト ール し ます。
PowerBuilder ス ト ア ド プ ロ シージ ャ ス ク リ プ ト は 1 つのデー タ ベース
サーバに対 し て 1 つだけ を、 PowerBuilder のセ ッ シ ョ ン の前に実行 し
ま す。 サ ポ ー ト し て い る い ず れ か の プ ラ ッ ト フ ォ ー ム 上 の
PowerBuilder で接続す る 前に、Adaptive Server に PowerBuilder ス ト ア ド
プ ロ シージ ャ をすでに イ ン ス ト ール し てい る 場合には、 別のプ ラ ッ ト
フ ォ ーム 上の PowerBuilder で接続す る と き で も 、 ス ト ア ド プ ロ シー
ジ ャ を も う 一度 イ ン ス ト ールす る 必要はあ り ません。
PowerBuilder ス ト ア
ド プ ロ シージ ャ
ス ト ア ド プ ロ シージ ャ と は、デー タ ベース処理を実行す る SQL 文を あ
ら か じ め コ ンパ イ ル し 、 最適化 し た も のです。 ス ト ア ド プ ロ シージ ャ
はデー タ ベース サーバ上に イ ン ス ト ール し てお き 、 ク ラ イ ア ン ト マシ
ン か ら 必要に応 じ て ア ク セ ス し ます。
PowerBuilder は、 こ れ ら の ス ト ア ド プ ロ シージ ャ を使用 し て、Adaptive
Server シ ス テ ム カ タ ロ グか ら テーブルやカ ラ ム についての情報を取得
し ます (PowerBuilder ス ト ア ド プ ロ シージ ャ は、 ユーザがデー タ ベー
ス上に作成す る ス ト ア ド プ ロ シージ ャ と は異な り ます)。
SQL ス ク リ プ ト
PowerBuilder は、 必要な ス ト ア ド プ ロ シージ ャ を sybsystemprocs デー
タ ベース に イ ン ス ト ールす る ために、 SQL ス ク リ プ ト フ ァ イ ルを提供
し てい ます。
スク リプ ト
PBSYC.SQL
PBSYC2.SQL
ス ク リ プ ト の保存場所
対象
Adaptive Server デー タ ベース
Select Tables リ ス ト を制限 し た状態の Adaptive Server
デー タ ベース
ス ト ア ド プ ロ シージ ャ ス ク リ プ ト は、PowerBuilder CD-ROM の Server
デ ィ レ ク ト リ に保存 さ れてい ます。 Server デ ィ レ ク ト リ には、
PowerBuilder のセ ッ ト ア ッ プ プ ロ グ ラ ム か ら は イ ン ス ト ール さ れない
サーバ サ イ ド イ ン ス ト ール コ ン ポーネ ン ト が格納 さ れてい ます。
PBSYC.SQL ス ク リ プ ト
動作内容
98
PBSYC.SQL ス ク リ プ ト は、 Adaptive Server の sybsystemprocs デー タ
ベー ス 上で PowerBuilder と 同 じ バージ ョ ン に対応す る ス ト ア ド プ ロ
シージ ャ を上書 き し てか ら 、 こ れを再び作成 し ます。
PowerBuilder
第7章
Adaptive Server Enterprise の使い方
PBSYC.SQL ス ク リ プ ト は、sybsystemprocs デー タ ベース に PowerBuilder
ス ト ア ド プ ロ シージ ャ を格納 し ます。 こ のデー タ ベー ス は、 Adaptive
Server を イ ン ス ト ールす る と き に作成 さ れ ます。
実行する タ イ ミ ング
ASE ま たは SYC DBMS 識別子を使用 し て PowerBuilder か ら Adaptive
Server デー タ ベー ス に初めて接続す る 前に、 ユーザ ま たはシ ス テ ム管
理者が、 デー タ ベース サーバご と に PBSYC.SQL ス ク リ プ ト を 1 回実
行 し て、 sybsystemprocs デー タ ベー ス に ス ト ア ド プ ロ シージ ャ を イ ン
ス ト ール し ます。
サ イ ト のサーバが PowerBuilder か ら 、 ま たはアプ リ ケーシ ョ ン の配布
先マシ ン か ら ア ク セ ス さ れ る 場合、 PBSYC.SQL を実行 し ます。
ユーザま たはデータ ベース 管理者が、現行のバージョ ン の PBSYC.SQL
をすでに実行 し て、 サーバの sybsystemprocs デー タ ベース に
PowerBuilder ス ト ア ド プ ロ シージ ャ を イ ン ス ト ール し てい る 場合、 ス
ク リ プ ト を再び実行 し て、 ス ト ア ド プ ロ シージ ャ を イ ン ス ト ール し
直す必要はあ り ません。
PBSYC.SQL を実行す る 手順については、 101 ページの 「ス ク リ プ ト の
実行方法」 を参照 し て く だ さ い。
作成 さ れる ス ト ア ド
プ ロ シージ ャ
PBSYC.SQL ス ク リ プ ト に よ っ て、 以下に示す PowerBuilder ス ト ア ド
プ ロ シージ ャ が Adaptive Server の sybsystemprocs デー タ ベー ス に作成
さ れ ます。 プ ロ シージ ャ は、 作成 さ れ る 順に一覧 さ れてい ます。
PBSYC.SQL ス ト ア ド
プ ロ シージ ャ
sp_pb110column
sp_pb110pkcheck
sp_pb110fktable
sp_pb110procdesc
sp_pb110proclist
sp_pb110text
デー タ ベース と の接続
動作内容
テーブルのカ ラ ムの リ ス ト を表示する
テーブルに主キーがあ る か ど う か を確認する
現行テーブル を参照す る テーブルの リ ス ト を 表示
する
指定 し た ス ト ア ド プ ロ シージ ャ の引数 リ ス ト の説
明を取得する
使用可能な ス ト ア ド プ ロ シージ ャ と 拡張 ス ト ア ド
プ ロ シージ ャ を一覧表示する
SystemProcs DBParm パ ラ メ ー タ が、1 ま たは Yes(デ
フ ォ ル ト ) に設定 さ れてい る 場合、 sp_pb110proclist
に よ っ てシ ス テ ム ス ト ア ド プ ロ シージ ャ と ユーザ
定義 ス ト ア ド プ ロ シージ ャ の両方が表示 さ れ る 。
SystemProcs が 0 ま たは No に設定 さ れてい る 場合
は、sp_pb110proclist に よ っ てユーザ定義ス ト ア ド プ
ロ シージ ャ だけが表示 さ れ る
SYSCOMMENTS テ ー ブ ル か ら ス ト ア ド プ ロ シ ー
ジ ャ のテ キ ス ト を取得する
99
Adaptive Server デー タ ベースにおける ス ト ア ド プ ロ シージ ャのイ ン ス ト ール
PBSYC.SQL ス ト ア ド
プ ロ シージ ャ
sp_pb110table
sp_pb110index
動作内容
現行のユーザが権限を持た ないテーブル も 含めて、
デー タ ベー ス 内のすべて の テーブルについ て の情
報を取得す る
PBSYC.SQL はデフ ォ ル ト の sp_pb110table を含んで
い る 。テーブルの リ ス ト をユーザが SELECT 権限を
持つテーブルに制限す る sp_pb110table に置 き 換え
る には、 次の 「PBSYC2.SQL ス ク リ プ ト 」 で解説す
る PBSYC2.SQL ス ク リ プ ト を実行す る
指定 し た テーブルに対応す る すべて の イ ン デ ッ ク
ス についての情報を取得す る
PBSYC2.SQL ス ク リ プ ト
動作内容
PBSYC2.SQL ス ク リ プ ト は、 Adaptive Server の sybsystemprocs デー タ
ベー ス 上に あ る 既存の sp_pb110table PowerBuilder ス ト ア ド プ ロ シー
ジ ャ を削除 し てか ら 、 こ れを再び作成 し ます。
デフ ォ ル ト の sp_pb110table は PBSYC.SQL ス ク リ プ ト に よ っ て イ ン ス
ト ール さ れ ます。 PowerBuilder は、 こ の sp_pb110table プ ロ シージ ャ を
使用 し て、デー タ ベース内のすべてのテーブルの リ ス ト を作成 し ます。
こ の リ ス ト には、 ユーザが権限を持た ないテーブル も あ り ま す。 こ の
リ ス ト は、 PowerBuilder のテーブルの選択 ダ イ ア ロ グボ ッ ク ス に表示
さ れ ます。
セ キ ュ リ テ ィ 上の理由で、 テーブル リ ス ト の表示を、 ユーザが権限を
持つテーブルに限っ て行 う こ と が望ま れ る 場合があ り ます。 こ のため
には、 PBSYC.SQL を実行 し た後で、 PBSYC2.SQL ス ク リ プ ト を実行 し
ま す。 PBSYC2.SQL に よ っ て デ フ ォ ル ト の sp_pb110table が 新 し い
sp_pb110table に置 き 換わ り 、 以下のテーブル と ビ ュ ーだけに限定 さ れ
たテーブル リ ス ト が表示 さ れます。
実行する タ イ ミ ング
100
•
現行ユーザが所有す る テーブルやビ ュ ー
•
現行ユーザが SELECT 権限を持つテーブルやビ ュ ー
•
現行ユーザのグループが SELECT 権限を持つテーブルやビ ュ ー
•
SELECT 権限が PUBLIC に与え ら れてい る テーブルやビ ュ ー
ASE ま たは SYC DBMS 識別子を使用 し て PowerBuilder か ら Adaptive
Server にア ク セス する 場合、データ ベース サーバご と に PBSYC.SQL を
最初に 1 回実行し て、sybsystemprocs データ ベース に必要な PowerBuilder
ス ト ア ド プ ロ シージ ャ を イ ン ス ト ールす る 必要があ り ます。
PowerBuilder
第7章
Adaptive Server Enterprise の使い方
PBSYC.SQL を 実行し た後、 sp_pb110table を 置き 換えて、 テーブルリ ス ト
を 、ユーザが SELECT 権限を 持つテーブルに限定する には、PBSYC2.SQL
を 実行し ま す。
テーブル リ ス ト を限定す る 必要がない場合は、 PBSYC2.SQL を実行す
る 必要はあ り ません。
PBSYC2.SQL を実行す る 手順については、 101 ページの 「ス ク リ プ ト
の実行方法」 を参照 し て く だ さ い。
PBSYC2.SQL ス ク リ プ ト に よ っ て、 以下に示す PowerBuilder ス ト ア ド
プ ロ シージ ャ が Adaptive Server の sybsystemprocs デー タ ベー ス に作成
さ れ ます。
作成 さ れる ス ト ア ド
プ ロ シージ ャ
PBSYC2.SQL
ス ト ア ド プロ
シージ ャ
sp_pb110table
動作内容
現行ユーザが SELECT 権限を持つ、デー タ ベース内のテー
ブルについての情報を取得する
こ のバージ ョ ンの sp_pb110table は、 PBSYC.SQL ス ク リ プ
ト によ っ てイ ン ス ト ールさ れる デフ ォ ルト の sp_pb110table
を置 き 換え る
ス ク リ プ ト の実行方法
ISQL ま たは SQL Advantage ツールを使用すれば、 PowerBuilder の外部
の環境で ス ク リ プ ト を実行で き ます。
ス ト ア ド プ ロ シージ ャ ス ク リ プ ト を実行する ISQL の使い方
ISQL は、 Open Client ソ フ ト ウ ェ ア と と も に提供 さ れ る 対話型の SQL
ユーテ ィ リ テ ィ で、 Windows ベース のオペレーテ ィ ン グ シ ス テ ム上で
稼働 し ま す。 ISQL が イ ン ス ト ール さ れて い る 場合は、 以下の手順で
PowerBuilder ス ト ア ド プ ロ シージ ャ ス ク リ プ ト を実行 し ます。
ISQL の使い方の詳細については、 Open Client のマニ ュ アルを参照 し
て く だ さ い。
❖
PowerBuilder ス ト ア ド プ ロ シージ ャ ス ク リ プ ト を実行する ために ISQL を
使用する
1
デー タ ベース と の接続
シ ス テ ム管理者 と し て sybsystemprocs Adaptive Server デー タ ベース
に接続 し ます。
101
Adaptive Server デー タ ベースにおける ス ト ア ド プ ロ シージ ャのイ ン ス ト ール
2
実行す る PowerBuilder ス ト ア ド プ ロ シージ ャ ス ク リ プ ト が入っ て
い る 以下のいずれかの フ ァ イ ルを開 き ます。
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 に置 き 換え る
た と えば、 PowerBuilder を使用 し 、 製品 CD-ROM の ス ト ア ド プ ロ
シージ ャ ス ク リ プ ト にア ク セ ス し てい る 場合、 以下のいずれかの
コ マ ン ド を入力 し ます (CD-ROM ド ラ イ ブ を D ド ラ イ ブ と し てい
ます)。
isql -U sa -S TESTDB -i d:\server\pbsyb.sql -P
isql -U sa -S SALES -i d:\server\pbsyc.sql -P
adminpwd
ス ト ア ド プ ロ シージ ャ ス ク リ プ ト を実行する SQL Advantage の使い方
SQL Advantage は、 Open Client ソ フ ト ウ ェ ア と と も に提供 さ れ る 対話
型の SQL ユーテ ィ リ テ ィ で、 Windows ベー ス のオペ レーテ ィ ン グ シ
ス テ ム上で稼働 し ま す。 SQL Advantage が イ ン ス ト ール さ れてい る 場
合は、以下の手順で PowerBuilder ス ト ア ド プ ロ シージ ャ ス ク リ プ ト を
実行 し ます。
SQL Advantage の使い方の詳細については、 Open Client のマニ ュ アル
を参照 し て く だ さ い。
102
PowerBuilder
第7章
❖
Adaptive Server Enterprise の使い方
PowerBuilder ス ト ア ド プ ロ シージ ャ ス ク リ プ ト を実行する ために SQL
Advantage を使用する
1
SQL Advantage ユーテ ィ リ テ ィ を起動 し ます。
2
シ ス テ ム管理者 と し て sybsystemprocs Adaptive Server デー タ ベース
に接続 し ます。
3
実行す る PowerBuilder ス ト ア ド プ ロ シージ ャ ス ク リ プ ト が入っ て
い る 以下のいずれかの フ ァ イ ルを開 き ます。
PBSYC.SQL
PBSYC2.SQL
4
各ス ク リ プ ト の先頭にあ る use sybsystemprocs コ マ ン ド 、 ま たは go
コ マ ン ド を削除 し ます。
SQL Advantage では、use sybsystemprocs コ マ ン ド は単独で実行 し ま
す。 実際には、 ス テ ッ プ 2 で sybsystemprocs デー タ ベース と の接続
を開 く と き に、use sybsystemprocs コ マ ン ド が実行 さ れてい ます。こ
のため、 こ の コ マ ン ド が ス ト ア ド プ ロ シージ ャ ス ク リ プ ト に よ っ
て再び実行 さ れない よ う に し ます。
ス ト ア ド プ ロ シージ ャ を正 し く イ ン ス ト ールす る ためには、 ス ク
リ プ ト を実行す る 前に、 PowerBuilder ス ト ア ド プ ロ シージ ャ ス ク
リ プ ト の先頭か ら 、 以下の表に示す行を削除す る 必要があ り ます。
実行する ス ク リ プ ト
PBSYC.SQL
削除する コ マ ン ド
use sybsystemprocs
go
PBSYC2.SQL
use sybsystemprocs
go
デー タ ベース と の接続
5
SQL ス ク リ プ ト 内のすべての文を実行 し ます。
6
SQL Advantage セ ッ シ ョ ン を終了 し ます。
103
Adaptive Server デー タ ベースにおける ス ト ア ド プ ロ シージ ャのイ ン ス ト ール
104
PowerBuilder
第 8 章
Informix の使い方
こ の章について
こ の章では、 PowerBuilder においてネ イ テ ィ ブ IBM Informix デー
タ ベース イ ン タ フ ェ ース を使用す る 方法について解説 し ます。
内容
項目
サポー ト し てい る Informix のバージ ョ ン
サポー ト し てい る Informix デー タ 型
I10 イ ン タ フ ェース でサポー ト し てい る 機能
Informix の基本 ソ フ ト ウ ェ ア コ ン ポーネ ン ト
Informix デー タ ベース を使用す る ための準備
Informix デー タ ベース イ ン タ フ ェ ース の定義
PowerBuilder ス ク リ プ ト でのシ リ アル値へのア ク セ ス
ページ
105
106
108
113
114
116
117
サポー ト し ている Informix のバージ ョ ン
PowerBuilder IN9 お よ び I10 のネ イ テ ィ ブ Informix デー タ ベー ス
イ ン タ フ ェ ース を使用す る と 、 IBM Informix Dynamic Server (IDS)
デー タ ベー ス バー ジ ョ ン 9.x 以降に ア ク セ ス で き ま す。 ま た、
Informix OnLine お よ び Informix Standard Engine (SE) デー タ ベー
ス に も ア ク セ ス で き ます。
PBIN9110.DLL の IN9 イ ン タ フ ェ ース を使用す る には、Informix ア
プ リ ケーシ ョ ン開発用の Informix Client SDK 2.8.1 以降、 お よ び実
行時配布用の Informix Connect 2.9 が必要です。
PBI10110.DLL の I10 イ ン タ フ ェース を使用す る には、 Informix ア
プ リ ケーシ ョ ン開発用の Informix Client SDK 2.9 以降、お よ び実行
時配布用の Informix Connect 2.9 以降が必要です。
制限事項
単一の PowerBuilder セ ッ シ ョ ン で、 IN9 イ ン タ フ ェース と I10 イ
ン タ フ ェ ース の両方を使用す る こ と はで き ません。
デー タ ベース と の接続
105
サポー ト し ている Informix デー タ 型
Informix デー タ ベース を使用 し ての PowerBuilder の使用方法の最新情
報の詳細については、 Sybase Support Web のサイ ト
http://www.sybase.com/detail?id=47934 を参照 し て く だ さ い。
サポー ト し ている Informix デー タ 型
Informix デー タ ベース イ ン タ フ ェース は、 デー タ ウ ィ ン ド ウ オブジ ェ
ク ト と 埋め込み SQL におい て、 表 8-1 に示す Informix デー タ 型 を サ
ポー ト し ます。
表 8-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 デー タ 型 と PowerScript
データ 型の間で適宜、 データ 変換が行われま す。 し かし 、 同様の名前、
ま たは同一の名前を 持つ Informix データ 型と PowerScript データ 型であっ
ても 、 必ずし も 同じ 定義を 持つと は限ら ない ので、 注意し てく ださ い。
PowerScript デー タ 型の定義については、『PowerScript リ フ ァ レ ン ス』 マ
ニ ュ アルを参照 し て く だ さ い。
106
PowerBuilder
第8章
Informix の使い方
Informix の DateTime デー タ 型
DateTime デー タ 型は、 任意の日付 と 時刻の格納に使用 し ますが、 その
用途に合わせて精度を指定で き ます。 DateTime デー タ 型を定義す る 場
合は、 時間を表す連続 し たボ ッ ク ス の う ち、 最大精度 と 最少制度を修
飾子で指定 し ます。 以下に構文を示 し ます。
DATETIME largest_qualifier TO smallest_qualifier
PowerBuilder におけ る 修飾子のデフ ォ ル ト は Year TO Fraction(5) です。
修飾子の一覧については、 Informix のマニ ュ アルを参照 し て く だ さ い。
❖
独自の DateTime デー タ 型を作成する
1
デー タ ベース ペ イ ン タ の [テーブルの選択] で、 DateTime カ ラ ム
を伴 う テーブルを作成 し ます。
テーブルの詳 し い作成手順につい ては、 『ユーザーズ ガ イ ド 』 マ
ニ ュ アルを参照 し て く だ さ い。
2
カ ラ ム ビ ュ ーで、 [オブジ ェ ク ト ] ま たはポ ッ プア ッ プ メ ニ ュ ー
か ら [処理前の構文] を選択 し ます。
カ ラ ム ビ ュ ーに、 テーブル定義に加え ら れた保留中の変更が表示
さ れ ます。 こ れ ら の変更は、 [保存] ボ タ ン を ク リ ッ ク し て テーブ
ル定義を保存す る と き に限っ て実行 さ れ ます。
3
[編集] ま たはポッ プアッ プ メ ニュ ーから [コ ピ ー] を 選択する か、
[ コ ピー] ボ タ ン を ク リ ッ ク し ます。
SQL 構文 (ま たは選択 し た部分) が ク リ ッ プボー ド に コ ピー さ れ
ます。
4
ISQL セ ッ シ ョ ン ビ ュ ーで、 DateTime の構文を修正 し 、 CREATE
TABLE 文を実行 し ます。
ISQL セ ッ シ ョ ン ビ ュ ーの詳 し い使い方については、 『ユーザーズ
ガ イ ド 』 マニ ュ アルを参照 し て く だ さ い。
Informix の Time デー タ 型
Informix デー タ ベース イ ン タ フ ェース は、 Time (時刻) デー タ 型 も サ
ポー ト し ます。 Time デー タ 型は、 DateTime デー タ 型のサブセ ッ ト に相
当 し ます。 Time デー タ 型では、 時刻の修飾子フ ィ ール ド だけ を使用 し
ます。
デー タ ベース と の接続
107
I10 イ ン タ フ ェ ースでサポー ト し ている機能
Informix の Interval デー タ 型
Interval (時間隔) デー タ 型は、 あ る 時間の値、 ま たは継続時間を表す
時間の長 さ を格納 し ます。 以下に構文を示 し ます。
INTERVAL largest_qualifier TO smallest_qualifier
PowerBuilder でのデフ ォ ル ト は Day(3) TO Day です。 Interval デー タ
型の詳細については、 Informix のマニ ュ アルを参照 し て く だ さ い。
I10 イ ン タ フ ェ ース でサポー ト し ている機能
I10 イ ン タ フ ェ ース は、 IN9 イ ン タ フ ェ ース を使用 し てい る 場合には使
用で き ない、 い く つかの機能を サポー ト し ま す。 こ れ ら の機能の一部
には、Informix Dynamic Server デー タ ベース の特定のバージ ョ ンが必要
です。
Unicode デー タ へのア ク セス
PowerBuilder は、 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'
108
PowerBuilder
第8章
Informix の使い方
Client_Locale='en_us.utf8'
Client_Locale='ja_jp.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'
DB_Locale='ja_jp.utf8'
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 は、 PowerBuilder Unicode 文字列 と Informix ク ラ
イ ア ン ト のマルチバ イ ト 文字列 と の文字列デー タ の変換方法を指定 し
ま す。 デ フ ォ ル ト では、 UTF-8 コ ー ド セ ッ ト の文字列変換は UTF-8
コ ー ド セ ッ ト に基づいて実行 さ れ、UTF-8 コ ー ド セ ッ ト 以外の文字列
変 換 は、 現 行 の OS の コ ー ド ペ ー ジ に 基 づ い て 実 行 さ れ ま す。
StrByCharset が 1 (true) に設定 さ れてい る 場合、文字列変換は、DBParm
Client_Locale で指定 さ れた コ ー ド セ ッ ト に基づいて実行 さ れます。
109
I10 イ ン タ フ ェ ースでサポー ト し ている機能
PowerBuilder カ タ ログ テーブルへのオーナーの割 り 当て
I10 イ ン タ フ ェ ー ス を 使 用 す る 場 合、 [シ ス テ ム] タ ブ ペ ー ジ の
[PowerBuilder カ タ ロ グ テーブル オーナー](PBCatalogOwner DBParm)
を使用 し て、 拡張属性シ ス テ ム テーブルにデフ ォ ル ト 以外のオーナー
を割 り 当て る こ と がで き ます。 ANSI 準拠のデー タ ベース の場合、 指定
す る オーナー名は固有であ る 必要があ り ますが、 テーブル名は固有で
あ る 必要はあ り ません。 異な る ユーザ名で始ま る カ タ ロ グ テーブルの
複数のセ ッ ト を作成で き ます。 ただ し 、 デー タ ベース が ANSI 準拠で
ない場合は、 テーブル名は固有で あ る 必要があ り ま す。 つま り 、 オー
ナー名が割 り 当て ら れた カ タ ロ グ テーブルのセ ッ ト を 1 つだけ作成す
る こ と がで き ます。
長いオブ ジ ェ ク ト 名のサポー ト
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 文のみで、 こ
れ ら の ス テー ト メ ン ト にユーザ定義のルーチン を含め る こ と はで き ま
せん。
110
PowerBuilder
第8章
Informix の使い方
サーバのキ ャ ッ シ ュ を設定す る 方法は、 い く つかあ り ます。 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 を参照 し て く だ さ い。
ロ ッ ク せずに イ ンデ ッ ク スの作成 と 削除
IDS 10.0 以降では、 CREATE INDEX お よ び DROP INDEX の SQL 構文は
ONLINE キー ワ ー ド を サポー ト し ます。 こ のキー ワ ー ド を使用す る と 、
デー タ ベー ス と そ の テーブルが継続的に使用可能な オ ン ラ イ ン 環境
で、 イ ンデ ッ ク ス の作成 と 削除を実行で き ます。 ONLINE キー ワー ド を
使用 し て イ ンデ ッ ク ス の作成 ま たは削除を実行 し た場合、 デー タ 定義
言語 (DDL) 処理は、 指定 し た イ ンデ ッ ク ス が定義 さ れた テーブルで
排他 ロ ッ ク を行わずに実行 し ます。
CREATE INDEX ONLINE を使用 し て、 ほかのユーザがア ク セ ス中のテー
ブルで イ ンデ ッ ク ス を作成 し た場合、 ほかのユーザのテーブル更新が
終了す る ま で、 作成 し た イ ンデ ッ ク ス は有効にな り ません。
DROP INDEX ONLINE を発行 し て イ ンデ ッ ク ス を削除 し た場合、 ユーザ
はその イ ンデ ッ ク ス を参照で き ませんが、同時デー タ 操作言語 (DML)
処理は、 処理が終了す る ま でその イ ンデ ッ ク ス を使用で き ます。 イ ン
デ ッ ク ス の削除は、 すべてのユーザがその イ ンデ ッ ク ス の使用を終了
す る ま で延期 さ れ ます。
I10 接続の、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の [シ ス テ ム]
タ ブ ページ で [非 ク ラ ス タ 化 イ ン デ ッ ク ス の作成 ま たは削除の際に
テーブルを ロ ッ ク し ない] (OnlineIndex 静的 DBParm) を設定 し て、 イ
ンデ ッ ク ス を作成 し た り 削除 し た り す る 場合に、 デー タ ベース ペ イ ン
タ が必ず ONLINE キー ワー ド を使用す る よ う に指定 し ます。
デー タ ベース と の接続
111
I10 イ ン タ フ ェ ースでサポー ト し ている機能
サポー ト さ れていない ク ラ ス タ 化イ ンデ ッ ク ス
ク ラ ス タ 化 イ ンデ ッ ク ス は、 オ ン ラ イ ン モー ド を使用 し て作成で き ま
せん。 こ れは、 IDS でサポー ト さ れていないためです。
カ ラ ム レ ベルの暗号化
IDS 10.0 以降では、SQL 文 SET ENCRYPTION PASSWORD を使用す る と 、
カ ラ ム レ ベルでデー タ を 暗号化お よ び復号化す る た めのパ ス ワ ー ド
を定義 し た り 再設定 し た り す る こ と に よ っ て、 デー タ の機密性を向上
さ せ、 デー タ の整合性を サポー ト で き ます。
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
112
PowerBuilder
第8章
Informix の使い方
Informix では、 EXECUTE 文 を 使用す る 、 OUT パ ラ メ ー タ を 指定 し た
UDR の呼び出 し を サポー ト し てい ま せん。 し たが っ て、 複数の OUT
パ ラ メ ー タ は、 PowerBuilder の リ モー ト プ ロ シージ ャ コ ール (RPC)
お よ び埋め込み SQL EXECUTE PROCEDURE コ マ ン ド ではサポー ト さ
れません。
Informix の基本ソ フ ト ウ ェ ア コ ンポーネ ン ト
図 8-1 は、 ネ イ テ ィ ブ Informix デー タ ベース イ ン タ フ ェース を使用 し
て Informix デー タ ベース にア ク セ スす る ために必要な基本 ソ フ ト ウ ェ
ア コ ン ポーネ ン ト を示 し てい ます。
デー タ ベース と の接続
113
Informix デー タ ベース を使用する ための準備
図 8-1: Informix 接続のコ ンポーネ ン ト
Informix デー タ ベース を使用する ための準備
デー タ ベー ス イ ン タ フ ェ ー ス を 定義 し 、 PowerBuilder か ら Informix
デー タ ベー ス に接続す る 前に、 以下の手順に従 っ て使用す る デー タ
ベース を準備 し ます。
114
1
接続に必要なデー タ ベース サーバ、 ネ ッ ト ワー ク 、 ク ラ イ ア ン ト
ソ フ ト ウ ェ ア を イ ン ス ト ール し 、 設定 し ます。
2
ネ イ テ ィ ブ Informix IN9 ま たは I10 デー タ ベース イ ン タ フ ェ ース
を イ ン ス ト ール し ます。
3
PowerBuilder の外部の環境で、 Informix サーバやデー タ ベース に接
続で き る こ と を確認 し ます。
PowerBuilder
第8章
Informix の使い方
Informix 用に必要なデー タ ベース サーバ、 ネ ッ ト ワー ク 、 ク ラ イ ア ン
ト ソ フ ト ウ ェ ア を イ ン ス ト ール し 、 設定す る 必要があ り ます。
ス テ ッ プ 1: デー タ
ベース サーバのイ ン
ス ト ール と 設定
❖
デー タ ベース サーバ、 ネ ッ ト ワー ク、 ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス
ト ール し 、 設定する
1
デー タ ベース プ ロ フ ァ イ ルに指定 さ れてい る サーバ上に、Informix
デー タ ベー ス サーバ ソ フ ト ウ ェ アやデー タ ベー ス ネ ッ ト ワ ー ク
ソ フ ト ウ ェ アが イ ン ス ト ール さ れ、 稼働 し てい る こ と を確認 し ま
す。
Informix デー タ ベース サーバ ソ フ ト ウ ェ アやデー タ ベース ネ ッ ト
ワー ク ソ フ ト ウ ェ ア を入手す る 必要があ り ます。
イ ン ス ト ールの手順については、Informix のマニ ュ アルを参照 し て
く だ さ い。
2
PowerBuilder がイ ン ス ト ールさ れている 各ク ラ イ ア ン ト マシン に、
Informix ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ール し ます。
Informix Connect ま たは Informix Client SDK (Informix Connect を含
む) を イ ン ス ト ール し ます。
IBM 社の Informix ク ラ イ ア ン ト ソ フ ト ウ ェ ア を入手す る 必要があ
り ます。 イ ン ス ト ールす る ク ラ イ ア ン ト ソ フ ト ウ ェ アが、 以下を
すべてサポー ト し てい る こ と を確認 し ます。
ク ラ イ ア ン ト マシ ン上で稼働 し てい る オペレーテ ィ ン グ シ ス
テム
ア ク セ スす る デー タ ベース のバージ ョ ン
稼働 し てい る PowerBuilder のバージ ョ ン
イ ン ス ト ールの手順については、Informix のマニ ュ アルを参照 し て
く だ さ い。
3
自分のサ イ ト か ら Informix デー タ ベース サーバに接続で き る よ う
に、 Informix ク ラ イ ア ン ト ソ フ ト ウ ェ アが正 し く 設定 さ れてい る
こ と を確認 し ます。
SetNet32 ユーテ ィ リ テ ィ を実行 し て ク ラ イ ア ン ト の レ ジ ス ト リ の
値を設定 し ます。Informix Connect ク ラ イ ア ン ト ソ フ ト ウ ェ ア を設
定 す る と 、 HKEY_LOCAL_MACHINE\Software\Informix\SqlHosts
に レ ジ ス ト リ エ ン ト リ が作成 さ れ ま す。 レ ジ ス ト リ エ ン ト リ に
は、 ネ ッ ト ワ ー ク 構成、 ネ ッ ト ワ ー ク プ ロ ト コ ル、 環境変数を定
義す る パ ラ メ ー タ が格納 さ れてい ま す。 ネ イ テ ィ ブ Informix デー
タ ベー ス イ ン タ フ ェ ー ス を 定義す る と き に、 デー タ ベー ス プ ロ
フ ァ イ ルに こ れ ら の値を指定 し ない と 、 レ ジ ス ト リ エ ン ト リ に指
定 さ れてい る 値がデフ ォ ル ト 値 と し て適用 さ れ ます。
デー タ ベース と の接続
115
Informix デー タ ベース イ ン タ フ ェ ースの定義
Informix ク ラ イ ア ン ト ソ フ ト ウ ェ ア の設定の処理手順につい て
は、 Informix のマニ ュ アルを参照 し て く だ さ い。
4
オペレーテ ィ ン グ シ ス テ ムの必要に応 じ て、 Informix ク ラ イ ア ン
ト ソ フ ト ウ ェ アのデ ィ レ ク ト リ がシ ス テ ムパ ス にあ る こ と を確認
し ます。
ス テ ッ プ 2: デー タ
ベース イ ン タ フ ェ ー
スのイ ン ス ト ール
PowerBuilder のセ ッ ト ア ッ プ プ ロ グ ラ ム で、 標準 イ ン ス ト ールを選択
す る か、 カ ス タ ム イ ン ス ト ールを選択 し た場合はネ イ テ ィ ブ Informix
デー タ ベース イ ン タ フ ェ ース を選択 し て く だ さ い。
ス テ ッ プ 3: 接続の確
認
PowerBuilder の外部の環境で、 ア ク セ ス し たい Informix サーバやデー
タ ベース に接続で き る こ と を確認 し ます。
接続を確認す る には、 デー タ ベー ス に接続す る (Informix ilogin.exe プ
ロ グ ラ ム な ど の)Windows ベース のユーテ ィ リ テ ィ を使用 し ます。デー
タ ベー ス に ア ク セ ス す る 場合は、 PowerBuilder のデー タ ベー ス プ ロ
フ ァ イ ルで使用す る 予定の接続パ ラ メ ー タ と 同 じ 値の接続パ ラ メ ー タ
を指定す る こ と をお勧め し ます。
ilogin.exe を使用す る 手順については、 Informix のマ ニ ュ アル を参照 し
て く だ さ い。
Informix デー タ ベース イ ン タ フ ェ ースの定義
Informix デー タ ベー ス イ ン タ フ ェ ー ス を介 し た接続を定義す る には、
少な く と も Informix IN9 ま たは I10 の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ
グ ボ ッ ク ス の基本接続パ ラ メ ー タ 用の値を指定 し て、 デー タ ベース プ
ロ フ ァ イ ルを作成 し な ければな り ません。 次回以降、 こ のデー タ ベー
ス プ ロ フ ァ イ ルを選択す る と 、 開発環境でそのデー タ ベース にいつで
も 接続で き ます。
デー タ ベース プ ロ フ ァ イ ルの定義方法については、 8 ページの 「デー
タ ベース プ ロ フ ァ イ ルの使い方」 を参照 し て く だ さ い。
サーバ名の指定
サーバ名の値 を 指定す る 際には、 Informix イ ン タ フ ェ ー ス を 介 し て
デー タ ベー ス に接続す る ために、 次の形式で使用 し な ければな り ませ
ん。
host_name@server_name
116
PowerBuilder
第8章
パラ メ ー タ
host_name
server_name
Informix の使い方
説明
Informix デー タ ベース サーバを実行 し てい る ホ ス ト コ
ン ピ ュ ー タ の名前。 こ のパ ラ メ ー タ は、 Informix
HOSTNAME 環境変数に相当 し ます。
Informix デー タ ベース が入っ てい る サーバの名前。 こ
のパ ラ メ ー タ は、 Informix SERVER 環境変数に相当 し
ます。
た と えば、 PowerBuilder ネ イ テ ィ ブ イ ン タ フ ェ ー ス を使用 し て、 sales
と い う ホ ス ト マシ ン上の server01 と い う Informix デー タ ベース サーバ
にア ク セ スす る には、 以下のいずれかの処理を実行 し ます。
•
データ ベース プロフ ァ イ ルを使用する DB プロ フ ァ イ ル設定 ダ イ ア ロ
グ ボ ッ ク ス の [接続] タ ブに あ る [ホ ス ト 名] ボ ッ ク ス に ホ ス ト
名 「sales」 を、 [サーバ] ボ ッ ク ス にサーバ名 「server01」 を それぞ
れ入力 し ま す。 PowerBuilder は、 こ のサーバ名を sales@server01 と
し て、 シ ス テ ム レ ジ ス ト リ のエ ン ト リ に保存 し ます。
•
以下の ス ク リ プ ト を
PowerBuilder アプ リ ケーシ ョ ンの ス ク リ プ ト に記述 し ます。
PowerBuilder ス ク リ プ ト を使用する
SQLCA.ServerName = "sales@server01"
参考
[ホ ス ト 名] お よ び [サーバ] ボ ッ ク ス の値 を デー タ ベー ス プ ロ
フ ァ イ ルに指定 し た場合、上記の構文が、DB プ ロ フ ァ イ ル設定 ダ
イ ア ロ グ ボ ッ ク ス の [プ レ ビ ュ ー] タ ブに表示 さ れ ま す。 [プ レ
ビ ュ ー] タ ブか ら こ の構文 を ア プ リ ケ ーシ ョ ン ス ク リ プ ト に コ
ピー し ます。
PowerBuilder ス ク リ プ ト でのシ リ アル値へのア ク セス
PowerBuilder ス ク リ プ ト か ら Informix デー タ ベー ス に接続す る 場合、
ト ラ ンザ ク シ ョ ン オブジ ェ ク ト の SQLReturnData プ ロ パテ ィ 値を調べ
る こ と で、 Informix テーブルに挿入 さ れた行の番号を取得で き ます。
埋め込み SQL の INSERT 文を実行す る と 、 SQLReturnData には、 テーブ
ルに挿入 さ れた行の固有の識別子 と な る 番号が保持 さ れます。
PowerBuilder は埋め込み SQL 文を実行 し た と き だけ SQLReturnData を
更新 し ます。 デー タ ウ ィ ン ド ウ 処理に対 し ては更新 し ません。
デー タ ベース と の接続
117
PowerBuilder ス ク リ プ ト でのシ リ アル値へのア ク セス
118
PowerBuilder
第 9 章
Microsoft SQL Server の使い方
こ の章について
こ の 章 で は、 PowerBuilder に お い て Microsoft SQL Server Native
Client デー タ ベー ス イ ン タ フ ェ ース を使用す る 方法について解説
し ます。
内容
項目
サポー ト し てい る SQL Server のバージ ョ ン
サポー ト し てい る SQL Server デー タ 型
Microsoft SQL Server の基本 ソ フ ト ウ ェ ア コ ン ポーネ ン ト
SQL Server デー タ ベース を使用す る ための準備
SQL Server デー タ ベース イ ン タ フ ェ ース の定義
MSS や OLE DB デー タ ベース イ ン タ フ ェ ース か ら の移行
SQL Server 2005 の機能
SNC イ ン タ フ ェース使用時の注意事項
ページ
119
120
122
123
125
126
129
130
サポー ト し ている SQL Server のバージ ョ ン
SQL Native Client イ ン タ フ ェ ー ス を 使用す る と 、 Microsoft SQL
Server 2000 お よ び 2005 デー タ ベー ス に ア ク セ ス で き ま す。 SQL
Native Client イ ン タ フ ェース は、 PBSNC110.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 ソ フ ト ウ ェ
アが ク ラ イ ア ン ト のマ シ ン に イ ン ス ト ール さ れてい る 必要があ り
ます。
デー タ ベース と の接続
119
サポー ト し ている SQL Server デー タ 型
PBODB 初期設定フ ァ イルを使用 し ない
OLE DB か ら 直接行 う 接続では、 一部のパ ラ メ ー タ を設定す る ために
PBODB 初期設定フ ァ イ ルを使用 し ま すが、 SNC イ ン タ フ ェ ー ス を使
用 し て行 う 接続では、 PBODB 初期設定フ ァ イ ルに依存 し ません。
サポー ト し ている SQL Server デー タ 型
SQL Native Client デー タ ベース イ ン タ フ ェ ース は、 表 9-1 に示すデー
タ 型をサポー ト し てい ます。
表 9-1: サポー ト し ている Microsoft SQL Server 2005 デー タ 型
Binary
Real
Bit
SmallDateTime
SmallInt
Character (255 文字 よ り 小 さ い)
DateTime
SmallMoney
Decimal
Text
Float
Timestamp
Identity
TinyInt
Image
VarBinary(max)
Int
Money
Numeric
NVarChar(max)
NVarChar(n)
VarBinary(n)
VarChar(max)
VarChar(n)
XML
XML デー タ 型は SQL Server 2005 の組み込みデー タ 型で、こ のデー タ 型
に よ り SQL Server デー タ ベース に XML 文書やフ ラ グ メ ン ト を格納す
る こ と がで き ます。 XML デー タ 型は PowerScript String デー タ 型にマ ッ
プ し ます。テーブルを作成す る 際のカ ラ ムのデー タ 型 と し て、 変数、パ
ラ メ ー タ 、あ る いは関数の戻 り デー タ 型 と し て、CAST お よ び CONVERT
関数で こ のデー タ 型を使用す る こ と がで き ます。
120
PowerBuilder
第9章
Microsoft SQL Server の使い方
デー タ 型の変換
カ ラ ム の検索や更新処理 を 行 う と き 、 PowerBuilder は Microsoft SQL
Server デー タ 型 と PowerScript デー タ 型の間で適宜、 デー タ 変換を行い
ます。 し か し 、 同様の名前、 ま たは同一の名前を持つ SQL Server デー
タ 型 と PowerScript デー タ 型であ っ て も 、必ず し も 同 じ 定義を持つ と は
限 ら ないので、 注意 し て く だ さ い。
PowerScript デー タ 型の定義については、『PowerScript リ フ ァ レ ン ス 』 マ
ニ ュ アルを参照 し て く だ さ い。
S Q L S e r v e r 2 0 0 5 で は、 VarC har ( m a x ) 、 NVa rCh ar ( m ax ) 、 お よ び
VarBinary(max) デー タ 型は、 と て も 大 き な値 (2^31 バ イ ト ま で) を格納
し ま す。 VarChar(max) お よ び NVarChar(max) デ ー タ 型 は PowerScript
String デー タ 型にマ ッ プ し 、 VarBinary(max) デー タ 型は PowerScript Blob
デー タ 型にマ ッ プ し ます。 メ タ デー タ を取得 し て、 新 し いカ ラ ム を定
義 し 、 カ ラ ム のデー タ を検索す る ために こ れ ら のデー タ 型を使用す る
こ と がで き ます。 デー タ をパ イ プ ラ イ ン処理す る ために こ れ ら のデー
タ 型を使用す る こ と も で き ます。
大き なデー タ 値の操作
Text、 NText、 Image、 Varchar(max)、 NVarchar(max)、 VarBinary(max)、 お よ び
XML デー タ 型の大 き なデー タ 値に関 し て、 SNC イ ン タ フ ェース は埋め
込み SQL 文 を使用 し てデー タ ベー ス か ら 直接デー タ を読む こ と を サ
ポー ト し てい ます。
例 1:
select image_col into :blob_var from mytable where
key_col = 1;
例 2:
declare cur cursor for select id, image_col from
mytable;
open cur;
fetch cur into :id_var, :blob_var;
結果集合が 1 つの大 き なデー タ 型 (Text ま たは Varchar (最大)) を含み、
ANSI エ ン コ ーデ ィ ン グ を使用 し てい る 場合は、PBMaxBlobSize デー タ
ベー ス パ ラ メ ー タ を 使用 し て大 き な値ご と に最大サ イ ズ を 設定す る
必要があ り ます。 その他の大 き なデー タ 型の場合は、 デー タ のサ イ ズ
に制限はあ り ません。 メ モ リ が十分であれば、 SNC イ ン タ フ ェース は
デー タ ベース の全デー タ を検索 し ます。
デー タ ベース と の接続
121
Microsoft SQL Server の基本 ソ フ ト ウ ェ ア コ ンポーネ ン ト
SNC イ ン タ フ ェ ース は、 埋め込み SQL INSERT お よ び UPDATE 文を使
用 し て大 き なデー タ 型の値を挿入お よ び更新す る こ と を サポー ト し ま
す。 SNC イ ン タ フ ェース が大 き なデー タ 値をバ イ ン ド で き る よ う にす
る ためには、DisableBind デー タ ベース パ ラ メ ー タ を 0 に設定す る 必要
があ り ます。 た と えば、 以下の SQL 文が作成 さ れ ます。
Insert into mytable (id, blob_col) values(1,
:blob_var);
Update mytable set blob_col = :blob_var where id = 1;
Microsoft SQL Server の基本ソ フ ト ウ ェ ア コ ンポーネン ト
SQL Native Client イ ン タ フ ェ ー ス を使用 し てデー タ ベー ス にア ク セ ス
す る ためには、 図 9-1 の ソ フ ト ウ ェ ア コ ン ポーネ ン ト を イ ン ス ト ール
す る 必要があ り ます。 Microsoft SQL Server Native Client ソ フ ト ウ ェ ア
は、 1 つの DLL に SQL OLE DB プ ロ バ イ ダお よ び ODBC ド ラ イ バを
含んでい ます。
122
PowerBuilder
第9章
Microsoft SQL Server の使い方
図 9-1: Microsoft SQL Server 接続の コ ンポーネ ン ト
SQL Server デー タ ベース を使用する ための準備
デー タ ベー ス イ ン タ フ ェ ー ス を 定義 し 、 PowerBuilder か ら Microsoft
SQL Server デー タ ベース に接続す る 前に、 以下の手順に従っ て使用す
る デー タ ベース を準備 し ます。
1
デー タ ベース と の接続
接続に必要なデー タ ベース サーバ、 ネ ッ ト ワー ク 、 ク ラ イ ア ン ト
ソ フ ト ウ ェ ア を イ ン ス ト ール し 、 設定 し ます。
123
SQL Server デー タ ベース を使用する ための準備
ス テ ッ プ 1 : デー タ
ベース サーバのイ ン
ス ト ール と 設定
2
SQL Native Client デー タ ベース イ ン タ フ ェ ース を イ ン ス ト ール し
ます。
3
PowerBuilder の外部の環境で、 Microsoft SQL Server サーバお よ び
デー タ ベース に接続で き る こ と を確認 し ます。
SQL Server 用にデー タ ベース サーバ、 ネ ッ ト ワ ー ク 、 ク ラ イ ア ン ト ソ
フ ト ウ ェ ア を イ ン ス ト ール し 、 設定す る 必要があ り ます。
❖
デー タ ベース サーバ、 ネ ッ ト ワー ク、 ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス
ト ール し 、 設定する
1
データ ベース プロ フ ァ イ ルに指定さ れている サーバ上に、 Microsoft
SQL Server デー タ ベース ソ フ ト ウ ェ アが イ ン ス ト ール さ れ、 稼働
し てい る こ と を確認 し ます。
Microsoft 社か ら デー タ ベー ス サーバ ソ フ ト ウ ェ アお よ び必要な
ラ イ セ ン ス を入手す る 必要があ り ま す。 イ ン ス ト ールの手順につ
いては、 Microsoft SQL Server のマニ ュ アルを参照 し て く だ さ い。
SQL Server の以前のバージ ョ ンからのア ッ プグレー ド
SQL Server の最新バージ ョ ンへのア ッ プ グ レ ー ド あ る いは旧バー
ジ ョ ン と 一緒に最新バージ ョ ン を イ ン ス ト ールす る 手順について
は、 Microsoft SQL Server のマニ ュ アルを参照 し て く だ さ い。
2
リ モー ト の SQL Server デー タ ベース にア ク セ ス し てい る 場合、 必
要なネ ッ ト ワ ー ク ソ フ ト ウ ェ ア (TCP/IP な ど) がマシ ン上に イ ン
ス ト ール さ れ、 稼働 し てお り 、 自分のサ イ ト の SQL Server デー タ
ベース サーバに接続で き る よ う に正 し く 設定 さ れてい る こ と を確
認 し ます。
イ ン ス ト ール と 設定の手順については、 ネ ッ ト ワ ー ク ま たはデー
タ ベース の管理者に問い合わせて く だ さ い。
3
PowerBuilder が イ ン ス ト ール さ れてい る 各 ク ラ イ ア ン ト マシ ン
に、 必要な Microsoft SQL Native Client ソ フ ト ウ ェ ア を イ ン ス ト ー
ル し ます。
Microsoft 社か ら SQL Native Client ソ フ ト ウ ェ ア を入手す る 必要が
あ り ま す。 イ ン ス ト ールす る ク ラ イ ア ン ト ソ フ ト ウ ェ ア のバー
ジ ョ ン が、 以下をすべてサポー ト す る こ と を確認 し ます。
ク ラ イ ア ン ト マシ ン上で稼働 し てい る オペレーテ ィ ン グ シ ス
テム
ア ク セ スす る デー タ ベース のバージ ョ ン
稼働 し てい る PowerBuilder のバージ ョ ン
124
PowerBuilder
第9章
Microsoft SQL Server の使い方
イ ン ス ト ール手順については、 Microsoft SQL Server 2005 のマニ ュ
アルを参照 し て く だ さ い。
4
自分のサ イ ト か ら SQL Server デー タ ベース サーバに接続で き る よ
う に、 SQL Native Client ク ラ イ ア ン ト ソ フ ト ウ ェ アが正 し く 構成
さ れてい る こ と を確認 し ます。
構成 フ ァ イ ルの設定につい て は、 Microsoft SQL Server 2005 の マ
ニ ュ アルを参照 し て く だ さ い。
5
SQL Native Client ソ フ ト ウ ェ ア を含むデ ィ レ ク ト リ がシ ス テ ム パ
ス にあ る こ と を確認 し ます。
6
Sqlncli.dll フ ァ イ ルの 1 つの コ ピーだけが自分のマシ ン に イ ン ス
ト ール さ れてい る こ と を確認 し ます。
ス テ ッ プ 2: デー タ
ベース イ ン タ フ ェ ー
スのイ ン ス ト ール
PowerBuilder のセ ッ ト ア ッ プ プ ロ グ ラ ム で、 カ ス タ ム イ ン ス ト ールを
選択 し て、 SQL Native Client デー タ ベース イ ン タ フ ェ ース を選択 し ま
す。
ス テ ッ プ 3: 接続の確
認
PowerBuilder の外部の環境で、 ア ク セ ス し た い SQL Server サーバや
デー タ ベース に接続で き る こ と を確認 し ます。
接続を確認す る には、 デー タ ベース に接続す る Windows ベース のユー
テ ィ リ テ ィ を使用 し ます。デー タ ベース に接続す る 時には、デー タ ベー
ス にア ク セ スす る ために PowerBuilder のデー タ ベース プ ロ フ ァ イ ルで
使用す る 予定の接続パ ラ メ ー タ と 同 じ パ ラ メ ー タ を指定 し てい る こ と
を確認 し ます。
SQL Server デー タ ベース イ ン タ フ ェ ースの定義
SQL Native Client イ ン タ フ ェ ー ス を介 し た接続を定義す る には、 少な
く と も 、 DB プ ロ フ ァ イ ル設定 - SQL ネ ィ テ ィ ブ ク ラ イ ア ン ト (OLE
DB) ダ イ ア ロ グ ボ ッ ク ス の基本接続パ ラ メ ー タ 用の値 を 指定 し て、
デー タ ベー ス プ ロ フ ァ イ ル を作成 し な ければな り ま せん。 次回以降、
こ のデー タ ベース プ ロ フ ァ イ ルを選択す る と 、 開発環境でそのデー タ
ベース にいつで も 接続で き ます。
デー タ ベース と の接続
125
MSS や OLE DB デー タ ベース イ ン タ フ ェ ースか ら の移行
デー タ ベース プ ロ フ ァ イ ルの定義方法については、 11 ページの 「デー
タ ベース プ ロ フ ァ イ ルの作成」 を参照 し て く だ さ い。 デー タ ベース プ
ロ フ ァ イ ルで特別な設定を要求す る 新 し い機能については、 129 ペー
ジ の 「SQL Server 2005 の機能」 を 参照 し て く だ さ い。 既存の ア プ リ
ケーシ ョ ン で使用 し たデー タ ベー ス パ ラ メ ー タ と SNC デー タ ベー ス
イ ン タ フ ェ ー ス で使用 し たデー タ ベー ス パ ラ メ ー タ の比較につい て
は、 次の 「MSS や OLE DB デー タ ベース イ ン タ フ ェース か ら の移行」
を参照 し て く だ さ い。
MSS や OLE DB デー タ ベース イ ン タ フ ェ ースから の移行
PowerBuilder の以前の リ リ ース では、 MSS ネ イ テ ィ ブ イ ン タ フ ェ ース
を Microsoft SQL Server への接続のために提供 し てい ま し た。 こ のネ イ
テ ィ ブ イ ン タ フ ェース は、 Microsoft DB-LIB 機能をベース に し てい ま
し た。Microsoft は こ の機能を サポー ト し な く な り 、 Unicode を使用す る
こ と がで き ません。 MSS イ ン タ フ ェース は、 PowerBuilder 10.0 で削除
さ れ ま し た。
SQL Server 2005 お よ び SQL Native Client の導入の前に、 Microsoft は
SQL Server に接続す る ために、 OLE DB デー タ ベース イ ン タ フ ェ ース
お よ び MDAC を使用す る こ と を推奨 し てい ま し た。SQL Server 2005 の
新 し い機能を使用す る 必要がない場合は、 こ の ソ リ ュ ーシ ョ ン を使用
し 続け る こ と がで き ます。
こ の節では、 既存の ア プ リ ケーシ ョ ン で使用 し たデー タ ベー ス パ ラ
メ ー タ と SNC デー タ ベー ス イ ン タ フ ェ ー ス で使用で き る パ ラ メ ー タ
と の比較を行い ます。
SNC でサポー ト する
MSS デー タ ベース
パラ メ ー タ
表 9-2 は、Microsoft SQL Server のための使用 さ れな く な っ た MSS ネ イ
テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス 用の DB プ ロ フ ァ イ ル設定 ダ イ
ア ロ グ ボ ッ ク ス で設定 さ れ る デー タ ベー ス パ ラ メ ー タ お よ び環境設
定項目を記述 し 、 SNC イ ン タ フ ェース でサポー ト し てい る か ど う か を
示 し てい ます。
左の列は、 MSS の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の タ ブ
ページ を表 し てい ます。 パ ラ メ ー タ お よ び環境設定項目は、 SNC プ ロ
フ ァ イ ル と 異な る タ ブ ページにあ る こ と があ り ます。
126
PowerBuilder
第9章
Microsoft SQL Server の使い方
表 9-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)
表 9-3 は、 Microsoft SQL Server のための OLE DB 標準 イ ン タ フ ェース
用の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス で設定 さ れ る デー タ
ベース パ ラ メ ー タ お よ び環境設定を記述 し 、SNC イ ン タ フ ェ ース でサ
ポー ト し てい る か ど う か を示 し てい ます。
左の列は、 OLE DB の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の タ
ブ ページ を 表 し て い ま す。 パ ラ メ ー タ お よ び環境設定は、 SNC プ ロ
フ ァ イ ル と 異な る タ ブ ページにあ る こ と があ り ます。
デー タ ベース と の接続
127
MSS や OLE DB デー タ ベース イ ン タ フ ェ ースか ら の移行
表 9-3: SNC でサポー ト し ている MSS パラ メ ー タ
OLE DB
SNC
[接続] タ ブ :
Provider
DataSource
128
DataLink
Location
ProviderString
未サポー ト
実行時にサポー ト (SQLCA.ServerName と し
て)
サポー ト
未サポー ト
サポー ト
[シ ス テ ム] タ ブ :
PBCatalogOwner
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)
PowerBuilder
第9章
OLE DB
ImpersonationLevel
ProtectionLevel
Microsoft SQL Server の使い方
SNC
未サポー ト
未サポー ト
追加のデー タ ベース
パラ メ ー タ
SNC イ ン タ フ ェ ース は、ReCheckRows お よ び BinTxtBlob ラ ン タ イ ム の
みのパ ラ メ ー タ 、 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) で、 こ の機能を制御す る こ
と がで き ます。
デー タ ベース と の接続
129
SNC イ ン タ フ ェ ース使用時の注意事項
スナ ッ プ シ ョ ッ ト 分離
ス ナ ッ プシ ョ ッ ト 分離 レベルは、オ ン ラ イ ン ト ラ ンザ ク シ ョ ン処理の
ア プ リ ケーシ ョ ン に関す る 同時実行を 拡張す る ために作 ら れ ま し た。
ス ナ ッ プシ ョ ッ ト 分離の も と で起動す る ト ラ ンザ ク シ ョ ンは、 起動時
に行っ たデー タ ベース ス ナ ッ プシ ョ ッ ト を読み込みます。 こ の コ ン テ
キ ス ト 内のキーセ ッ ト 、 動的、 お よ び静的サーバ カー ソ ルは、 シ リ ア
ル化可能な ト ラ ンザ ク シ ョ ン内で開いた静的カー ソ ルの よ う に動作 し
ますが、 サーバでのブ ロ ッ ク を減 ら す こ と がで き る ロ ッ ク を行い ませ
ん。 ス ナ ッ プシ ョ ッ ト 分離の SQLCA.Lock 値は、 SS です。 DB 接続プ
ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス の [ ト ラ ンザ ク シ ョ ン] タ ブ ページに
あ る [分離レベル] 項目で こ の値を設定す る こ と がで き ます。
SNC イ ン タ フ ェ ース使用時の注意事項
DBHandle
PowerScript 関数の使
用時
ト ラ ン ザ ク シ ョ ン オブジ ェ ク ト の DBHandle 関数は、 現行セ ッ シ ョ ン
オブ ジ ェ ク ト の IUnknown* イ ン タ フ ェ ー ス を 返 し ま す。 こ の イ ン タ
フ ェ ース を使用 し て、 セ ッ シ ョ ン オブジ ェ ク ト 内の イ ン タ フ ェース を
検索 し ます。 イ ン タ フ ェ ース は、 PowerBuilder 内の pIUnknown->Addref()
で ロ ッ ク さ れ ません。 そのため、 それを使用 し た後に イ ン タ フ ェ ー ス
を解放す る ために pIUnknown->Release() を呼び出す必要はあ り ません。
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 で開始す る 場合 :
DECLARE @p1 int, @p2 varchar(50)
SELECT @p1 = 1
EXECUTE sp_4 @p1, @p2 OUTPUT
SELECT @p2 AS 'output'
デー タ ベース ペ イ ン タ ま たは PowerScript の SQL 文のバ ッ チを返す こ
と がで き ます。 次の よ う に指定 し ます。
String batchSQL //SQL 文のバッチを含む
130
PowerBuilder
第9章
Microsoft SQL Server の使い方
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
コ ー ド で次の よ う な ス テー ト メ ン ト を入力す る こ と も で き ます。
ProviderString='OLE DB Services=-4')
データ ベース ペイ ン タ
の ト リ ガ と シ ノ ニム
デー タ ベース ペ イ ン タ の SNC プ ロ フ ァ イ ル用のオブジ ェ ク ト ビ ュ ー
では、ト リ ガはテーブル フ ォ ルダにテーブルについて表示 し 、Microsoft
SQL Server 2005 シ ノ ニ ムはテーブルお よ びビ ュ ーを表示 し ます。
デー タ ベース と の接続
131
SNC イ ン タ フ ェ ース使用時の注意事項
132
PowerBuilder
第 1 0 章
Oracle の使い方
こ の章について
こ の節では、 PowerBuilder においてネ イ テ ィ ブ Oracle デー タ ベー
ス イ ン タ フ ェ ース を使用す る 方法について解説 し ます。
内容
項目
サポー ト し てい る Oracle のバージ ョ ン
サポー ト し てい る Oracle デー タ 型
Oracle の基本 ソ フ ト ウ ェ ア コ ン ポーネ ン ト
Oracle デー タ ベース を使用す る ための準備
Oracle デー タ ベース イ ン タ フ ェース の定義
デー タ ソ ース と し ての Oracle ス ト ア ド プ ロ シージ ャ の使い
方
Oracle ユーザ定義デー タ 型の使い方
Oracle 10g の HA イ ベン ト 通知のサポー ト
ページ
133
134
138
138
141
142
147
149
サポー ト し ている Oracle のバージ ョ ン
PowerBuilder では、 3 種類の Oracle デー タ ベース イ ン タ フ ェ ース
が提供 さ れてい ます。 こ れ ら の イ ン タ フ ェース は、Oracle の各バー
ジ ョ ン に対応 し た DLL を使用 し て Oracle デー タ ベー ス にア ク セ
ス し ます。
デー タ ベース と の接続
133
サポー ト し ている Oracle デー タ 型
表 10-1: サポー ト し ている ネ イ テ ィ ブ Oracle デー タ ベース イ ン タ フ ェ ース
DLL
Oracle イ ン タ フ ェ ース
O84 Oracle8i
PBO84110.DLL
O90 Oracle9i
PBO90110.DLL
O10 Oracle 10g
PBO10110.DLL
詳細について
サポー ト し てい る Oracle のバージ ョ ン についての最新情報は、 Sybase
サポー ト と ダウン ロー ド のサイ ト http://www.sybase.com/detail?id=1011566 ま
たは PowerBuilder の 『 リ リ ース ノ ー ト 』 マニ ュ アルを参照 し て く だ さ
い。
Oracle 10g デー タ ベース イ ン タ フ ェース では、Oracle 10g Database Client
や Oracle 10g Instant Client を使用 し て Oracle 10g サーバへ接続す る こ と
がで き ます。 BINARY_FLOAT デー タ 型 と BINARY_DOUBLE デー タ 型をサ
ポー ト し 、 CLOB デー タ 型 と NCLOB デー タ 型のサ イ ズ制限を拡大 し ま
し た。 Oracle 10g ク ラ イ ア ン ト は、 Oracle9i サーバ と Oracle 10g サーバ
へ接続す る こ と がで き ま すが、 Oracle8i 以前のサーバに接続す る こ と
はで き ません。
サポー ト し ている Oracle デー タ 型
Oracle デー タ ベース イ ン タ フ ェース は、デー タ ウ ィ ン ド ウ オブジ ェ ク
ト お よ び埋め込み SQL において、 表 10-2 に示す Oracle デー タ 型をサ
ポー ト し てい ます。
134
PowerBuilder
第 10 章
Oracle の使い方
表 10-2: サポー ト し ている Oracle のデー タ 型
Bfile
NChar (Oracle9i 以降のみ)
Blob
Number
Char
NVarChar2 (Oracle9i 以降のみ)
Clob
Raw
Date
TimeStamp (Oracle9i 以降のみ)
Float
VarChar
Long
VarChar2
LongRaw
Oracle 10g イ ン タ フ ェース は、 BINARY_FLOAT デー タ 型 と
BINARY_DOUBLE デー タ 型 も サポー ト し てい ます。 大規模演算の よ り
高い効率性を証明 し 、 オペレーテ ィ ン グ シ ス テ ムに浮動小数点演算
処理の作業を渡す IEEE 浮動小数点の型です。
Unicode デー タ への
ア ク セス
PowerBuilder は、 O90 ま たは O10 デー タ ベース イ ン タ フ ェース を使用
し て、 ANSI/DBCS お よ び Unicode の両方のデー タ ベース のデー タ に接
続、 保存、 検索す る こ と がで き ますが、 Unicode と ANSI/DBCS 間での
デー タ 変換は行い ません。 文字デー タ ま たは コ マ ン ド テ キ ス ト がデー
タ ベー ス に送信 さ れ る と 、 PowerBuilder は Unicode 文字列を送信 し ま
す。 デー タ が正 し く Unicode デー タ と し て保存 さ れ る こ と を ド ラ イ バ
が保証す る 必要があ り ま す。 PowerBuilder は文字デー タ を検索す る と
き 、 デー タ は Unicode であ る と 仮定 し ます。
PowerBuilder は、O84 デー タ ベース イ ン タ フ ェ ース を使用 し て、Oracle
ク ラ イ ア ン ト 変数 NLS_LANG が設定 さ れてい る か ど う か を検出 し ま
す。 変 数 に UTF-8 ま た は DBCS 文 字 が 設 定 さ れ て い る 場 合、
PowerBuilder は コ マ ン ド テ キ ス ト (SELECT * FROM emp な ど) を適切
な 文字 セ ッ ト に変換 し て か ら デー タ ベー ス に送信 し ま す。 た だ し 、
DisableBind が 0 に設定 さ れてい る 場合 (デフ ォ ル ト )、 PowerBuilder は
常に文字列デー タ を Unicode デー タ と し てバ イ ン ド し ま す。 O84 を使
用 し て、ANSI 文字列 と し てデー タ を検索す る ために DisableUnicode パ
ラ メ ー タ に 1 を設定す る こ と がで き ます。
Unicode データ ベース は、 文字セッ ト が Unicode 形式 (UTF-8、 UTF-16、
UCS-2、 UCS-4 な ど) に設定 さ れ る デー タ ベース の こ と です。 すべての
デー タ は、 Unicode 形式でなければな ら ず、 デー タ ベース に保存 さ れ る
デー タ は、 暗黙的に ま たは明示的に Unicode デー タ に変換 さ れな けれ
ばな り ません。
デー タ ベース と の接続
135
サポー ト し ている Oracle デー タ 型
文字セ ッ ト と し て ANSI (ま たは DBCS) を使用す る デー タ ベー ス は、
Unicode デー タ を格納す る 特殊なデー タ 型を使用す る こ と があ り ます。
こ れ ら のデー タ 型は NCHAR、 お よ び NVARCHAR2 です。 こ のデー タ 型
を持つカ ラ ムは、 Unicode デー タ だけです。 その よ う な カ ラ ム に保存 さ
れ る デー タ は、 明示的に Unicode に変換 さ れ る 必要があ り ます。 こ の
変換はデー タ ベー ス サーバ ま たは ク ラ イ ア ン ト が処理す る 必要が あ
り ます。
Oracle は定数文字列を Char 型 と し て認識 し 、 文字セ ッ ト は
NLS_CHARACTERSET です。 し か し 、 デー タ ベース でのデー タ 型が
NCHAR で、 文字セ ッ ト が NLS_NCHAR_CHARACTERSET の場合、
Oracle は NLS_CHARACTERSET か ら NLS_NCHAR_CHARACTERSET
へ変換 し ます。 こ れに よ り デー タ の喪失が生 じ ます。 例えば、
NLS_CHARACTERSET が WE8ISO8859P1 で、
NLS_NCHAR_CHARACTERSET が UTF8 の場合、 Unicode デー タ が
WE8ISO8859P1 へ割 り 当て ら れ る と 、 Unicode デー タ は破損 し ます。
NCHAR カ ラ ム と NVARCHAR2 カ ラ ム や ス ト ア ド プ ロ シ ー ジ ャ パ ラ
メ ー タ を使用 し て Unicode デー タ へア ク セ ス し たい場合には、 定数文
字列の使用を避け る ために、 埋め込み SQL を使用 し て ス ク リ プ ト 中に
Unicode デ ー タ を 格 納 す る た め に PowerBuilder 変 数 を 使 用 し て、
PowerBuilder に変数をバ イ ン ド さ せます。
デ フ ォ ル ト で は、 O90 と O10 デー タ ベー ス イ ン タ フ ェ ー ス は、 パ
フ ォ ーマ ン ス のダ ウ ン グ レー ド を避け る ために、 すべての文字列デー
タ を Oracle CHAR デー タ 型 と し て内部変数にバ イ ン ド し ます。 サーバ
上で確実に NCHAR お よ び NVARCHAR2 カ ラ ムが こ の よ う に処理 さ れ る
よ う にす る ために、 NCharBind デー タ ベース パ ラ メ ー タ を 1 に設定 し
て、 O90 と O10 ド ラ イ バが文字列デー タ を Oracle NCHAR デー タ 型 と
し てバ イ ン ド す る よ う に し ます。
例えば、 table1 に NVARCHAR2 デー タ 型のカ ラ ム c1 があ る と し ます。こ
のテーブルに Unicode デー タ を挿入す る ために、 DisableBind に 0 を設
定 し て、 次の構文を使用 し ます。
string var1
insert into table1 (c1) values(:var1);
NCHAR デー タ 型や NVARCHAR2 デー タ 型 の 入力 パ ラ メ ー タ を 持つ
Oracle の ス ト ア ド プ ロ シージ ャ で、 入力デー タ が Unicode 文字列の場
合、 Oracle デ ー タ ベ ー ス に 入 力 デ ー タ を バ イ ン ド さ せ る た め に、
BindSPInput デー タ ベー ス パ ラ メ ー タ に 1 を設定 し ま す。 O90 と O10
デー タ ベース イ ン タ フ ェ ース は、 そのパ ラ メ ー タ を設定す る プ ロ シー
ジ ャ を記述で き ます。 そのため、 NCharBind デー タ ベース パ ラ メ ー タ
を設定す る 必要があ り ません。
136
PowerBuilder
第 10 章
Oracle の使い方
デー タ ウ ィ ン ド ウ オブジ ェ ク ト が NCHAR や NVARCHAR2 カ ラ ムにア
ク セ ス し 、 正 し く デー タ を検索す る ためには、 DisableBind と
StaticBind の両方に 0 を設定 し ます。StaticBind に 0 を設定す る こ と で、
PowerBuilder は検索す る 前に正 し いデー タ 型を取得 し ます。
TimeStamp デー タ 型
Oracle9i 以降の TimeStamp デー タ 型は、 Date デー タ 型を拡張 し た も の
です。 以下の よ う に Date 値の年、 月、 日に加え て、 時間、 分、 秒を格
納 し ます。
Timestamp[fractional_seconds_precision]
fractional_seconds_precision 値はオプシ ョ ン で、 秒を示す小数値を指定
し ます。 PowerBuilder での使用で有効な値の範囲は、 0-6 です。
デー タ 型の変換
カ ラ ム の検索や更新処理をす る 際、 Oracle デー タ 型 と PowerScript デー
タ 型の間で適宜、 デー タ 変換が行われ ます。 し か し 、 同様の名前、 ま
たは同一の名前を持つ Oracle デー タ 型 と PowerScript デー タ 型で あ っ
て も 、 必ず し も 同 じ 定義を持つ と は限 ら ないので、 注意 し て く だ さ い。
PowerScript デー タ 型の定義については、『PowerScript リ フ ァ レ ン ス 』 マ
ニ ュ アルを参照 し て く だ さ い。
Decimal に変換 さ れる
Number デー タ 型
デ ー タ ウ ィ ン ド ウ オ ブ ジ ェ ク ト を PowerBuilder で 定 義 す る 際 に、
Oracle デー タ 型 number(size,d) は Decimal デー タ 型にマ ッ プ さ れ ま す。
PowerBuilder では、 小数精度は 18 桁です。 カ ラ ム のデー タ 型が よ り 高
い精度を持つ場合、 た と えば number(32,30) の と き に、 18 桁 よ り 高い精
度を持つ数値を挿入す る と 、 数値がデー タ ウ ィ ン ド ウ で検索 さ れ る と
誤っ た結果にな り ます。 た と えば、1.8E-17 は 0.000000000000000018 と
し て表示 さ れ る のに対 し 、 1.5E-25 は 0 と 表示 さ れます。
こ の問題は、Oracle DBMS で高精度の number カ ラ ム に対 し て、 Float な
ど の異 な る デー タ 型 を 使用す る こ と で避け る こ と が で き ま す。 Float
デー タ 型は、 デー タ ウ ィ ン ド ウ ソ ース 内で Number デー タ 型にマ ッ プ
さ れ ます。
デー タ ベース と の接続
137
Oracle の基本 ソ フ ト ウ ェ ア コ ンポーネ ン ト
Oracle の基本ソ フ ト ウ ェ ア コ ンポーネ ン ト
PowerBuilder か ら Oracle データ ベース にアク セス する ためには、 図 101 で示す ソ フ ト ウ ェ ア コ ン ポーネ ン ト を イ ン ス ト ールす る 必要があ り
ます。
図 10-1: Oracle 接続の コ ンポーネ ン ト
Oracle デー タ ベース を使用する ための準備
デー タ ベース イ ン タ フ ェ ース を定義 し 、 PowerBuilder か ら Oracle デー
タ ベース に接続す る 前に、 以下の手順に従っ て使用す る デー タ ベー ス
を準備 し ます。
138
PowerBuilder
第 10 章
Oracle の使い方
1
接続に必要なデー タ ベース サーバ、 ネ ッ ト ワー ク 、 ク ラ イ ア ン ト
ソ フ ト ウ ェ ア を イ ン ス ト ール し 、 設定 し ます。
2
ア ク セ スす る Oracle のバージ ョ ンに対応す る ネ イ テ ィ ブ Oracle
デー タ ベース イ ン タ フ ェ ース を イ ン ス ト ール し ます。
3
PowerBuilder の外部の環境で、Oracle サーバやデー タ ベース に接続
で き る こ と を確認 し ます。
PowerBuilder で使用す る Oracle デー タ ベース を準備す る には、 以下の
基本的な 3 つの操作を し ます。
Oracle のデー タ ベー ス サーバ、 ネ ッ ト ワ ー ク 、 ク ラ イ ア ン ト ソ フ ト
ウ ェ ア を イ ン ス ト ール し 、 設定す る 必要があ り ます。
ス テ ッ プ 1: デー タ
ベース サーバのイ ン
ス ト ール と 設定
❖
デー タ ベース サーバ、 ネ ッ ト ワー ク、 ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス
ト ール し 、 設定する
1
自分のマシ ン上、 ま たはデー タ ベース プ ロ フ ァ イ ルに指定 さ れて
い る サーバ上に、 Oracle デー タ ベース ソ フ ト ウ ェ アが イ ン ス ト ー
ル さ れてい る こ と を確認 し ます。
た と えば、 Oracle O90 イ ン タ フ ェース では、 Oracle9i ま たは Oracle
10g デー タ ベース サーバにア ク セ ス で き ます。
Oracle 社のデー タ ベース サーバ ソ フ ト ウ ェ ア を入手す る 必要があ
り ます。
イ ン ス ト ールの手順については、 Oracle のマ ニ ュ アルを参照 し て
く だ さ い。
2
サポー ト さ れ る ネ ッ ト ワー ク ソ フ ト ウ ェ ア (TCP/IP な ど) がマシ
ン上に イ ン ス ト ール さ れ、 稼動 し てお り 、 自分のサ イ ト のデー タ
ベース サーバに接続で き る よ う に正 し く 設定 さ れてい る こ と を確
認 し ます。
Hosts フ ァ イ ル と Services フ ァ イ ルが自分のマシ ン上にあ り 、 環境
に合わせて正 し く 設定 さ れていなければな り ません。
ネ ッ ト ワー ク ソ フ ト ウ ェ アは、 ネ ッ ト ワー ク ベン ダ ま たはデー タ
ベース ベン ダか ら 入手す る 必要があ り ます。
イ ン ス ト ール と 設定の手順については、 ネ ッ ト ワ ー ク ま たはデー
タ ベース の管理者に問い合わせて く だ さ い。
3
デー タ ベース と の接続
PowerBuilder がイ ン ス ト ールさ れている 各ク ラ イ ア ン ト マシン に、
Oracle ク ラ イ ア ン ト ソ フ ト ウ ェ ア を イ ン ス ト ール し ます。
139
Oracle デー タ ベース を使用する ための準備
Oracle 社か ら ク ラ イ ア ン ト ソ フ ト ウ ェ ア を入手す る 必要があ り ま
す。ま た、イ ン ス ト ールす る ク ラ イ ア ン ト ソ フ ト ウ ェ アのバージ ョ
ンが、 以下をすべてサポー ト す る こ と を確認 し ます。
ク ラ イ ア ン ト マシ ン上で稼働 し てい る オペレーテ ィ ン グ シ ス
テム
ア ク セ スす る デー タ ベース のバージ ョ ン
稼働 し てい る PowerBuilder のバージ ョ ン
Oracle 10g Instant Client は、標準の Oracle ク ラ イ ア ン ト ソ フ ト ウ ェ
ア を イ ン ス ト ールせずにアプ リ ケーシ ョ ン を実行す る こ と がで き
る フ リ ーの ク ラ イ ア ン ト ソ フ ト ウ ェ アです。 こ れは、 サ イ ズが小
さ く 、 無償で再配布で き ます。
4
自分のサ イ ト か ら Oracle デー タ ベース サーバに接続で き る よ う
に、 Oracle ク ラ イ ア ン ト ソ フ ト ウ ェ アが正 し く 設定 さ れてい る こ
と を確認 し ます。
Oracle 構成フ ァ イ ルの設定については、 Oracle Net のマニ ュ アルを
参照 し て く だ さ い。
5
ス テ ッ プ 2: デー タ
ベース イ ン タ フ ェ ー
スのイ ン ス ト ール
オペレーテ ィ ン グ シ ス テ ム の必要に応 じ て、 Oracle ク ラ イ ア ン ト
ソ フ ト ウ ェ アのデ ィ レ ク ト リ がシ ス テ ムパ ス に あ る こ と を確認 し
ます。
PowerBuilder のセ ッ ト ア ッ プ プ ロ グ ラ ム で、 標準 イ ン ス ト ールを選択
す る か、 カ ス タ ム イ ン ス ト ールを選択 し た場合は必要な Oracle デー タ
ベース イ ン タ フ ェース を選択 し ます。
使用可能な Oracle デー タ ベー ス イ ン タ フ ェ ー ス の一覧につい て は、
133 ページの 「サポー ト し てい る Oracle のバージ ョ ン」 を参照 し て く
だ さ い。
ス テ ッ プ 3: 接続の確
認
PowerBuilder の外部の環境で、 Oracle デー タ ベー ス サーバに接続 し 、
ア ク セ ス し たいデー タ ベース に ロ グ イ ン で き る こ と を確認 し ます。
以下の Oracle ツールを実行す る こ と に よ っ て、 接続を確認で き ます。
Oracle TNSPING (ま た は ほ か の ping
ユーテ ィ リ テ ィ ) な ど の ツールは、 自分のマ シ ン か ら デー タ ベー
ス サーバにア ク セ ス で き る か ど う か をチ ェ ッ ク し ます。
•
デー タ ベース サーバ と の接続
•
デー タ ベース と の接続 Oracle SQL*Plus な ど の ツールは、ア ク セ ス し
たい Oracle デー タ ベース に ロ グ イ ン し 、 デー タ ベース 操作を実行
で き る か ど う か を チ ェ ッ ク し ま す。 デー タ ベー ス にア ク セ ス す る
と き PowerBuilder のデー タ ベース プ ロ フ ァ イ ルで使用す る 予定の
接続パ ラ メ ー タ と 、 同 じ 値の接続パ ラ メ ー タ を指定す る こ と をお
勧め し ます。
140
PowerBuilder
第 10 章
Oracle の使い方
Oracle デー タ ベース イ ン タ フ ェ ースの定義
Oracle デー タ ベース イ ン タ フ ェース を介 し た接続を定義す る には、 少
な く と も 、 Oracle イ ン タ フ ェ ース用に DB プ ロ フ ァ イ ル設定 ダ イ ア ロ
グ ボ ッ ク ス の基本接続パ ラ メ ー タ 用の値を指定 し て、 デー タ ベース プ
ロ フ ァ イ ルを作成 し な ければな り ません。 次回以降、 こ のデー タ ベー
ス プ ロ フ ァ イ ルを選択す る と 、 開発環境でそのデー タ ベース にいつで
も 接続で き ます。
デー タ ベース プ ロ フ ァ イ ルの定義方法については、 8 ページの 「デー
タ ベース プ ロ フ ァ イ ルの使い方」 を参照 し て く だ さ い。
Oracle サーバの接続記述子の指定
ネ ッ ト ワー ク 上の Oracle デー タ ベース サーバに接続す る には、 DB プ
ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の [接続] タ ブに あ る [サーバ]
ボ ッ ク ス に、 適切な接続記述子を 指定 し ま す。 接続記述子は、 Oracle
がデー タ ベース にア ク セ スす る と き に使用す る 接続パ ラ メ ー タ を指定
し ます。
ご使用の環境に対す る 適切な接続記述子については、 Oracle のマニ ュ
アルを参照す る か、 シ ス テ ム管理者に問い合わせて く だ さ い。
接続記述子の指定
接続記述子の構文は、使用 し てい る Oracle ク ラ イ ア ン ト ソ フ ト ウ ェ ア
に よ っ て異な り ます。
Net8 以上を使用 し てい る 場合は、 構文は以下の よ う にな り ます。
OracleServiceName
SQL*Net バージ ョ ン 2.x を使用 し てい る 場合は、 構文は以下の よ う に
な り ます。
@ TNS: OracleServiceName
パラ メ ー タ
@
TNS
:
OracleServiceName
デー タ ベース と の接続
説明
ア ッ ト マー ク (@) は必須
Oracle ト ラ ン スペア レ ン ト ネ ッ ト ワー ク サブ ス
ト レ イ ト (TNS) テ ク ノ ロ ジの識別子を指定
コ ロ ン (:) は必須
Oracle 構成 フ ァ イ ルでサーバに割 り 当て ら れて
い る サービ ス名を指定
141
デー タ ソ ース と し ての Oracle ス ト ア ド プ ロ シージ ャ の使い方
Net9 の ク ラ イ ア ン ト ソ フ ト ウ ェ ア を使用す る には、 ORA9
サービ ス に接続 し て、 接続記述子 ORA9 を Oracle9i 以降の DB プ ロ フ ァ
イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の [接続] タ ブの [サーバ] ボ ッ ク ス に
入力 し ます。
Net9 の例
デー タ ソ ース と し ての Oracle ス ト ア ド プ ロ シージ ャ の使
い方
こ の節では、 Oracle ス ト ア ド プ ロ シージ ャ の使い方について解説 し ま
す。
Oracle ス ト ア ド プ ロ シージ ャ と は?
Oracle は、 ス ト ア ド プ ロ シージ ャ (ま た は関数) を、 SQL やほかの
PL/SQL プ ロ グ ラ ミ ン グ言語ス テー ト メ ン ト を論理的にグループ化 し 、
特定の タ ス ク を実行す る 、 名前付 き の PL/SQL プ ロ グ ラ ム単位 と し て
定義 し てい ます。
ス ト ア ド プ ロ シージ ャ にはパ ラ メ ー タ を指定す る こ と が可能で、 1 つ
ま たは複数の結果集合 (カー ソ ル変数 と も いい ます) を返 し ます。 ス
ト ア ド プ ロ シージ ャ を自分の ス キーマで作成 し 、 こ れをデー タ デ ィ ク
シ ョ ナ リ に格納す る と 、 複数のユーザが こ の ス ト ア ド プ ロ シージ ャ を
使用で き ます。
Oracle ス ト ア ド プ ロ シージ ャ で可能な作業
Oracle ス ト ア ド プ ロ
シージ ャの使用方法
142
Oracle ス ト ア ド プ ロ シージ ャ は、 PowerBuilder アプ リ ケーシ ョ ンの中
で以下の よ う に使用で き ます。
•
データ ウ ィ ン ド ウ オブジェ ク ト のデータ ソ ース と し て使用でき る
•
PowerBuilder アプ リ ケーシ ョ ン (結果集合を返すス ト ア ド プ ロ
シージ ャ に対す る フ ェ ッ チをサポー ト す る ) の中で、埋め込み SQL
文の DECLARE PROCEDURE か ら 呼び出せ る
•
プ ロ シージ ャ を宣言す る と き に RPCFUNC キー ワ ー ド を使用す る
こ と に よ っ て、PowerBuilder アプ リ ケーシ ョ ンの中か ら 外部関数や
サブルーチン と し て呼び出せ る
PowerBuilder
第 10 章
Oracle の使い方
RPCFUNC キー ワ ー ド を伴 う DECLARE PROCEDURE 文の構文について
は、 『PowerScript リ フ ァ レ ン ス』 マニ ュ アルを参照 し て く だ さ い。
1 つの結果集合を返すス ト ア ド プ ロ
シージ ャ は、デー タ ウ ィ ン ド ウ オブジ ェ ク ト と 埋め込み SQL で使用で
き ま す。 し か し 、 RPCFUNC キー ワ ー ド で ス ト ア ド プ ロ シージ ャ を外
部関数やサブルーチン と し て宣言 し てい る 場合は除 き ます。
1 つの結果集合を返すプ ロ シージ ャ
複数の結果集合 を 返すプ ロ シ ー
ジ ャ は、埋め込み SQL に限っ て使用で き ます。複数の結果集合は、デー
タ ウ ィ ン ド ウ 、 レ ポー ト 、 ま たは RPCFUNC キー ワー ド ではサポー ト さ
れてい ません。
複数の結果集合を返すプ ロ シージ ャ
Oracle で結果集合を返すス ト ア ド プ ロ シージ ャ の使い方
以下の手順では、 ス ト ア ド プ ロ シージ ャ を PowerBuilder のデー タ ベー
ス ペ イ ン タ の ISQL セ ッ シ ョ ン ビ ュ ーで作成す る こ と を前提 と し てい
ます。
基本的な操作手順の概
要
❖
結果集合を返すス ト ア ド プ ロ シージ ャ を使用する
1
ス ト ア ド プ ロ シージ ャ を作成す る ために、 デー タ ベース ペ イ ン タ
の ISQL セ ッ シ ョ ン ビ ュ ーを使用 し ます。
2
結果集合を IN OUT (REF)パ ラ メ ー タ で返すス ト ア ド プ ロ シージ ャ
を作成 し ます。
3
その ス ト ア ド プ ロ シージ ャ をデー タ ソ ース と し て使用す る デー タ
ウ ィ ン ド ウ オブジ ェ ク ト を作成 し ます。
デー タ ベース ペ イ ン タ の ISQL セ ッ シ ョ ン ビ ュ ーで ス ト ア ド プ ロ シー
ジ ャ を作成す る 場合、 デフ ォ ル ト の SQL 構文の終止符を、 ス ト ア ド プ
ロ シージ ャ 構文で使用す る 予定のない文字に変更 し ます。
デー タ ベース ペ イ ン
タ の設定
デー タ ベー ス ペ イ ン タ のデ フ ォ ル ト の SQL 終止符はセ ミ コ ロ ン (;)
です。 Oracle ス ト ア ド プ ロ シージ ャ 構文でセ ミ コ ロ ン を使用す る こ と
が予定 さ れ る 場合は、 ペ イ ン タ の終止符を セ ミ コ ロ ン以外の文字に変
更 し て重複を避け る 必要が あ り ま す。 こ の場合、 バ ッ ク ク ォ ー ト (`)
文字な ど が適切です。
❖
デー タ ベース ペ イ ン タ のデ フ ォル ト の SQL 終止符を変更する
1
PowerBuilder で System ユーザ と し て Oracle デー タ ベース に接続 し
ます。
詳 し い手順については、 141 ページの 「Oracle デー タ ベース イ ン
タ フ ェ ース の定義」 を参照 し て く だ さ い。
デー タ ベース と の接続
143
デー タ ソ ース と し ての Oracle ス ト ア ド プ ロ シージ ャ の使い方
2
デー タ ベース ペ イ ン タ を開 き ます。
3
メ ニ ュ ーバーか ら [デザ イ ン|オプシ ョ ン] を選択 し ます。
DB 環境設定 ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ ます。 必要であれば、
[全般] タ ブ を ク リ ッ ク し て [全般] プ ロ パテ ィ ページ を表示 し ま
す。
4
[SQL 構文の終止符] ボ ッ ク ス に SQL 終止符 と し て使用す る 文字
(バ ッ ク ク ォ ー ト な ど) を入力 し ます。
5
[更新] ま たは [OK] ボ タ ン を ク リ ッ ク し ます。
SQL 終止符の設定が現行の接続に適用 さ れ、 以降の接続に も 変更
し ない限 り 適用 さ れます。
デー タ ベース ペ イ ン タ を設定 し た後、 IN OUT (参照) パ ラ メ ー タ で結
果集合を返すス ト ア ド プ ロ シージ ャ を作成で き ます。PowerBuilder は、
結果集合を検索 し て、 配置す る ためにデー タ ウ ィ ン ド ウ オブジ ェ ク ト
を設定 し ます。
スト アド プロ シージャ
の作成
結果集合 を 返す ス ト ア ド プ ロ シージ ャ を 作成す る 方法は何種類か あ
り ます。 以下に、 その 1 つを示 し ます。
1 つの結果集合 と 複数の結果集合を返すス ト ア ド プ ロ シージ ャ が ど こ
で使用で き る かについては、 142 ページの 「Oracle ス ト ア ド プ ロ シー
ジ ャ で可能な作業」 を参照 し て く だ さ い。
❖
Oracle で結果集合を返すス ト ア ド プ ロ シージ ャ を作成する
1
Oracle ユーザ ア カ ウ ン ト に必要なデー タ ベース ア ク セ スお よ び
Oracle オブジ ェ ク ト (テーブルやプ ロ シージ ャ な ど) に ア ク セ ス
す る 特権が設定 さ れてい る こ と を確認 し ます。
適切な ア ク セ ス お よ び特権が な い と 、 Oracle ス ト ア ド プ ロ シ ー
ジ ャ を作成す る こ と がで き ません。
2
使用 し てい る Oracle デー タ ベース に tt と い う 名前の以下のテーブ
ルが存在す る も の と し ます。
a
1
2
3
144
b
Newman
Everett
c
sysdate
sysdate
結果集合のデー タ 型 と ス ト ア ド プ ロ シージ ャ が定義 さ れた パ ッ
ケージ を作成 し ま す。 結果集合のデー タ 型は、 テーブルの定義 と
一致 さ せます。
PowerBuilder
第 10 章
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 ス ト ア ド プ ロ シージ ャ を作成
し ます。
以下の例は、 spm_proc 1 (1 つの結果集合を返す) と spm_proc2 (複
数の結果集合を返す) と い う 2 つの ス ト ア ド プ ロ シージ ャ を作成
す る 方法を示 し てい ます。
IN OUT の指定は、 PowerBuilder がカー ソ ル変数 (rc1 や rc2) を参
照渡 し で Oracle プ ロ シージ ャ に渡 し 、 プ ロ シージ ャ がカー ソ ルを
開 く こ と を 意 味 し て い ま す。 プ ロ シ ー ジ ャ 呼 び 出 し の 後、
PowerBuilder はカー ソ ルか ら 結果集合を フ ェ ッ チ し 、続けて カー ソ
ルを閉 じ ます。
デー タ ウ ィ ン ド ウ オブ ジ ェ ク ト での spm_proc1 の例 以下の ス テー ト
メ ン ト は、 1 つの結果集合を返す spm_proc1 を作成 し ます。 こ のプ
ロ シージ ャ は、 PowerBuilder のデー タ ウ ィ ン ド ウ オブジ ェ ク ト の
デー タ ソ ース と し て使用す る こ と がで き ます。
CREATE OR REPLACE PROCEDURE spm_proc1(rc1 IN OUT
spm.rctl)
AS
BEGIN
OPEN rc1 FOR SELECT * FROM tt;
END;`
埋め込み SQL での spm_proc2 の例 以下の ス テー ト メ ン ト は、 2 つ
の結果集合を返す spm_proc2 を作成 し ま す。 こ のプ ロ シージ ャ は、
埋め込み SQL にのみ使用で き ます。
CREATE OR REPLACE PROCEDURE spm_proc2 (rc1 IN OUT
spm.rctl, rc2 IN OUT spm.rctl)
AS
BEGIN
OPEN rc1 FOR SELECT * FROM tt ORDER BY 1;
OPEN rc2 FOR SELECT * FROM tt ORDER BY 2;END;`
デー タ ベース と の接続
145
デー タ ソ ース と し ての Oracle ス ト ア ド プ ロ シージ ャ の使い方
エ ラー チ ェ ッ ク
必要であれば、Oracle シ ス テ ム テーブルの public.user_errors でエ ラ ーが
ないか ど う かチ ェ ッ ク を し ます。
ス ト ア ド プ ロ シージ ャ を作成す る と 、 その ス ト ア ド プ ロ シージ ャ を
デー タ ソ ー ス と し て使用す る デー タ ウ ィ ン ド ウ オブ ジ ェ ク ト が定義
で き ます。
デー タ ウ ィ ン ド ウ オ
ブ ジ ェ ク ト の作成
1 つの結果集合を返すス ト ア ド プ ロ シージ ャ は、 デー タ ウ ィ ン ド ウ オ
ブジ ェ ク ト で使用で き ます。 ス ト ア ド プ ロ シージ ャ が複数の結果集合
を返す場合は、 埋め込み SQL 文でア ク セ ス し ます。
以下の手順では、 Oracle ス ト ア ド プ ロ シージ ャ が 1 つの結果集合だけ
を返す こ と を前提 と し てい ます。
❖
Oracle で結果集合を 返すスト アド プ ロ シージャ を 使用し て デー タ ウ ィ ン ド ウ
オブ ジ ェ ク ト を作成する
1
新規作成 ダ イ ア ロ グボ ッ ク ス の [デー タ ウ ィ ン ド ウ ] ページで提
示様式を選択 し 、 [OK] を ク リ ッ ク し ます。
2
[ス ト ア ド プ ロ シージ ャ ] ア イ コ ン を選択 し 、 [OK] を ク リ ッ ク し
ます。
ス ト ア ド プ ロ シージ ャ の選択 ウ ィ ザー ド ページが表示 さ れ、デー
タ ベース で使用可能な ス ト ア ド プ ロ シージ ャ が一覧 さ れ ます。
3
デー タ ソ ース と し て使用す る ス ト ア ド プ ロ シージ ャ を選択 し 、
[次へ] ボ タ ン を ク リ ッ ク し ます。
4
デー タ ウ ィ ン ド ウ オブジ ェ ク ト を定義 し て、 ウ ィ ザー ド を終了 し
ます。
デー タ ウ ィ ン ド ウ オブジ ェ ク ト を プ レ ビ ュ ーす る か、Retrieve を呼
び出す と 、 PowerBuilder は、 カー ソ ルか ら 結果集合 を フ ェ ッ チ し
て、 デー タ ウ ィ ン ド ウ オブジ ェ ク ト に格納 し ます。 ウ ィ ザー ド の
デー タ ソ ース の選択 ページの [プ レ ビ ュ ーの度に検索] を選択 し
た場合、 デー タ ウ ィ ン ド ウ を開いた と き に、 プ レ ビ ュ ー ビ ュ ーに
結果集合が表示 さ れ ます。
146
PowerBuilder
第 10 章
Oracle の使い方
ラ ージ オブ ジ ェ ク ト 出力パ ラ メ ー タ の使用
ラ ージ オブジ ェ ク ト (LOB: large-object) を Oracle ス ト ア ド プ ロ シー
ジ ャ や関数用の出力パ ラ メ ー タ と し て定義 し て、 ラ ージ オブジ ェ ク ト
デー タ を検索で き ます。 各ス ト ア ド プ ロ シージ ャ や関数用に定義で き
る LOB 出力引数の数に制限はあ り ません。
Oracle 10g では、 LOB デー タ 型の最大サ イ ズが増加 し 、 「4 ギガバ イ ト
- 1」 か ら 「(4 ギガバ イ ト - 1) x デー タ ベース のブ ロ ッ ク サ イ ズ」 と 変
更にな り ま し た。 デー タ ベー ス のブ ロ ッ ク サ イ ズが 32K の場合、 最
大サ イ ズは 128 テ ラ バ イ ト にな り ます。
Oracle ユーザ定義デー タ 型の使い方
PowerBuilder はデー タ ベー ス ペ イ ン タ で ISQL セ ッ シ ョ ン ビ ュ ーの
Oracle ユーザ定義デー タ 型(オブジ ェ ク ト )のための SQL CREATE TYPE
文 と CREATE TABLE 文を サポー ト し ます。 デー タ ベース ペ イ ン タ お よ
び デー タ ウ ィ ン ド ウ ペ イ ン タ で、 ユーザ定義デー タ 型の SQL SELECT
文、 INSERT 文、 UPDATE 文、 DELETE 文を正確に処理 し ます。
PowerBuilder の Oracle ネ イ テ ィ ブ デー タ ベース イ ン タ フ ェース を使 う
と 、 以下の処理がで き ます。
可能な作業
Oracle 構文を使用 し て、ユーザ定義デー タ 型を作成
Oracle 構文を使用 し て、ユーザ定義デー タ 型を参照
す る カ ラ ム付 き テーブルを作成
ユーザ定義デー タ 型を参照す る Oracle テーブルの
カ ラ ム を検索
ユーザ定義デー タ 型 を 持つ Oracle テ ーブ ル内の
デー タ を処理
ユーザ定義デー タ 型を持つ Oracle テーブル構文を
ロ グ フ ァ イ ルにエ ク ス ポー ト する
メ ソ ッ ド を呼び出す
デー タ ベース と の接続
作業場所
デー タ ベース ペ イ ン タ
デー タ ベース ペ イ ン タ
デー タ ベース ペ イ ン タ
デー タ ベース ペ イ ン タ
デー タ ウ ィ ン ド ウ ペ イ
ンタ
デー タ ウ ィ ン ド ウ オブ
ジェ ク ト
デー タ ベース ペ イ ン タ
デー タ ウ ィ ン ド ウ ペ イ
ン タ (SQL ツールボ ッ
ク ス の [計算] タ ブ)
147
Oracle ユーザ定義デー タ 型の使い方
以下は、 PowerBuilder での Oracle ユーザ定義デー タ 型の作成 と 使用法
を説明す る ための簡単な例です。
例
Oracle ユーザ定義デー タ 型についての詳細は、 Oracle のマニ ュ アルを
参照 し て く だ さ い。
❖
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
(get_avg,WNDS,RNPS,WNPS));
CREATE OR REPLACE TYPE BODY ball_stats_type AS
MEMBER
FUNCTION get_avg RETURN NUMBER IS BEGIN RETURN
SELF.bat_avg;
END;
END;
以下は、player_type を作成す る Oracle SQL 構文です。player_type は、
ユーザ定義デー タ 型 ball_stats_type を参照 し ます。 PowerBuilder は、
こ の よ う にデー タ ベー ス ペ イ ン タ 、 デー タ ウ ィ ン ド ウ ペ イ ン タ 、
テーブル ペ イ ン タ で、 ネ ス ト を グ ラ フ ィ カルに表現 し ます (手順
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
148
デー タ ベース ペ イ ン タ ま たはデー タ ウ ィ ン ド ウ ペ イ ン タ に lineup
を表示 し ます。
PowerBuilder
第 10 章
Oracle の使い方
PowerBuilder は、 以下の よ う に構造体 -> メ ンバー表記法を使用 し
てテーブルを表示 し ます。
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()
Oracle 10g の HA イ ベン ト 通知のサポー ト
Oracle Real Application Clusters (RAC) は ク ラ ス タ デー タ ベース で、 共
有キ ャ ッ シ ュ アーキ テ ク チ ャ を使用 し ます。Oracle 10g Release 2 では、
RAC デー タ ベース に接続 さ れた High Availability (HA) ク ラ イ ア ン ト
は、 ク ラ イ ア ン ト が行っ た接続に影響す る デー タ ベース エ ラ ー イ ベン
ト の場合に、 サーバが それに通知す る か ど う か を 示すた めに コ ール
バ ッ ク を登録す る こ と がで き ます。
こ の機能を利用す る には、 PowerBuilder ユーザは ト ラ ンザ ク シ ョ ン オ
ブジ ェ ク ト の DBNotification イ ベン ト の ス ク リ プ ト を記述 し ま す。 詳
細につい て は、 オ ン ラ イ ン ヘルプ の DBNotification イ ベ ン ト お よ び
HANotification デー タ ベース パ ラ メ ー タ の説明を参照 し て く だ さ い。
デー タ ベース と の接続
149
Oracle 10g の HA イ ベン ト 通知のサポー ト
150
PowerBuilder
第
4
部
デー タ ベース接続に関す る
作業
第 4 部では、 デー タ ベース接続の確立、 管理、 お よび ト ラ
ブルシ ュ ーテ ィ ン グの方法について説明 し ます。
第 11 章
デー タ ベース接続の管理
こ の章について
必要なデー タ ベース ソ フ ト ウ ェ アの イ ン ス ト ールや、 デー タ ベー
ス イ ン タ フ ェ ー ス の定義がすべて終了す る と 、 PowerBuilder か ら
デー タ ベー ス に接続で き る よ う にな り ま す。 デー タ ベー ス に接続
す る こ と で、 デー タ ベー ス に保存 さ れてい る テーブルやビ ュ ーの
操作がで き ます。
こ の章では、 PowerBuilder においてデー タ ベース に接続す る 方法、
デー タ ベー ス プ ロ フ ァ イ ル を 管理す る 方法、 デー タ ベー ス プ ロ
フ ァ イ ルを共有す る 方法について解説 し ます。
内容
用語
項目
デー タ ベース と の接続について
デー タ ベース と の接続
デー タ ベース プ ロ フ ァ イ ルの管理
デー タ ベース プ ロ フ ァ イ ルの共有
デー タ ベース プ ロ フ ァ イ ルの イ ン ポー ト と エ ク ス ポー ト
PowerBuilder 拡張属性シ ス テ ム テーブルについて
ページ
153
155
159
159
164
165
こ の章の中でデー タ ベース と い う 用語は、特に指定のない限 り 、以
下の両方を表 し ます。
•
標準デー タ ベース イ ン タ フ ェ ースや適切な ド ラ イ バでア ク セ
ス す る デー タ ベー ス ま たは DBMS (デー タ ベー ス 管理シ ス テ
ム)
•
適切なネ イ テ ィ ブ デー タ ベース イ ン タ フ ェ ース でア ク セ スす
る デー タ ベース ま たは DBMS
デー タ ベース と の接続について
こ の節では、 PowerBuilder におけ る デー タ ベー ス 接続の概要につ
いて説明 し ます。 ま た、 デー タ ベース と の接続を管理す る ために、
デー タ ベー ス プ ロ フ ァ イ ル を 使用す る 利点につい て も 説明 し ま
す。
デー タ ベース と の接続
153
デー タ ベース と の接続について
デー タ ベース と の接続 タ イ ミ ング
PowerBuilder での接
続
以下のいずれかの操作に よ っ て、 デー タ ベース と 接続 し ます。
•
デー タ ベース にア ク セ スす る ペ イ ン タ を開いた場合
•
埋め込み SQL 文 (CONNECT 文な ど) を含む PowerBuilder ス ク リ プ
ト を コ ンパ イ ル ま たは保存 し た場合
•
デー タ ベース にア ク セ スす る アプ リ ケーシ ョ ン を実行 し た場合
•
アプ リ ケーシ ョ ン実行中に、 デー タ ベー ス にア ク セ ス す る デー タ
ウ ィ ン ド ウ コ ン ト ロ ール関数を呼び出 し た場合
PowerBuilder 接続先
デー タ ベースの決定
デー タ ベー ス にア ク セ ス す る ペ イ ン タ を開 く と 、 PowerBuilder は最後
に使用 し たデー タ ベース に接続 し ます。 PowerBuilder は、レ ジ ス ト リ 内
の設定を読み取 る こ と に よ っ て、 最後にア ク セ ス し たデー タ ベー ス を
判断 し ます。
このマニ ュ アルの内容
こ のマニ ュ アルでは、 PowerBuilder を使用 し て アプ リ ケーシ ョ ン を開
発 し てい る と き の、 開発環境でのデー タ ベース への接続方法について
解説 し ます。
PowerBuilder アプ リ ケーシ ョ ン か ら デー タ ベー ス に接続す る 手順につ
いては、 『ア プ リ ケーシ ョ ン テ ク ニ ッ ク 』 マ ニ ュ アル を参照 し て く だ
さ い。
デー タ ベース プ ロ フ ァ イルの使い方
デー タ ベース プ ロ
フ ァ イル と は?
デー タ ベース プ ロ フ ァ イ ルは、 PowerBuilder の開発環境において、 特
定のデー タ ベース と の接続を定義す る パ ラ メ ー タ セ ッ ト であ り 、 レ ジ
ス ト リ 内に格納 さ れ ます。
デー タ ベース プ ロ
フ ァ イルを使 う 理由
デー タ ベー ス プ ロ フ ァ イ ル を作成 し 、 使用す る こ と で、 PowerBuilder
か ら のデー タ ベー ス 接続を、 非常に簡単に管理で き ま す。 その理由は
以下の と お り です。
154
•
デー タ ベース プ ロ フ ァ イ ルを選択 し て、 デー タ ベース と の接続の
確立、 変更を行 う 。 PowerBuilder セ ッ シ ョ ン中であれば、 いつで も
簡単に別のデー タ ベー ス に接続が可能。 こ の機能は、 異な る デー
タ ベー ス と の接続を頻繁に切 り 替え て使用す る 場合に、 特に効果
的
•
デー タ ベース プ ロ フ ァ イ ルを編集 し て、 接続パ ラ メ ー タ を変更 し
た り 、 追加のパ ラ メ ー タ を指定 し た り す る
PowerBuilder
第 11 章
デー タ ベース接続の管理
•
[プ レ ビ ュ ー] タ ブ ページ を使用 し て、 接続を テ ス ト し 、 接続構文
を アプ リ ケーシ ョ ン コ ー ド に コ ピーす る
•
ア ク セ ス す る 必要のな く な っ たデー タ に対 し ては、 デー タ ベー ス
プ ロ フ ァ イ ルを削除
•
デー タ ベース プ ロ フ ァ イ ルを イ ン ポー ト お よ びエ ク ス ポー ト す る
デー タ ベース プ ロ フ ァ イ ルは、 使用 し てい る デー タ を定義す る と き に
作成 さ れ、 レ ジ ス ト リ に自動的に保存 さ れ る ため、 以下の利点が あ り
ます。
•
いつで も 使用可能
•
デー タ ベース プ ロ フ ァ イ ルを削除 し た り 編集 し た り し ない限 り 、
接続パ ラ メ ー タ がその ま ま保存 さ れ る
デー タ ベース と の接続
PowerBuilder で、 デー タ ベー ス と の接続を確立 し た り 変更 し た り す る
には、 デー タ ベース プ ロ フ ァ イ ルを使用 し ます。 ア ク セ ス し たいデー
タ ベース に対応す る デー タ ベー ス プ ロ フ ァ イ ルは、 DB プ ロ フ ァ イ ル
ダ イ ア ロ グ ボ ッ ク ス で選択で き ます。 デー タ ベース プ ロ フ ァ イ ルの作
成方法については、 11 ページの 「デー タ ベース プ ロ フ ァ イ ルの作成」
を参照 し て く だ さ い。
デー タ ベース ペ イ ン タ を使用 し たデー タ ベース プ ロ フ ァ イルの選択
ア ク セ ス し た いデー タ ベー ス に対応す る デー タ ベー ス プ ロ フ ァ イ ル
を、デー タ ベース ペ イ ン タ のオブジ ェ ク ト ビ ュ ーか ら 選択す る こ と も
で き ます。 ただ し 、 こ の方法は、 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク
ス を 使用 し た場合 よ り も 、 使用す る シ ス テ ム リ ソ ー ス が多 く な り ま
す。
デー タ ベース プ ロ フ ァ イルの選択
DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス か ら デー タ ベース プ ロ フ ァ イ ル
を選択で き ます。
デー タ ベース と の接続
155
デー タ ベース と の接続
❖
DB プ ロ フ ァ イル ダ イ ア ロ グボ ッ ク ス を使用 し てデー タ ベースに接続する
1
パ ワ ーバーの [DB プ ロ フ ァ イ ル] ボ タ ン を ク リ ッ ク す る か、 メ
ニ ュ ー バーの [ツール| DB プ ロ フ ァ イ ル] を選択 し ます。
[DB プ ロ フ ァ イル] ボ タ ン
パ ワ ーバーに [DB プ ロ フ ァ イ ル] ボ タ ンが表示 さ れていない場合
は、 カ ス タ マ イ ズ機能を使用 し てパ ワ ーバーにボ タ ン を追加 し て
く だ さ い。 パ ワ ーバーに [DB プ ロ フ ァ イ ル] ボ タ ン があ る と 、 異
な る デー タ ベー ス と の接続を頻繁に切 り 替え て使用す る 場合に便
利です。 ツールバーのカ ス タ マ イ ズの手順については、 『ユーザー
ズ ガ イ ド 』 マニ ュ アルを参照 し て く だ さ い。
DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス が開 き 、 イ ン ス ト ール済み
のデー タ ベース イ ン タ フ ェース が一覧表示 さ れ ます。
イ ン タ フ ェ ース リ ス ト の保存場所
セ ッ ト ア ッ プ プ ロ グ ラ ム を 実行す る と 、 レ ジ ス ト リ 内の Vendors
リ ス ト が更新 さ れ、 イ ン ス ト ールす る イ ン タ フ ェ ー ス が追加 さ れ
ます。 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス には、 Vendors リ ス ト
に入っ てい る イ ン タ フ ェ ース が表示 さ れ ます。
2
使用す る イ ン タ フ ェ ー ス 名の左の正符号 (+) を ク リ ッ ク す る か、
イ ン タ フ ェ ース名を ダブル ク リ ッ ク し ます。
リ ス ト が展開 し 、 そ の イ ン タ フ ェ ー ス に定義 さ れ て い る デー タ
ベース プ ロ フ ァ イ ルが表示 さ れ ます。
3
ア ク セ スす る デー タ ベース プ ロ フ ァ イ ル名を選択 し て [接続] を
ク リ ッ ク す る か、 デー タ ベー ス プ ロ フ ァ イ ルのポ ッ プ ア ッ プ メ
ニ ュ ーを表示 し て [接続] を選択 し ます。
PowerBuilder は指定 し たデー タ ベース に接続 し 、ペ イ ン タ の ワ ー ク
スペース に戻 り ます。
デー タ ベー ス ペ イ ン タ のオブジ ェ ク ト ビ ュ ーか ら デー タ ベー ス プ ロ
フ ァ イ ルを選択す る こ と がで き ます。
データ ベース ペイ ン タ
のオブ ジ ェ ク ト
ビ ュー
❖
デー タ ベース ペ イ ン タ を使用 し てデー タ ベースに接続する
1
パ ワ ーバーの [DB ペ イ ン タ ] ボ タ ン を ク リ ッ ク し ます。
デー タ ベー ス ペ イ ン タ が表示 さ れ ま す。 オブジ ェ ク ト ビ ュ ーに、
イ ン ス ト ール済みのデー タ ベース イ ン タ フ ェ ース の一覧が表示 さ
れます。
156
PowerBuilder
第 11 章
デー タ ベース接続の管理
イ ン タ フ ェ ース リ ス ト の保存場所
セ ッ ト ア ッ プ プ ロ グ ラ ム を実行す る と 、 レ ジ ス ト リ 内の Vendors
リ ス ト が更新 さ れ、 イ ン ス ト ールす る イ ン タ フ ェ ー ス が追加 さ れ
ま す。 デー タ ベー ス ペ イ ン タ の [オ ブ ジ ェ ク ト ] ビ ュ ー に は、
Vendors リ ス ト に入っ てい る イ ン タ フ ェ ース が表示 さ れます。
2
使用す る イ ン タ フ ェ ー ス 名の左の正符号 (+) を ク リ ッ ク す る か、
イ ン タ フ ェース名を ダブル ク リ ッ ク し ます。
リ ス ト が展開 し 、 そ の イ ン タ フ ェ ー ス に定義 さ れ て い る デー タ
ベース プ ロ フ ァ イ ルが表示 さ れ ます。
3
ア ク セ スす る デー タ ベース プ ロ フ ァ イ ルの名前を選択 し て [接続]
ボ タ ン を ク リ ッ ク す る か、 デー タ ベー ス プ ロ フ ァ イ ルの ポ ッ プ
ア ッ プ メ ニ ュ ーを表示 し て [接続] を選択 し ます。
接続時の処理
デー タ ベー ス プ ロ フ ァ イ ル を 選択 し て デー タ ベー ス に接続す る と 、
PowerBuilder によ ってプロ ファ イ ル名と 接続パラ メ ータ がレ ジス ト リ キー
HKEY_CURRENT_USER\Software\Sybase\PowerBuilder\11.0\Database
Profiles\PowerBuilder に書 き 込まれます。
異な る デー タ ベース に接続す る たびに、 レ ジ ス ト リ 内の 「直前に使用
さ れた」 プ ロ フ ァ イ ル名は、 PowerBuilder に よ っ て新 し いデー タ ベー
ス に対す る プ ロ フ ァ イ ル名に置 き 換え ら れ ます。
デー タ ベー ス にア ク セ ス す る ペ イ ン タ を開 く と 、 一番最後に使用 し た
デー タ ベース に接続 さ れます。 PowerBuilder は レ ジ ス ト リ を読み取 り 、
ど のデー タ ベース と 最後に接続 し たか を判断 し ます。
デー タ ベー ス プ ロ フ ァ イ ルの名前が続 く デー タ ベー ス イ ン タ フ ェ ー
ス に関す る 3 文字の略語が、 PowerBuilder の メ イ ン タ イ ト ル バーに表
示 さ れ ます。 デー タ ウ ィ ン ド ウ で作業を し てい る 場合は、 こ の表示に
よ り 正 し い接続を使用 し てい る か を確認 し やす く な り ます。
た と えば、 PowerBuilder Code Examples ワー ク スペース を開いて、 EAS
Demo デー タ ベース に接続す る 場合、 タ イ ト ル バーには 「pbexamples ODB [EAS Demo DB V110] - PowerBuilder」 と 表示 さ れます。
デー タ ベース と の接続
157
デー タ ベース と の接続
デー タ ベース プ ロ フ ァ イルでのパスワー ド の指定
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス でパ ス ワ ー ド を 指定 し て
も 、 画面には表示 さ れ ません。
し か し 、 PowerBuilder が こ のプ ロ フ ァ イ ルの値を レ ジ ス ト リ に保存す
る と き に、 パ ス ワ ー ド は DatabasePassword ま たは LogPassword フ ィ ー
ル ド に暗号化 さ れた形式で表示 さ れます。
プ ロ フ ァ イ ル レ ジ ス ト リ エ ン ト リ でパ ス ワ ー ド が表示 さ れない よ う
にす る には、 デー タ ベース プ ロ フ ァ イ ルを作成す る と き に以下の操作
を行い ます。
プ ロ フ ァ イル レ ジス
ト リ エ ン ト リ での表
示の抑制
❖
プ ロ フ ァ イル レ ジ ス ト リ エ ン ト リ でのパスワー ド 表示を抑制する
1
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス で [接続] タ ブの [DB
情報ダ イ ア ロ グの表示] チ ェ ッ ク ボ ッ ク ス をチ ェ ッ ク し ます。
こ れで、 こ のプ ロ フ ァ イ ル を選択 し てデー タ ベー ス へ接続す る と
き に、 PowerBuilder に よ っ て、 不足 し てい る 情報の入力を求め ら れ
ます。
2
設定の結果
[パ ス ワ ー ド ] ボ ッ ク ス を 空に し てお き ま す。 かわ り に、 デー タ
ベー ス へ接続す る と き に表示 さ れ る 、 追加情報の入力を求め る ダ
イ ア ロ グ ボ ッ ク ス でパ ス ワ ー ド を指定 し ます。
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス ではな く 、 追加情報の入力
を求め る ダ イ ア ロ グ ボ ッ ク ス でパ ス ワ ー ド を指定す る 場合、 パ ス ワ ー
ド は、 こ のプ ロ フ ァ イ ルに対す る レ ジ ス ト リ エ ン ト リ と し て表示 さ れ
ません。
た と えば、 デー タ ベース プ ロ フ ァ イ ルの作成時に DB プ ロ フ ァ イ ル設
定 - Adaptive Server Enterprise ダ イ ア ロ グボ ッ ク ス でパ ス ワ ー ド を指定
し ない場合、 Client Library への ロ グ イ ン ダ イ ア ロ グボ ッ ク ス が表示 さ
れ、 不足 し てい る 情報の入力が求め ら れ ます。
PowerBuilder ア プ リ ケーシ ョ ンか ら デー タ ベースに接続する ための
[プ レ ビ ュ ー] タ ブの使い方
PowerBuilder アプ リ ケーシ ョ ン か ら デー タ ベー ス に接続す る には、 ト
ラ ンザ ク シ ョ ン オブジ ェ ク ト (デフ ォ ル ト では SQLCA) のプ ロ パテ ィ
と し て、 必要な接続パ ラ メ ー タ を アプ リ ケーシ ョ ン の ス ク リ プ ト に指
定 し な ければな り ません。 た と えば、 アプ リ ケーシ ョ ン を開 く ス ク リ
プ ト に接続パ ラ メ ー タ を指定 し ます。
158
PowerBuilder
第 11 章
デー タ ベース接続の管理
PowerBuilder では、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス に あ る
[プ レ ビ ュ ー] タ ブに よ り 、 正確な PowerScript の接続構文を開発環境
で簡単に生成 し 、 それを PowerBuilder アプ リ ケーシ ョ ン の ス ク リ プ ト
で使用す る こ と がで き ます。
PowerBuilder ア プ リ ケーシ ョ ン か ら 接続す る ために [プ レ ビ ュ ー] タ
ブ を利用す る 手順については、『アプ リ ケーシ ョ ン テ ク ニ ッ ク 』 マニ ュ
アルの ト ラ ン ザ ク シ ョ ン オブ ジ ェ ク ト の使用方法につい て説明 し て
い る 節を参照 し て く だ さ い。
デー タ ベース プ ロ フ ァ イルの管理
PowerBuilder では、 既存のデー タ ベース プ ロ フ ァ イ ルの編集や削除が
簡単にで き ます。
デー タ ベース プ ロ フ ァ イ ルを編集す る こ と で、 1 つま たは複数の接続
パ ラ メ ー タ を変更す る こ と がで き ます。 デー タ にア ク セ スす る 必要が
な く な っ た場合は、 そのデー タ ベー ス プ ロ フ ァ イ ルを削除で き ま す。
ま た、 プ ロ フ ァ イ ルを変更す る には、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ
グ ボ ッ ク ス ま たはデー タ ベース ペ イ ン タ を使い ます。
設定の結果
デー タ ベース プ ロ フ ァ イ ルを編集ま たは削除す る と 、 PowerBuilder に
よ り レ ジ ス ト リ 内のデー タ ベー ス プ ロ フ ァ イ ル エ ン ト リ が更新 ま た
は削除 さ れます。
ODBC デー タ ソ ースのデー タ ベース プ ロ フ ァ イルの削除
ODBC デー タ ソ ー ス に接続す る デー タ ベー ス プ ロ フ ァ イ ルを削除 し
て も 、 PowerBuilder が、 そのプ ロ フ ァ イ ルに対応す る デー タ ソ ー ス 定
義を、 ODBC.INI フ ァ イ ル ま たは レ ジ ス ト リ のサブ キーか ら 削除す る
こ と はあ り ません。 つま り 、 デー タ ソ ース を再定義 し な く て も 、 必要
に応 じ て、 後でデー タ ベース プ ロ フ ァ イ ルだけ を再度作成で き ます。
デー タ ベース プ ロ フ ァ イルの共有
PowerBuilder で作業 し てい る 場合、 ユーザ間でデー タ ベース プ ロ フ ァ
イ ルを共有で き ます。
デー タ ベース と の接続
159
デー タ ベース プ ロ フ ァ イルの共有
Sybase ツール間でのデー タ ベース プ ロ フ ァ イルの共有
PowerBuilder お よ び InfoMaker で使用 さ れ る デー タ ベース プ ロ フ ァ イ
ルは、 レ ジ ス ト リ 内で共通の場所に格納 さ れ る ので、 こ れ ら の製品が
同 じ コ ン ピ ュ ー タ 上で動作 し てい る 場合、 1 つの製品で作成 し たデー
タ ベース プ ロ フ ァ イ ルは、 ほかの製品で も 自動的に使用可能にな り ま
す。
こ の節では、 PowerBuilder において共有デー タ ベース プ ロ フ ァ イ ルを
設定、 使用、 管理す る 方法について解説 し ます。
共有デー タ ベース プ ロ フ ァ イルについて
共有 し た いプ ロ フ ァ イ ルが格納 さ れ て い る フ ァ イ ルの場所 を 指定 し
て、 PowerBuilder の開発環境でデー タ ベース プ ロ フ ァ イ ルが共有で き
ます。 こ の場所は、 デー タ ベース ペ イ ン タ の DB 環境設定 ダ イ ア ロ グ
ボ ッ ク ス に指定 し ます。
共有プ ロ フ ァ イル
フ ァ イルの保存場所
同一サ イ ト の PowerBuilder ユーザ間でデー タ ベース プ ロ フ ァ イ ルを共
有す る には、 すべてのユーザがア ク セ ス可能なネ ッ ト ワ ー ク フ ァ イ ル
サーバにプ ロ フ ァ イ ル フ ァ イ ルを保存 し ます。
デー タ ベース プ ロ フ ァ イ ルを共有す る と 、 PowerBuilder に よ っ て レ ジ
ス ト リ に格納 さ れてい る デー タ ベース プ ロ フ ァ イ ルに加え て、 指定す
る フ ァ イ ルに格納 さ れて い る 共有デー タ ベー ス プ ロ フ ァ イ ル名が表
示 さ れ ます。
共有デー タ ベース プ ロ フ ァ イ ルは上書 き で き ません。 共有プ ロ フ ァ イ
ル を 選択 し てデー タ ベー ス に接続で き ま すが、 共有 さ れて い る プ ロ
フ ァ イ ルを編集、 保存、 ま たは削除で き ま せん ( し か し 、 163 ページ
の 「 ロ ーカルで共有デー タ ベース プ ロ フ ァ イ ルを変更す る 」 で説明 し
てい る よ う 、共有プ ロ フ ァ イ ルに変更を加え、それを自分の コ ン ピ ュ ー
タ に保存で き ます)。
共有デー タ ベース プ ロ フ ァ イルの設定
DB 環境設定 ダ イ ア ロ グボ ッ ク ス で共有デー タ ベース プ ロ フ ァ イ ルを
設定 し ます。
160
PowerBuilder
第 11 章
❖
デー タ ベース接続の管理
共有デー タ ベース プ ロ フ ァ イルを設定する
1
デー タ ベース ペ イ ン タ で、 メ ニ ュ ー バーか ら 、 [デザ イ ン|オプ
シ ョ ン]を選択 し 、DB 環境設定 ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。
2
[全般] タ ブ ページの [共有 DB プ ロ フ ァ イ ル] ボ ッ ク ス に、 共有
し たいデー タ ベース プ ロ フ ァ イ ルを含んだ フ ァ イ ルの位置を指定
し ます。 こ の作業は、 以下のいずれかの方法で行い ます。
•
[共有 DB プ ロ フ ァ イ ル]ボ ッ ク ス に、位置(パ ス名) を入力す る
•
参照 ([...]) ボ タ ン を ク リ ッ ク し て、 フ ァ イ ルの位置を検索 し 、
[共有 DB プ ロ フ ァ イ ル] ボ ッ ク ス に表示す る
以下の例では、 共有デー タ ベース プ ロ フ ァ イ ルの フ ァ イ ルの位置
と し て、 c:\work\shared.ini を指定 し てい ます。
3
[OK] を ク リ ッ ク し ます。
PowerBuilder は、 共有デー タ ベー ス プ ロ フ ァ イ ルの設定を現行の
接続お よ び以降のすべての接続に適用 し 、 レ ジ ス ト リ にその設定
を保存 し ます。
デー タ ベース と の接続
161
デー タ ベース プ ロ フ ァ イルの共有
共有デー タ ベース プ ロ フ ァ イルを使用 し た接続
共有デー タ ベース プ ロ フ ァ イ ルを選択 し て、 デー タ ベース に接続 し ま
す。 こ れは、 レ ジ ス ト リ に格納 さ れたプ ロ フ ァ イ ルを選択す る 方法 と
同 じ です。 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス ま た は メ ニ ュ ーの
[フ ァ イ ル] か ら 共有プ ロ フ ァ イ ルを選択で き ます。
DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス で、 共有 DB プ ロ フ ァ イ ルを選
択 し て、 接続 し ます。
DB プ ロ フ ァ イル ダ イ
ア ログボ ッ ク ス
❖
DB プ ロ フ ァ イル ダ イ ア ロ グボ ッ ク スで共有デー タ ベース プ ロ フ ァ イルを選
択する
1
パ ワ ーバーの [DB プ ロ フ ァ イ ル] ボ タ ン を ク リ ッ ク す る か、 メ
ニ ュ ー バーの [ツール| DB プ ロ フ ァ イ ル] を選択 し ます。
共有プ ロ フ ァ イ ル と ロ ーカル プ ロ フ ァ イ ルの両方が一覧表示 さ れ
た DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ ます。 共有プ
ロ フ ァ イ ルは、 ネ ッ ト ワ ー ク ア イ コ ン と 「(Shared)」 と い う 文字で
示 さ れてい ます。
2
ア ク セ ス し た い共有プ ロ フ ァ イ ルの名前 を 選択 し 、 [接続] を ク
リ ッ ク し ます。
PowerBuilder は、 選択 さ れたデー タ ベー ス に接続 し 、 ペ イ ン タ の
ワー ク スペース に戻 り ます。
162
PowerBuilder
第 11 章
デー タ ベース接続の管理
ロー カルで共有デー タ ベース プ ロ フ ァ イルを変更する
共有プ ロ フ ァ イ ルは、 PowerBuilder を実行 し てい る 複数のユーザがア
ク セ スす る ので、 こ れ ら のプ ロ フ ァ イ ルは変更すべ き ではあ り ません。
し か し 、 個人の使用のために共有デー タ ベース プ ロ フ ァ イ ルを変更 し
てその コ ピーを保存 し たい場合は、 個人の コ ン ピ ュ ー タ の レ ジ ス ト リ
でプ ロ フ ァ イ ルの編集や変更 し た コ ピーの保存を行い ます。
❖
レ ジ ス ト リ で共有デー タ ベース プ ロ フ ァ イルの変更を保存する
1
DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス で、編集 し たい共有プ ロ フ ァ
イ ルを選択 し て、 [編集] ボ タ ン を ク リ ッ ク し ます。
2
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス が表示 さ れます。 必要
に応 じ て、 プ ロ フ ァ イ ル値を編集 し 、 [OK] を ク リ ッ ク し ます。
変更 し たプ ロ フ ァ イ ルの コ ピーを保存す る ための メ ッ セージ ボ ッ
ク ス が表示 さ れます。
3
[はい] を ク リ ッ ク し ます。
変更 し た プ ロ フ ァ イ ルが、 PowerBuilder に よ っ て ロ ー カ ル コ ン
ピ ュ ー タ の レ ジ ス ト リ に保存 さ れ ます。
共有デー タ ベース プ ロ フ ァ イルの管理
個人のマシ ン で PowerBuilder のデー タ ベース プ ロ フ ァ イ ルを管理す る
場合は、 変更 を 加え る 度に共有デー タ ベー ス プ ロ フ ァ イ ル を 更新 し
て、 ユーザが利用で き る よ う にす る 必要があ り ます。
共有デー タ ベース プ ロ フ ァ イ ルは、 PowerBuilder を実行 し てい る 複数
のユーザがア ク セ スす る ので、 ネ ッ ト ワ ー ク 上でプ ロ フ ァ イ ルを変更
す る のは、 良い方法 と は言え ません 。 変更は、 ネ ッ ト ワー ク 上で行 う
のではな く 、 ロ ーカルで更新 し たプ ロ フ ァ イ ルを ユーザに提供に し ま
す。
❖
共有デー タ ベース プ ロ フ ァ イルを個人のマシ ン で管理する
1
個人の コ ン ピ ュ ー タ 上で、 共有プ ロ フ ァ イ ルに必要な変更を し て
保存を し ます。 こ れ ら の変更は レ ジ ス ト リ に保存 さ れます。
詳 し い手順については、 163 ページの 「 ロ ーカルで共有デー タ ベー
ス プ ロ フ ァ イ ルを変更す る 」 を参照 し て く だ さ い。
2
デー タ ベース と の接続
レ ジ ス ト リ か ら 、更新 し たプ ロ フ ァ イ ル エ ン ト リ を、共有プ ロ フ ァ
イ ルを含む既存の フ ァ イ ルにエ ク ス ポー ト し ます。
163
デー タ ベース プ ロ フ ァ イルのイ ンポー ト と エ ク スポー ト
詳 し い手順については、 164 ページの 「デー タ ベース プ ロ フ ァ イ
ルの イ ン ポー ト と エ ク ス ポー ト 」 を参照 し て く だ さ い。
3
指定 さ れていない場合は、 ユーザが各自の コ ン ピ ュ ー タ で共有プ
ロ フ ァ イ ルにア ク セ ス で き る よ う に、DB 環境設定プ ロ パテ ィ シー
ト で新 し いプ ロ フ ァ イ ル フ ァ イ ルの位置を各ユーザに指定 さ せま
す。
詳 し い手順については、160 ページの 「共有デー タ ベース プ ロ フ ァ
イ ルの設定」 を参照 し て く だ さ い。
デー タ ベース プ ロ フ ァ イルのイ ンポー ト と エ ク スポー ト
各デー タ ベース イ ン タ フ ェース には [プ ロ フ ァ イ ルを イ ン ポー ト ] お
よ び [プ ロ フ ァ イ ルを エ ク ス ポー ト ] オプシ ョ ンが提供 さ れてい ます。
[プ ロ フ ァ イ ルを イ ン ポー ト ] オプシ ョ ン を使用す る と 、 定義済みのプ
ロ フ ァ イ ルを イ ン ポー ト し て、 イ ン ス ト ール済みのデー タ ベース イ ン
タ フ ェ ース で使用で き ます。 反対に、 [プ ロ フ ァ イ ルを エ ク ス ポー ト ]
オプシ ョ ン を使用す る と 、 定義済みのプ ロ フ ァ イ ルを エ ク ス ポー ト し
て、 ほかのユーザに よ る 使用が可能にな り ます。
プ ロ フ ァ イ ルを イ ン ポー ト お よ びエ ク ス ポー ト す る 機能を使 う と 、 開
発者間でプ ロ フ ァ イ ルを簡単にや り と り で き ます。 つま り 、 共有 さ れ
てい る フ ァ イ ルを保守す る こ と に よ っ てプ ロ フ ァ イ ルを保守す る 必要
も な く な り ます。 ネ ッ ト ワ ー ク への接続を確保で き ないモバ イ ル環境
での開発で フ ァ イ ルを共有す る のに理想的です。
❖
プ ロ フ ァ イルを エ ク スポー ト する
1
デー タ ベース イ ン タ フ ェース をハ イ ラ イ ト 表示 し て、 ポ ッ プア ッ
プ メ ニ ュ ーか ら [プ ロ フ ァ イ ル を エ ク ス ポー ト ] を 選択 し ま す
(デー タ ベース ペ イ ン タ で、[フ ァ イ ル] メ ニ ュ ーま たはポ ッ プア ッ
プ メ ニ ュ ーか ら [プ ロ フ ァ イ ルを エ ク ス ポー ト ] を選択 し ます)。
2
プ ロ フ ァ イ ルを エ ク ス ポー ト ダ イ ア ロ グボ ッ ク ス で、 エ ク ス ポー
ト す る プ ロ フ ァ イ ルを選択 し て [OK] を ク リ ッ ク し ます。
定義済みのデー タ ベース イ ン タ フ ェ ース であ る か ど う かにかかわ
ら ず、 プ ロ フ ァ イ ルを エ ク ス ポー ト ダ イ ア ロ グ ボ ッ ク ス に、 レ ジ
ス ト リ に定義済みのすべて のプ ロ フ ァ イ ルが一覧表示 さ れ ま す。
デフ ォ ル ト では、 選択 さ れたデー タ ベース イ ン タ フ ェ ース に定義
済みのプ ロ フ ァ イ ルがエ ク ス ポー ト 用にマーキ ン グ さ れ ます。
164
PowerBuilder
第 11 章
3
デー タ ベース接続の管理
プ ロ フ ァ イ ル フ ァ イ ルの選択 ダ イ ア ロ グ ボ ッ ク ス で、 デ ィ レ ク ト
リ と エ ク ス ポー ト さ れたプ ロ フ ァ イ ルを保存す る フ ァ イ ルを選択
し て、 [保存] を ク リ ッ ク し ます。
エ ク ス ポー ト さ れたプ ロ フ ァ イ ルは、 新規 ま たは既存の フ ァ イ ル
に保存で き ま す。 既存の フ ァ イ ルに保存す る 場合、 プ ロ フ ァ イ ル
は既存のプ ロ フ ァ イ ルに追加 さ れ ま す。 同名のプ ロ フ ァ イ ルがす
でにあ る 場合は、 上書 き す る か ど う か を尋ね る メ ッ セージが表示
さ れ ます。
PowerBuilder 拡張属性シ ス テム テーブルについて
PowerBuilder は 5 つのシ ス テ ム テーブル (Powersoft リ ポジ ト リ と 呼ん
でいた も の) を使用 し て、 デー タ ベー ス のテーブルお よ びカ ラ ム につ
いての拡張属性情報 (表示書式、 入力条件則、 フ ォ ン ト 情報な ど) を
格納 し ま す。 ま た、 PowerBuilder において、 テーブル を作成 し た り 変
更 し た り す る と き に も 、 拡張属性の定義がで き ます。
こ の節では、 以下の項目について解説 し ます。
•
デー タ ベー ス へ初めて ロ グ イ ンす る と き に、 適切な ア ク セ ス 権を
使用 し て PowerBuilder 拡張属性シ ス テ ム テーブルを作成す る 方法
•
PowerBuilder 拡張属性シ ス テ ム テーブルを表示 し 、 開 く 方法
•
PowerBuilder 拡張属性シ ス テ ム テーブルに格納 さ れてい る 情報の
種類について
•
拡張属性シ ス テ ム テーブルへのア ク セ ス を制御す る 方法
デー タ ベースへの初めてのログ イ ン
デフ ォ ル ト で、 デー タ ベース に最初に接続 し た と き に PowerBuilder に
よ っ て拡張属性シ ス テ ム テーブルが作成 さ れます。
PowerBuilder が適切な ア ク セ ス権限を持っ た拡張属性シ ス テ ム テーブ
ルを作成 し て、すべてのユーザが こ れを利用で き る よ う にす る ために、
PowerBuilder を使用 し て最初にデー タ ベー ス に接続す る 担当者は、 適
切な権限を使用 し て ロ グ イ ンす る 必要があ り ます。
デー タ ベース と の接続
165
PowerBuilder 拡張属性シ ス テム テーブルについて
❖
PowerBuilder 拡張属性シ ス テム テーブルを正確に作成する
•
PowerBuilder を使用 し て最初にデー タ ベース に接続す る 場合は、そ
の担当者がテーブルを作成 し 、PUBLIC を実行す る 権限を持っ てい
る こ と を確認 し て く だ さ い。
つ ま り 、 初回のデー タ ベー ス 接続を行 う ユーザは、 デー タ ベー ス
オーナー、 デー タ ベース管理者、 シ ス テ ム ユーザ、 シ ス テ ム管理
者、 シ ス テ ム オーナー、 ま たは DBMS で指定 さ れたユーザで ロ グ
イ ン し ます。
PowerBuilder 拡張属性シ ス テム テーブルの表示
テーブルやカ ラ ムの情報を変更す る と 、 拡張属性シ ス テ ム テーブルは
PowerBuilder に よ っ て自動的に更新 さ れ ます。PowerBuilder 拡張属性シ
ス テ ム テーブルは、DBMS が提供す る シ ス テ ム テーブル と は異な り ま
す。
PowerBuilder 拡張属性シ ス テ ム テーブルは、必要に応 じ て、ほかのテー
ブル と 同様に、 デー タ ベース ペ イ ン タ で開いて表示で き ます。
166
PowerBuilder
第 11 章
❖
PowerBuilder 拡張属性シス テム テーブルを表示する
1
デー タ ベース ペ イ ン タ で、 ア ク テ ィ ブな接続のデー タ ベース オブ
ジ ェ ク ト の リ ス ト で [テーブル] を ハ イ ラ イ ト 表示 し て、 ポ ッ プ
ア ッ プ メ ニ ュ ーか ら [シ ス テ ム テーブルを表示] を選択 し ます。
2
次の よ う に、 PowerBuilder 拡張属性シ ス テ ム テーブル と DBMS シ
ス テ ム テーブルがテーブル リ ス ト に表示 さ れます。
•
デー タ ベース と の接続
デー タ ベース接続の管理
PowerBuilder シス テム テーブル pbcatcol、 pbcatedt、 pbcatfmt、
pbcattbl、 pbcatvld と い う 5 つのシ ス テ ム テーブルがあ り ます。
167
PowerBuilder 拡張属性シ ス テム テーブルについて
•
DBMS シ ス テム テーブル DBMS で提供 さ れ る シ ス テ ム テーブ
ルは、通常、DBMS 固有の修飾子 (sys や dbo な ど) を伴い ます。
3
PowerBuilder シ ス テ ム テーブルの内容が、 オブジ ェ ク ト レ イ ア ウ
ト 、 オブジ ェ ク ト の詳細、 ま たはカ ラ ム ビ ュ ーに表示 さ れ ます。
詳 し い手順については、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照 し
て く だ さ い。
拡張属性シ ス テム テーブルは編集 し ないで く だ さ い
PowerBuilder 拡張属性シ ス テ ム テーブル内の値は変更 し ないで く
だ さ い。
拡張属性シ ス テム テーブルの内容
表 11-1 に示す よ う に、 PowerBuilder では、 5 種類の拡張属性情報を シ
ス テ ム テーブルに格納 し てい ます。
168
PowerBuilder
第 11 章
デー タ ベース接続の管理
表 11-1: 拡張属性シ ス テム テーブル
シス テム
テーブル
pbcatcol
情報の種類
カラム
pbcattbl
編集様式
表示書式
テーブル
pbcatvld
入力条件則
pbcatedt
pbcatfmt
属性
カ ラ ム の名前、 コ メ ン ト 、 ヘ ッ ダ、 ラ ベル、
大文字 と 小文字の区別、 初期値、 位置揃え
編集様式の名前 と 定義
表示書式の名前 と 定義
テーブルの名前、 所有者、 (デー タ 、 ヘ ッ ダ、
ラ ベルの) デフ ォ ル ト フ ォ ン ト 、 コ メ ン ト
入力条件則の名前 と 定義
PowerBuilder シ ス テ ム テーブルの詳細については、 『ユーザーズ ガ イ
ド 』 マニ ュ アルの 「付録」 を参照 し て く だ さ い。
シ ス テム テーブル名の修飾子
デー タ ベース に よ っ て、 PowerBuilder は、 デフ ォ ル ト の DBMS 固有の
修飾子をシス テム テーブル名の先頭に付けま す。 たと えば、 PowerBuilder
シ ス テ ム テーブルの名前は、 SQL Server デー タ ベース の場合は修飾子
DBO が先頭に付 き (DBO.pbcatcol) 、 Oracle デー タ ベース の場合は修飾
子 SYSTEM が先頭に付 き ます (SYSTEM.pbcatfmt)。
前述の表は、 DBMS 固有の修飾子が付いていない、 シ ス テ ム テーブル
の基本 と な る 名前を それぞれ示 し た も のです。
シ ス テム テーブルへのア ク セスの制御
サ イ ト の PowerBuilder シ ス テ ム テーブルへのア ク セ ス を制御す る ため
に、 PowerBuilder に対 し て シ ス テ ム テーブルを作成ま たは更新 し ない
よ う に指定 し た り 、 一部のユーザ ま たはグループだけがシ ス テ ム テー
ブルにア ク セ ス で き る よ う に指定 し た り す る こ と がで き ます。
シ ス テ ム テーブルへのア ク セ ス を制御す る には、 以下のいずれかの作
業を行い ます。
デー タ ベース と の接続
デー タ ベー ス ペ イ ン タ の DB 環境設定
ダ イ ア ロ グボ ッ ク ス で、 [拡張属性の使用] の設定を し ます。
•
[拡張属性の使用] の設定
•
[読み取 り 専用] の設定
デー タ ベー ス ペ イ ン タ の DB 環境設定 ダ
イ ア ロ グ ボ ッ ク ス で、 [読み取 り 専用] の設定を し ます。
169
PowerBuilder 拡張属性シ ス テム テーブルについて
•
シ ス テム テーブルのア ク セス権の指定 サ イ ト の ユ ー ザ ま た は グ
ループに対 し て、 シ ス テ ム テーブルの明示的な ア ク セ ス権を与え
ます。
[拡張属性の使用] または [読み取 り 専用] の設定によ る ア ク セスの制御
❖
環境設定項目
[拡張属性の使用]
[拡張属性の使用] または [読み取 り 専用] を設定 し てシ ス テム テーブルへ
のア ク セス を制御する
1
メ ニ ュ ー バーの [デザ イ ン|オプシ ョ ン] を選択 し て、 DB 環境
設定 ダ イ ア ロ グボ ッ ク ス を表示 し ます。
2
[全般] タ ブ ページで [拡張属性の使用] ま たは [読み取 り 専用]
の値を設定 し ます。
必要な操作
チェ ッ ク ボ ッ ク ス
を オ フ にす る
効果
PowerBuilder シ ス テ ム テーブルが存在 し ない場合、 シ ス
テ ム テーブルが作成 さ れな い。 かわ り に、 ペ イ ン タ で
は、 拡張属性 (ヘ ッ ダ、 ラ ベル、 テ キ ス ト の色な ど) の
適切なデフ ォ ル ト 値が使用 さ れ る
PowerBuilder シ ス テ ム テーブルがすでに存在す る 場合、
デー タ ウ ィ ン ド ウ オブ ジ ェ ク ト を新 し く 作成す る と き
に、 PowerBuilder はそのシ ス テ ム テーブルを使用 し ない
170
PowerBuilder
第 11 章
環境設定項目
[読み取 り 専用]
必要な操作
チェ ッ クボ ッ ク ス
を オンにす る
デー タ ベース接続の管理
効果
PowerBuilder シ ス テ ム テーブルがすでに存在す る 場合、
デー タ ウ ィ ン ド ウ オブ ジ ェ ク ト を新 し く 作成す る と き
に、PowerBuilder はそのシ ス テ ム テーブルを使用す る が、
そのシ ス テ ム テーブルが更新 さ れ る こ と はない
[読み取 り 専用] チ ェ ッ ク ボ ッ ク ス がオ ン の場合、 デー
タ ウ ィ ン ド ウ ペ イ ン タ か ら 、 シ ス テ ム テーブルやほか
のデー タ ベース テーブル内の情報の変更 (更新) はで き
ない
3
[OK] ボ タ ン を ク リ ッ ク し ます。
PowerBuilder は、環境設定項目の設定を現行の接続や以降のすべて
の接続に適用 し 、 それ ら を レ ジ ス ト リ に保存 し ます。
ア ク セス権によ る シ ス テム テーブルへのア ク セスの制御
使用 し てい る DBMS が SQL GRANT 文や REVOKE 文を サポー ト し てい
る 場合、PowerBuilder シ ス テ ム テーブルへのア ク セ ス を制御で き ます。
各 リ ポ ジ ト リ テーブルに対す る デ フ ォ ル ト の権限は以下の と お り で
す。
GRANT SELECT, UPDATE, INSERT, DELETE ON table TO PUBLIC
シ ス テ ム テーブルを作成 し た後で、 た と えば、 SELECT 権限を エ ン ド
ユーザに、 SELECT、 UPDATE、 INSERT、 DELETE 権限を開発者に与え る
こ と に よ っ て、 シ ス テ ム テーブルへのア ク セ ス を制御で き ます。 こ の
手法の場合、 DBMS 自体が備え てい る セ キ ュ リ テ ィ と 柔軟性を活用で
き ます。
デー タ ベース と の接続
171
PowerBuilder 拡張属性シ ス テム テーブルについて
172
PowerBuilder
第 1 2 章
接続パ ラ メ ー タ の追加設定
こ の章について
デー タ ベー ス 接続の設定を さ ら に細か く 調整 し 、 使用す る イ ン タ
フ ェース がサポー ト す る DBMS 固有の機能を利用す る ために、 必
要に応 じ て接続パ ラ メ ー タ を追加設定で き ます。 追加で き る 接続
パ ラ メ ー タ には、 以下の 2 種類があ り ます。
•
デー タ ベース パ ラ メ ー タ
•
デー タ ベース環境設定項目
こ れ ら の接続パ ラ メ ー タ については、 オ ン ラ イ ン ヘルプの 「デー
タ ベース接続」 で説明 し てい ます。
こ の章で は、 PowerBuilder のデー タ ベー ス パ ラ メ ー タ と デー タ
ベース環境設定項目の内容について解説 し ます。
内容
項目
接続パ ラ メ ー タ を設定す る ための基本手順
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス について
デー タ ベース パ ラ メ ー タ の設定
デー タ ベース環境設定項目の設定
ページ
173
174
175
179
接続パラ メ ー タ を設定する ための基本手順
こ の節では、 PowerBuilder か ら 、 デー タ ベー ス パ ラ メ ー タ と デー
タ ベース環境設定項目を設定す る 方法について解説 し ます。
❖
デー タ ベース パラ メ ー タ を設定する
1
開発環境ま たは コ ー ド でデー タ ベース パ ラ メ ー タ を設定す る
方法を理解 し ます。
175 ページの 「デー タ ベー ス パ ラ メ ー タ の設定」 を参照 し て
く だ さ い。
2
デー タ ベース と の接続
使用 し てい る デー タ ベー ス イ ン タ フ ェ ース に対 し て設定で き
る デー タ ベース パ ラ メ ー タ を調べます。
173
DB プ ロ フ ァ イル設定 ダ イ ア ログボ ッ ク スについて
サ ポー ト し て い る デー タ ベー ス イ ン タ フ ェ ー ス と 、 そ の イ ン タ
フ ェ ー ス で使用で き る デー タ ベー ス パ ラ メ ー タ の一覧につい て
は、 オ ン ラ イ ン ヘルプの 「デー タ ベース パ ラ メ ー タ と サポー ト し
てい る デー タ ベース イ ン タ フ ェ ース」 を参照 し て く だ さ い。
❖
3
オ ン ラ イ ン ヘルプで、 設定す る デー タ ベース パ ラ メ ー タ について
の解説を参照 し ます。
4
データ ベース 接続に対し てデータ ベース パラ メ ータ を 設定し ま す。
デー タ ベース環境設定項目を設定する
1
開発環境ま たは PowerBuilder アプ リ ケーシ ョ ンの ス ク リ プ ト の中
でデー タ ベース環境設定項目を設定す る 方法を理解 し ます。
179 ページの 「デー タ ベース環境設定項目の設定」 を参照 し て く だ
さ い。
2
使用 し てい る DBMS に対 し て設定で き る デー タ ベース環境設定項
目を調べます。
サ ポー ト し て い る デー タ ベー ス イ ン タ フ ェ ー ス と 、 そ の イ ン タ
フ ェ ー ス で使用で き る デー タ ベー ス 環境設定項目の一覧について
は、 オ ン ラ イ ン ヘルプの 「デー タ ベース パ ラ メ ー タ と サポー ト し
てい る デー タ ベース イ ン タ フ ェ ース」 を参照 し て く だ さ い。
3
オ ン ラ イ ン ヘルプで、 設定す る 環境設定項目についての解説を参
照 し ます。
4
デー タ ベー ス 接続に対 し てデー タ ベー ス 環境設定項目を設定 し ま
す。
DB プ ロ フ ァ イル設定 ダ イ ア ログボ ッ ク スについて
イ ン タ フ ェ ース固有の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス を使
用すれば、 開発環境ま たは コ ー ド で追加接続パ ラ メ ー タ を簡単に設定
で き ます。 こ のダ イ ア ロ グボ ッ ク ス では、 以下の処理を行え ます。
•
174
デー タ ベース イ ン タ フ ェース がサポー ト し てい る 接続オプシ ョ ン
の値を指定す る
PowerBuilder
第 12 章
接続パ ラ メ ー タ の追加設定
各デー タ ベース イ ン タ フ ェ ース は、 独自の DB プ ロ フ ァ イ ル設定
ダ イ ア ロ グ ボ ッ ク ス を持っ てお り 、 その イ ン タ フ ェ ー ス 専用の接
続パ ラ メ ー タ の設定が入っ てい ま す。 関連す る パ ラ メ ー タ は同 じ
タ ブ ページでグループ化 さ れてい ます。 すべての イ ン タ フ ェ ース
用の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス には、 [接続] タ ブ
お よ び [プ レ ビ ュ ー] タ ブが含 ま れてい ま す。 イ ン タ フ ェ ー ス の
機能 と 必要に応 じ て、 こ れ以外の タ ブ ページ も 表示 さ れます。
•
開発環境で簡単に追加接続パ ラ メ ー タ を設定す る
接続パ ラ メ ー タ (デー タ ベース パ ラ メ ー タ お よ び ト ラ ンザ ク シ ョ
ン オブジ ェ ク ト のプ ロ パテ ィ ) の値は、チ ェ ッ ク ボ ッ ク ス、 ド ロ ッ
プダ ウ ン リ ス ト 、 お よ びテ キ ス ト ボ ッ ク ス を使用 し て、 簡単に指
定す る こ と がで き ます。 デー タ ベース プ ロ フ ァ イ ルを シ ス テ ム レ
ジ ス ト リ に保存す る と 、 PowerBuilder に よ り 、 正 し い構文が自動的
に生成 さ れ ます。
•
PowerBuilder アプ リ ケーシ ョ ンの ス ク リ プ ト で使用す る ために接
続構文を生成す る
PowerBuilder で DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス を設定
す る と 、 指 定 し た 各 オ プ シ ョ ン に 対 応 し た 接 続 構 文 が [プ レ
ビ ュ ー] タ ブ上に生成 さ れます。 PowerBuilder は、 対応す る デー タ
ベー ス パ ラ メ ー タ ま たは ト ラ ン ザ ク シ ョ ン オブジ ェ ク ト プ ロ パ
テ ィ 名を各オプシ ョ ン に割 り 当て、 引用符、 カ ン マ、 セ ミ コ ロ ン
な ど を 必要 な 場所に挿入 し ま す。 [プ レ ビ ュ ー] タ ブ の構文は、
PowerBuilder ア プ リ ケーシ ョ ン の ス ク リ プ ト に コ ピ ーす る こ と が
で き ます。
デー タ ベース パラ メ ー タ の設定
PowerBuilder では、 以下のいずれかの処理を行 う こ と に よ り 、 デー タ
ベース パ ラ メ ー タ を設定で き ます。
デー タ ベース と の接続
•
開発環境で、 接続用に DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス
を編集す る
•
アプ リ ケーシ ョ ンの ス ク リ プ ト で接続パ ラ メ ー タ を指定す る
175
デー タ ベース パ ラ メ ー タ の設定
開発環境でのデー タ ベース パラ メ ー タ の設定
デー タ ベース プ ロ
フ ァ イルの編集
PowerBuilder の開発環境で、 デー タ ベー ス 接続に対 し てデー タ ベー ス
パ ラ メ ー タ を 設定す る には、 そ の接続に対応す る デー タ ベー ス プ ロ
フ ァ イ ルを編集 し ます。
文字列の文字数制限
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス に指定す る デー タ ベース パ
ラ メ ー タ を含む文字列は、 999 文字以内で指定 し ます。
こ の制限は、 開発環境でデー タ ベース プ ロ フ ァ イ ルに指定す る デー タ
ベース パ ラ メ ー タ だけに適用 さ れます。 ト ラ ンザ ク シ ョ ン オブジ ェ ク
ト のプ ロ パテ ィ と し て コ ー ド に指定す る デー タ ベー ス 文字列には、 文
字数の制限があ り ません。
PowerBuilder ア プ リ ケーシ ョ ンのス ク リ プ ト でのデー タ ベース パラ
メ ー タ の設定
デー タ ベー ス に接続す る ア プ リ ケ ーシ ョ ン を 開発 し て い る 場合、 デ
フ ォ ル ト の ト ラ ンザ ク シ ョ ン オブジ ェ ク ト (SQLCA)、 ま たは作成 し
た ト ラ ンザ ク シ ョ ン オブジ ェ ク ト のプ ロ パテ ィ と し て、 ス ク リ プ ト の
中で要求 さ れ る 接続パ ラ メ ー タ を指定 し な ければな り ません。 た と え
ば、 アプ リ ケーシ ョ ン を開 く ス ク リ プ ト に接続パ ラ メ ー タ を指定 し ま
す。
ス ク リ プ ト に指定す る 接続パ ラ メ ー タ の 1 つに DBParm が あ り ま す。
以下の方法で指定 し ます。
•
(推奨) DBParm 構文を、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク
ス の [プ レ ビ ュ ー] タ ブか ら ス ク リ プ ト に コ ピーす る
•
ト ラ ンザ ク シ ョ ン オブジ ェ ク ト の DBParm プ ロ パテ ィ に値を設定
す る PowerScript コ ー ド を記述す る
•
外部テ キ ス ト フ ァ イ ルか ら DBParm 値を読み込む
[プ レ ビ ュ ー] タ ブからの DBParm 構文の コ ピー
PowerBuilder アプ リ ケーシ ョ ン ス ク リ プ ト に DBParm パ ラ メ ー タ を指
定 す る に は、 DB プ ロ フ ァ イ ル 設定 ダ イ ア ロ グ ボ ッ ク ス の [プ レ
ビ ュ ー] タ ブか ら DBParm 構文 を コ ー ド に コ ピ ー し 、 必要で あれば、
ト ラ ンザ ク シ ョ ン オブジ ェ ク ト のデフ ォ ル ト 名 (SQLCA) を修正す る
のが も っ と も 簡単です。
176
PowerBuilder
第 12 章
接続パ ラ メ ー タ の追加設定
開発環境の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス でパ ラ メ ー タ を
設定す る と 、 PowerBuilder は接続構文を [プ レ ビ ュ ー] タ ブ上に生成
し ます。 し たが っ て、 構文を [プ レ ビ ュ ー] タ ブか ら 直接 コ ピーす る
と 、 コ ー ド で使用す る DBParm 構文が正 し い こ と が保証 さ れます。
❖
DBParm 構文を [プ レ ビ ュ ー] タ ブから コ ー ド に コ ピーする
1
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス の 1 つ以上の タ ブで、設
定 し たいパ ラ メ ー タ の値を指定 し ます。
詳 し い手順については、 176 ページの 「開発環境でのデー タ ベース
パ ラ メ ー タ の設定」 を参照 し て く だ さ い。
パ ラ メ ー タ の詳細 と 指定す る 値については、 [ヘルプ] ボ タ ン を ク
リ ッ ク し て参照 し て く だ さ い。
2
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス を閉 じ ないで現行の タ
ブへの変更を保存す る 場合は、 [更新] ボ タ ン を ク リ ッ ク し ます。
3
[プ レ ビ ュ ー] タ ブ を ク リ ッ ク し ます。
選択 し た各オプシ ョ ン に対応 し た DBParm 構文が [DB 接続構文]
ボ ッ ク ス に表示 さ れます。
4
[DB 接続構文] ボ ッ ク ス のテ キ ス ト を選択 し て、 [ コ ピー] ボ タ ン
を ク リ ッ ク し ます。
選択 し た テ キ ス ト を PowerBuilder が ク リ ッ プボー ド に コ ピー し ま
す。
5
[OK] を ク リ ッ ク し て、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス
を閉 じ ます。
6
[プレ ビ ュ ー] タ ブから 選択し たテキス ト を コ ード に貼り 付け、 必要
であればト ラ ン ザク ショ ン オブジェ ク ト のデフ ォ ルト 名 (SQLCA)
を変更 し ます。
DBParm プ ロパテ ィ 値を設定する ための PowerScript コ ー ド の記述
ス ク リ プ ト の中で接続パ ラ メ ー タ を指定す る には、 ト ラ ンザ ク シ ョ ン
オブジ ェ ク ト のプ ロ パテ ィ に対 し て値を割 り 当て る ための PowerScript
コ ー ド を記述す る 方法 も あ り ま す。 PowerBuilder では、 デー タ ベー ス
と 通信す る た めに、 ト ラ ン ザ ク シ ョ ン オブ ジ ェ ク ト と 呼ばれ る 非 ビ
ジ ュ アル オブジ ェ ク ト を使用 し ます。 デフ ォ ル ト の ト ラ ンザ ク シ ョ ン
オブジ ェ ク ト の名前は SQLCA で、 こ れは SQL Communications Area の
略です。
デー タ ベース と の接続
177
デー タ ベース パ ラ メ ー タ の設定
SQLCA は 15 種類のプ ロ パテ ィ を持ち、その中の 10 種類がデー タ ベー
ス と の接続に使用 さ れ ます。その 10 種類の接続プ ロ パテ ィ の中の 1 つ
が DBParm です。 DBParm プ ロ パテ ィ には DBMS 固有のパ ラ メ ー タ を
指定 し ま す。 こ の指定に よ っ て、 デー タ ベー ス イ ン タ フ ェ ー ス がサ
ポー ト す る さ ま ざ ま な機能を アプ リ ケーシ ョ ン で使用で き ます。
❖
PowerBuilder ス ク リ プ ト で DBParm プ ロパテ ィ の値を設定する
1
接続パ ラ メ ー タ を指定す る ア プ リ ケーシ ョ ン の ス ク リ プ ト を開 き
ます。
詳 し い手順については、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照 し
て く だ さ い。
2
以下の PowerScript 構文で DBParm パラ メ ータ を指定し ま す。DBParm
パ ラ メ ー タ 間はカ ン マで区切 り 、DBParm 文字列全体を二重引用符
で囲みます。
SQLCA.dbParm = "parameter_1, parameter_2, parameter_n"
た と えば、 以下の PowerBuilder ス ク リ プ ト では、 Sales と い う 名前
の ODBC デー タ ソ ース に対 し て DBParm プ ロ パテ ィ を設定 し てい
ます。 こ の例の場合、 DBParm プ ロ パテ ィ に ConnectString と Async
と い う 2 つのパ ラ メ ー タ が設定 さ れてい ます。
SQLCA.dbParm="ConnectString='DSN=Sales;UID=PB;
PWD=xyz',Async=1"
3
PowerBuilder ス ク リ プ ト を コ ンパ イ ル し 、 変更を保存 し ます。
詳 し い手順については、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照 し
て く だ さ い。
外部テキス ト フ ァ イルからの DBParm 値の読み込み
PowerBuilder アプ リ ケーシ ョ ン の ス ク リ プ ト で DBParm プ ロ パテ ィ を
設定す る には、PowerScript ProfileString 関数を使用 し て、アプ リ ケーシ ョ
ン固有の初期設定フ ァ イ ルな ど、 外部テ キ ス ト フ ァ イ ルの特定のセ ク
シ ョ ン か ら 、 DBParm 値を読み込む方法 も あ り ます。
❖
外部テキス ト フ ァ イルか らの DBParm 値の読み込み
1
接続パ ラ メ ー タ を指定す る ア プ リ ケーシ ョ ン の ス ク リ プ ト を開 き
ます。
詳 し い手順については、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照 し
て く だ さ い。
178
PowerBuilder
第 12 章
2
接続パ ラ メ ー タ の追加設定
SQLCA.DBParm プ ロ パテ ィ に以下の構文で ProfileString 関数を指定
し ます。
SQLCA.dbParm = ProfileString ( file, section, key,
default )
た と えば、 以下の PowerBuilder ス ク リ プ ト では APP.INI フ ァ イ ル
の [Database] セ ク シ ョ ン か ら DBParm 値を読み込みます。
SQLCA.dbParm=ProfileString("APP.INI","Database",
"dbParm","")
3
ス ク リ プ ト を コ ンパ イ ル し 、 変更を保存 し ます。
詳 し い手順については、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照 し
て く だ さ い。
デー タ ベース環境設定項目の設定
設定方法
デー タ ベース と の接続
PowerBuilder において接続関連のデー タ ベー ス 環境設定項目を設定す
る 方法は、以下の表に示す よ う に異な り ます。PowerBuilder アプ リ ケー
シ ョ ン の ス ク リ プ ト で設定す る こ と がで き る デー タ ベー ス環境設定項
目は、 AutoCommit と Lock だけです。
179
デー タ ベース環境設定項目の設定
表 12-1: デー タ ベース環境設定項目 と その編集場所
PowerBuilder ア プ
リ ケーシ ョ ン で設定
する場合の編集対象
アプ リ ケーシ ョ ン
スク リプト
アプ リ ケーシ ョ ン
スク リプト
—
デー タ ベース
環境設定項目
自動 コ ミ ッ ト モー ド
(AutoCommit)
分離レベル
(Lock)
共有 DB プ ロ フ ァ イ ル
(Shared Database Profiles)
開発環境の中 で 設定 す
る場合の編集対象
DB プ ロ フ ァ イ ル 設定
ダ イ ア ロ グボ ッ ク ス
DB プ ロ フ ァ イ ル 設定
ダ イ ア ロ グボ ッ ク ス
DB 環境設定プ ロ パテ ィ
シー ト
デフ ォ ル ト のプ ロ フ ァ イ
ルに接続
(Connect to Default Profile)
DB 環境設定プ ロ パテ ィ
シー ト
—
読み取 り 専用
(Read Only)
DB の接続を保持
(Keep Connection Open)
拡張属性の使用
(Use Extended Attributes)
SQL 構文の終止符
(SQL Terminator Character)
DB 環境設定プ ロ パテ ィ
シー ト
DB 環境設定プ ロ パテ ィ
シー ト
DB 環境設定プ ロ パテ ィ
シー ト
DB 環境設定プ ロ パテ ィ
シー ト
—
—
—
—
以 下 の 節 で は、 開 発 環 境 や (AutoCommit と Lock に つ い て は)
PowerBuilder アプ リ ケーシ ョ ン の ス ク リ プ ト の中で、 デー タ ベー ス 環
境設定項目を設定す る 手順について解説 し ます。
詳細について
各デー タ ベース環境設定項目の詳細については、 オ ン ラ イ ン ヘルプの
説明を参照 し て く だ さ い。
開発環境でのデー タ ベース環境設定項目の設定
サポー ト さ れてい る すべての開発プ ラ ッ ト フ ォ ームにおけ る
PowerBuilder の開発環境でデー タ ベース環境設定項目を設定す る に
は、 2 つの方法があ り ます。
•
AutoCommit や Lock (分離レベル) は、 接続に対応す る DB プ ロ
フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス で設定す る
ADO.NET
ADO.NET の場合、分離レベル (Isolation) はデー タ ベース パ ラ メ ー
タ です。
180
PowerBuilder
第 12 章
•
接続パ ラ メ ー タ の追加設定
ほかのすべてのデー タ ベース環境設定項目は、 デー タ ベース ペ イ
ン タ の DB 環境設定 ダ イ ア ロ グ ボ ッ ク ス で設定す る
デー タ ベース プ ロ フ ァ イルにおける AutoCommit と Lock の設定
AutoCommit およ び Lock (分離レ ベル) 環境設定項目は、 デフ ォ ルト ト
ラ ン ザク ショ ン オブジェ ク ト SQLCA のプロ パティ です。 AutoCommit
と Lock (分離レベル) 環境設定項目が PowerBuilder の開発環境で有効
と な る よ う にす る には、 こ れ ら をデー タ ベース に接続す る 前に指定 し
ます。 接続 し た後で こ れ ら の環境設定項目を変更 し て も 、 現行の接続
には、 その変更が反映 さ れ ません。
PowerBuilder がデー タ ベース に接続す る 前に AutoCommit や Lock を設
定す る には、 以下の手順で、 接続に対応す る DB プ ロ フ ァ イ ル設定 ダ
イ ア ロ グ ボ ッ ク ス でその値を指定 し ます。
❖
データ ベース プロ フ ァ イ ルに AutoCommit や Lock (分離レ ベル) を設定する
1
DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス を表示 し ます。
2
使用す る イ ン タ フ ェ ー ス 名の左の正符号 (+) を ク リ ッ ク す る か、
イ ン タ フ ェース名を ダブル ク リ ッ ク し ます。
リ ス ト が展開 し 、 そ の イ ン タ フ ェ ー ス に定義 さ れ て い る デー タ
ベース プ ロ フ ァ イ ルが表示 さ れ ます。
3
編集 し たいプ ロ フ ァ イ ル を選択 し て [編集] ボ タ ン を ク リ ッ ク し
ます。
選択 し たプ ロ フ ァ イ ルの DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク
ス が表示 さ れ ます。
4
[接続] タ ブで、 以下のいずれかの値、 ま たは両方の値を指定 し ま
す。
•
デー タ ベース と の接続
デー タ ベー ス が ロ ッ ク や分離レベルを サポー ト す
る 場合、 接続で使用す る 分離レベルを、 [分離レベル] ド ロ ッ
プダ ウ ン リ ス ト か ら 選択 し ます ([分離レベル] ド ロ ッ プダ ウ
ン リ ス ト には、 各 イ ン タ フ ェ ー ス に対 し て有効な ロ ッ ク 値が
格納 さ れてい ます)。
分離レ ベル
181
デー タ ベース環境設定項目の設定
•
AutoCommit の 設 定 は、 PowerBuilder が
SQL 文を ト ラ ン ザク ショ ン のス コ ープの外側で発行する (True)
のか、 内側で発行す る (False) のか を制御 し ます。 デー タ ベー
ス が対応 し ていれば、 [自動 コ ミ ッ ト モー ド ] チ ェ ッ ク ボ ッ ク
ス をチ ェ ッ ク し て AutoCommit を True(オ ン)にす る か、チ ェ ッ
ク ボッ ク ス のチェ ッ ク をはずし て(デフ ォ ル ト 状態)AutoCommit
を False (オ フ) に し ます。
自動 コ ミ ッ ト モー ド
た と えば、 基本接続パ ラ メ ー タ (サーバ、 ロ グ イ ン ID、 パ ス ワ ー
ド 、 お よ びデー タ ベース) に加え て、 Sales と い う Sybase Adaptive
Server Enterprise プ ロ フ ァ イ ル用の [接続] タ ブでは、 [分離 レ ベ
ル] と [自動 コ ミ ッ ト モー ド ] に対 し てデフ ォ ル ト と 異な る 設定
を し てい ます。
5
(オプシ ョ ン) PowerBuilder で、 Lock お よ び AutoCommit 用に生成
さ れた PowerScript 接続構文を表示す る には、 [プ レ ビ ュ ー] タ ブ
を ク リ ッ ク し ます。
PowerBuilder は、DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス で設定
し たオプシ ョ ンに合わせて PowerScript 接続構文を生成 し ます。 こ
の構文は、 PowerBuilder ア プ リ ケーシ ョ ン の ス ク リ プ ト に直接 コ
ピーす る こ と がで き ます。
詳 し い手順については、 176 ページの 「[プ レ ビ ュ ー] タ ブか ら の
DBParm 構文の コ ピー」 を参照 し て く だ さ い。
6
[OK] を ク リ ッ ク し て、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス
を閉 じ ます。
PowerBuilder は、 レ ジ ス ト リ 内のデー タ ベー ス プ ロ フ ァ イ ルのエ
ン ト リ に設定を保存 し ます。
DB 環境設定 ダ イ ア ログボ ッ ク スにおける環境設定項目の設定
以 下 の 接 続 関 連 の デ ー タ ベ ー ス 環 境 設 定 項 目 を 設 定 す る に は、
PowerBuilder デー タ ベース ペ イ ン タ で、 DB 環境設定 ダ イ ア ロ グボ ッ
ク ス に対 し て入力を し ます。
182
•
[共有 DB プ ロ フ ァ イ ル]
•
[デフ ォ ル ト のプ ロ フ ァ イ ルに接続]
•
[読み取 り 専用]
•
[DB の接続を保持]
•
[拡張属性の使用]
PowerBuilder
第 12 章
接続パ ラ メ ー タ の追加設定
[SQL 構文の終止符]
•
そのほかのデー タ ベース環境設定項目
DB 環境設定 ダ イ ア ロ グボ ッ ク ス では、 デー タ ベース ペ イ ン タ その も
のの動作に影響を及ぼす、 そのほかのデー タ ベー ス環境設定項目を設
定で き ます。 DB 環境設定 ダ イ ア ロ グ ボ ッ ク ス で設定で き る そのほか
の環境設定項目については、 『ユーザーズ ガ イ ド 』 マニ ュ アル を参照
し て く だ さ い。
❖
DB 環境設定 ダ イ ア ログボ ッ ク スで接続関連の環境設定項目を設定する
1
デー タ ベース ペ イ ン タ を開 き ます。
2
メ ニ ュ ーバーか ら [デザ イ ン|オプシ ョ ン] を選択 し ます。
DB 環境設定 ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ ます。 必要であれば、
[全般] タ ブ を ク リ ッ ク し て [全般] プ ロ パテ ィ ページ を表示 し ま
す。
[全般] プ ロ パテ ィ ページ上で、 以下の表の接続関連の DB 環境設
定項目に対 し て値を指定 し ます。
3
表 12-2: 接続関連のデー タ ベース環境設定項目
環境設定項目
[共有 DB プ ロ フ ァ イ ル]
[デ フ ォ ル ト の プ ロ フ ァ イ ル
に接続]
デー タ ベース と の接続
説明
共有す る デー タ ベー ス プ ロ フ ァ イ ルが あ る
フ ァ イ ルのパ ス名を指定する 。 パ ス名を直接
入力す る こ と も 、参照 ([...]) ボ タ ン を ク リ ッ
ク し てパ ス名を表示する こ と も で き る
デー タ ベース ペ イ ン タ 起動時に、デフ ォ ル ト
プ ロ フ ァ イ ル を 使用 し てデー タ ベー ス 接続
を確立する か ど う か を指定する 。 チ ェ ッ ク が
はず さ れてい る 場合、デー タ ベース ペ イ ン タ
はデー タ ベー ス 接続 を 確立せず にデー タ
ベース ペ イ ン タ を開 く
参考資料
159 ペー ジ の 「デー タ
ベー ス プ ロ フ ァ イ ルの
共有」
オ ン ラ イ ン ヘルプの
「デフ ォ ル ト のプ ロ フ ァ
イ ルに接続」
183
デー タ ベース環境設定項目の設定
環境設定項目
[読み取 り 専用]
[DB の接続を保持]
説明
PowerBuilder が、 拡張属性シ ス テ ム テーブル
やデー タ ベー ス 内のほ か の テーブル を 更新
す る か ど う か を 指定す る 。 以下に示す よ う
に、 [読 み 取 り 専 用] チ ェ ッ ク ボ ッ ク ス を
チ ェ ッ ク ま たはチ ェ ッ ク をはずす
• チ ェ ッ ク ボ ッ ク ス を オ ンにする 拡張属性 シ
ス テ ム テーブルやデー タ ベー ス 内のほか
のテーブルを更新 し てはいけ ま せん。 [読
み取 り 専用] チ ェ ッ ク ボ ッ ク ス がオンの場
合、 デー タ ウ ィ ン ド ウ ペ イ ン タ か ら 、 拡
張属性シ ス テ ム テーブルやほかのデー タ
ベース テーブル内の情報の変更 (更新) は
で き ません。
• チ ェ ッ ク ボ ッ ク ス を オ フ にする (デ フ ォ ル
ト ) 拡張属性シ ス テ ム テーブルやデー タ
ベース内のほかのテーブルを更新 し ます。
デ ー タ ベ ー ス プ ロ フ ァ イ ル を 使用せず に
PowerBuilder か ら デー タ ベース に接続 し てい
る と き に、 PowerBuilder が接続を閉 じ る タ イ
ミ ン グ を指定す る 。 以下に示す よ う に、 [DB
の接続を保持] チ ェ ッ ク ボ ッ ク ス をチ ェ ッ ク
ま たはチ ェ ッ ク をはずす
• チ ェ ッ ク ボ ッ ク ス を オ ンにする (デ フ ォ ル
ト ) セ ッ シ ョ ン中はデー タ ベース に接続 し
た ま ま で、セ ッ シ ョ ンが終了す る と き に接
続を閉 じ ます。
• チ ェ ッ ク ボ ッ ク ス を オ フ にする ペ イ ン タ が
要求 し た と き だけ接続を開 き 、ペ イ ン タ を
閉 じ る と き 、 ま たは ス ク リ プ ト の コ ンパ イ
ルが終了す る と き に、 接続を閉 じ ます。
参考資料
オ ン ラ イ ン ヘルプの
「読み取 り 専用」
オ ン ラ イ ン ヘルプの
「デー タ ベー ス の接続を
保持」
プ ロ フ ァ イルでは使用 さ れない
デー タ ベー ス プ ロ フ ァ イ ル を 使用 し て接続
す る 場合、 こ の環境設定項目は無視 さ れ ま
す。
184
PowerBuilder
第 12 章
環境設定項目
[拡張属性の使用]
接続パ ラ メ ー タ の追加設定
説明
PowerBuilder が拡張属性 シ ス テ ム テ ーブル
を作成 し 、 使用す る か ど う かを指定す る 。 以
下に示す よ う に、 [拡張属性の使用] チ ェ ッ
ク ボ ッ ク ス を チ ェ ッ ク ま た はチ ェ ッ ク を は
ずす。
• チ ェ ッ ク ボ ッ ク ス を オ ンにする (デ フ ォ ル
ト ) 拡張属性シ ス テ ム テーブルを作成 し 、
使用 し ます。
• チ ェ ッ ク ボ ッ ク ス を オ フ にする 拡張属性 シ
ス テ ム テーブルを作成 し ません。
PowerBuilder がテーブルを グ ラ フ ィ カルに表
示す る と き に、 表示 さ れ る テーブルのカ ラ ム
数を指定する 。 デフ ォ ル ト は 8
デー タ ベー ス か ら ど れだ け頻繁に テーブル
リ ス ト を リ フ レ ッ シ ュ す る か を指定 し ま す。
デフ ォ ル ト は 30 分です。
PowerBuilder において、 デー タ ベース ペ イ ン
タ の ISQL セ ッ シ ョ ン ビ ュ ーで使用す る SQL
文の終止符を指定する
[表示す る カ ラ ム数]
[テーブル リ ス ト の再描画]
[SQL 構文の終止符]
参考資料
オ ン ラ イ ン ヘルプの
「拡張属性の使用」
オ ン ラ イ ン ヘルプの
「SQL 構文の終止符」
デフ ォ ル ト の終止符はセ ミ コ ロ ン (;) 。 デー
タ ベー ス ペ イ ン タ の ISQL セ ッ シ ョ ン
ビ ュ ーで ス ト ア ド プ ロ シージ ャ や ト リ ガ を
作 成 し て い る 場合、 SQL 文 の 終止符 を、
DBMS におけ る ス ト ア ド プ ロ シージ ャ 構文、
ま た は ト リ ガ構文で使用す る 予定の な い文
字に変更する 。 バ ッ ク ク ォー ト 文字 (`) な ど
が適切
4
以下のいずれかの操作を し ます。
•
環境設定項目の設定を現行の接続に適用 し た上で、 DB 環境設
定 ダ イ ア ロ グ ボ ッ ク ス を閉 じ ずに操作を続け る には、 [更新]
ボ タ ン を ク リ ッ ク し ます。
•
環境設定項目の設定を現行の接続に適用 し た上で、 DB 環境設
定 ダ イ ア ロ グ ボ ッ ク ス を閉 じ る には、 [OK] ボ タ ン を ク リ ッ
ク し ます。
PowerBuilder によ っ て、 環境設定項目の設定は、 PB.INI の database
セ ク シ ョ ンに保存 さ れます。
デー タ ベース と の接続
185
デー タ ベース環境設定項目の設定
PowerBuilder ア プ リ ケーシ ョ ンのス ク リ プ ト における AutoCommit と
Lock の設定
デー タ ベース に接続す る PowerBuilder アプ リ ケーシ ョ ン を開発 し てい
る 場合、 デフ ォ ル ト の ト ラ ンザ ク シ ョ ン オブジ ェ ク ト (SQLCA)、 ま
たは作成 し た ト ラ ンザ ク シ ョ ン オブジ ェ ク ト のプ ロ パテ ィ と し て、 ス
ク リ プ ト の中で要求 さ れ る 接続パ ラ メ ー タ を指定 し なければな り ませ
ん。 た と えば、 アプ リ ケーシ ョ ン を開 く ス ク リ プ ト に接続パ ラ メ ー タ
を指定 し ます。
AutoCommit お よ び Lock は SQLCA のプ ロ パテ ィ です。 AutoCommit と
Lock は、 PowerBuilder ス ク リ プ ト に設定す る こ がで き る 唯一 のデー タ
ベース環境設定項目です。 以下の方法で指定 し ます。
•
(推奨) AutoCommit お よ び Lock の PowerScript 構文を、 DB プ ロ
フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の [プ レ ビ ュ ー] タ ブか ら ス ク
リ プ ト に コ ピーす る
•
ト ラ ンザ ク シ ョ ン オブジ ェ ク ト の AutoCommit と Lock プ ロ パテ ィ
に値を設定す る PowerScript コ ー ド を記述す る
•
外部テ キ ス ト フ ァ イ ルか ら AutoCommit と Lock 値を読み込む
PowerBuilder アプ リ ケーシ ョ ン でデー タ ベー ス と 通信す る ための ト ラ
ン ザ ク シ ョ ン オブジ ェ ク ト の使い方については、 『アプ リ ケーシ ョ ン
テ ク ニ ッ ク 』 マニ ュ アルを参照 し て く だ さ い。
[プ レ ビ ュ ー] タ ブからの AutoCommit および Lock 構文の コ ピー
PowerBuilder ア プ リ ケ ー シ ョ ン の ス ク リ プ ト に AutoCommit お よ び
Lock パ ラ メ ー タ を 指定す る には、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ
ボ ッ ク ス の [プ レ ビ ュ ー] タ ブか ら ス ク リ プ ト に コ ピー し 、 必要であ
れば、 ト ラ ンザ ク シ ョ ン オブジ ェ ク ト のデフ ォ ル ト 名 (SQLCA) を修
正す る のが も っ と も 簡単です。
開発環境で DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス を設定す る と 、
PowerBuilder は PowerScript の接続構文を [プ レ ビ ュ ー] タ ブ上に生成
し ます。 し たが っ て、 構文を [プ レ ビ ュ ー] タ ブか ら 直接 コ ピーす る
と 、 ス ク リ プ ト で使用す る PowerScript 構文が正 し い こ と が保証 さ れま
す。
❖
AutoCommit および Lock 構文を [プレ ビ ュ ー] タ ブから スク リ プト にコ ピ ー
する
1
186
接続に対 し て DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス の [接続]
タ ブで、 設定 し たい AutoCommit お よ び Lock パ ラ メ ー タ の値を指
定 し ます。
PowerBuilder
第 12 章
接続パ ラ メ ー タ の追加設定
詳 し い手順については、 181 ページの 「デー タ ベース プ ロ フ ァ イ
ルにおけ る AutoCommit と Lock の設定」 を参照 し て く だ さ い。
た と えば、 基本接続パ ラ メ ー タ (サーバ、 ロ グ イ ン ID、 パ ス ワ ー
ド 、 お よ びデー タ ベース) に加え て、 Sales と い う 名前の Adaptive
Server プ ロ フ ァ イ ル用の [接続] タ ブでは、 [分離レベル] と [自
動 コ ミ ッ ト モー ド ] にデフ ォ ル ト と 異な る 設定を し ます。
DBParm パ ラ メ ー タ の詳細 と 指定す る 値については、 [ヘルプ] ボ
タ ン を ク リ ッ ク し て参照 し て く だ さ い。
2
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス を閉 じ ないで現行の タ
ブへの変更を保存す る 場合は、 [更新] ボ タ ン を ク リ ッ ク し ます。
3
[プ レ ビ ュ ー] タ ブ を ク リ ッ ク し ます。
選択 し た各オプシ ョ ン に対応 し た PowerScript 構文が [DB 接続構
文] ボ ッ ク ス に表示 さ れます。 た と えば、 次の よ う にな り ます。
4
[DB 接続構文] ボ ッ ク ス のテ キ ス ト を選択 し て、 [ コ ピー] ボ タ ン
を ク リ ッ ク し ます。
選択 し た テ キ ス ト を PowerBuilder が ク リ ッ プボー ド に コ ピー し ま
す。
デー タ ベース と の接続
5
[OK] を ク リ ッ ク し て、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス
を閉 じ ます。
6
[プ レ ビ ュ ー] タ ブか ら 選択 し た テ キ ス ト を ス ク リ プ ト に貼 り 付
け、 必要であれば ト ラ ンザ ク シ ョ ン オブジ ェ ク ト のデフ ォ ル ト 名
(SQLCA) を変更 し ます。
187
デー タ ベース環境設定項目の設定
AutoCommit プ ロパテ ィ と Lock プ ロパテ ィ の値を設定する ための PowerScript
コ ー ド の記述
ス ク リ プ ト の中で接続パ ラ メ ー タ を指定す る には、 ト ラ ンザ ク シ ョ ン
オブジ ェ ク ト の AutoCommit プ ロ パテ ィ と Lock プ ロ パテ ィ に対 し て値
を 割 り 当 て る た め の PowerScript コ ー ド を 記述す る 方法 も あ り ま す。
PowerBuilder では、 デー タ ベー ス と 通信す る ために、 ト ラ ン ザ ク シ ョ
ン オブジ ェ ク ト と 呼ばれ る 非ビ ジ ュ アル オブジ ェ ク ト を使用 し ます。
デフ ォ ル ト の ト ラ ンザ ク シ ョ ン オブジ ェ ク ト の名前は SQLCA で、 こ
れは SQL Communications Area の略です。
SQLCA は 15 種類のプロ パティ を 持ち、 その中の 10 種類がデータ ベー
ス と の接続に使用さ れま す。接続プロ パティ の中の 2 種類が AutoCommit
と Lock で、 こ れ ら は以下の手順で設定で き ます。
❖
AutoCommit と Lock プ ロパテ ィ を PowerBuilder ス ク リ プ ト に設定する
1
接続パ ラ メ ー タ を指定す る ア プ リ ケーシ ョ ン の ス ク リ プ ト を開 き
ます。
2
以下の PowerScript 構文を使用 し て、 AutoCommit と Lock プ ロ パ
テ ィ を設定 し ます。 ( こ の構文では、 デフ ォ ル ト ト ラ ンザ ク シ ョ ン
オブ ジ ェ ク ト SQLCA を使用 し ま すが、 独自の ト ラ ン ザ ク シ ョ ン
オブジ ェ ク ト を定義す る こ と も で き ます)。
SQLCA.AutoCommit = value
SQLCA.Lock = "value"
た と えば、 PowerBuilder ス ク リ プ ト 中の以下の ス テー ト メ ン ト は、
デフ ォ ル ト の ト ラ ンザ ク シ ョ ン オブジ ェ ク ト SQLCA を使用 し て、
Test と い う 名前の Sybase Adaptive Server Enterprise デー タ ベース に
接続 し ます。SQLCA.AutoCommit は True に設定 さ れ、SQLCA.Lock
は分離レベル 3 (Serializable transactions) に設定 さ れてい ます。
SQLCA.DBMS
SQLCA.Database
SQLCA.LogID
SQLCA.LogPass
SQLCA.ServerName
SQLCA.AutoCommit
SQLCA.Lock
=
=
=
=
=
=
=
"SYC"
"Test"
"Frans"
"xxyyzz"
"HOST1"
True
"3"
詳細については、オ ン ラ イ ン ヘルプの「AutoCommit」 ま たは「Lock」
を参照 し て く だ さ い。
3
188
ス ク リ プ ト を コ ンパ イ ル し 、 変更を保存 し ます。
PowerBuilder
第 12 章
接続パ ラ メ ー タ の追加設定
詳 し い手順については、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照 し
て く だ さ い。
外部テキス ト フ ァ イルから の AutoCommit と Lock 値の読み込み
PowerBuilder アプ リ ケーシ ョ ンの ス ク リ プ ト で AutoCommit や Lock プ
ロ パテ ィ を設定す る には、 PowerScript ProfileString 関数を使用 し て、 ア
プ リ ケーシ ョ ン固有の初期設定フ ァ イ ルな ど、 外部テ キ ス ト フ ァ イ ル
の特定セ ク シ ョ ン か ら 、 AutoCommit と Lock の値を読み込む方法 も あ
り ます。
❖
外部テキス ト フ ァ イルから AutoCommit と Lock の値を読み込む
1
接続パ ラ メ ー タ を指定す る アプ リ ケーシ ョ ン の ス ク リ プ ト を開 き
ます。
2
SQLCA.Lock プ ロ パテ ィ に以下の構文で ProfileString 関数を指定 し
ます。
SQLCA.Lock = ProfileString ( file, section, key, default )
AutoCommit プ ロ パテ ィ はブール値であ る ため、 ProfileString で返 さ
れ る 文字列 を ブ ール値 に 変換す る 必要 が あ り ま す。 た と え ば、
PowerBuilder ス ク リ プ ト の以下の ス テー ト メ ン ト では APP.INI フ ァ
イ ルの [Database] セ ク シ ョ ンか ら AutoCommit と Lock の値 を読
み込みます。
string ls_string
ls_string=Upper(ProfileString("APP.INI","Database",
"Autocommit",""))
if ls_string = "TRUE" then
SQLCA.Autocommit = TRUE
else
SQLCA.Autocommit = FALSE
end if
SQLCA.Lock=ProfileString("APP.INI","Database",
"Lock","")
3
ス ク リ プ ト を コ ンパ イ ル し 、 変更を保存 し ます。
レ ジ ス ト リ か らの値の取得
AutoCommit と Lock の値が レ ジ ス ト リ のアプ リ ケーシ ョ ン設定キーに
格納 さ れ る 場合、 RegistryGet 関数を使用 し てそれ ら を取得 し ます。 以下
に例を示 し ます。
string ls_string
デー タ ベース と の接続
189
デー タ ベース環境設定項目の設定
RegistryGet("HKEY_CURRENT_USER\Software\MyCo\MyApp", &
"Autocommit", RegString!, ls_string)
if Upper(ls_string) = "TRUE" then
SQLCA.Autocommit = TRUE
else
SQLCA.Autocommit = FALSE
end if
RegistryGet("HKEY_CURRENT_USER\Software\MyCo\\MyApp", &
"Lock", RegString!, ls_string)
190
PowerBuilder
第 1 3 章
デー タ ベース接続に関する ト ラ ブル
シ ュ ーテ ィ ン グ
こ の章について
こ の章では、 PowerBuilder におい て、 デー タ ベー ス と の接続で発
生 し た問題を以下の ツールを使用 し て解決す る 方法について解説
し ます。
内容
•
デー タ ベース ト レース
•
SQL ス テー ト メ ン ト ト レース
•
ODBC ド ラ イ バ マネージ ャ ト レース
•
JDBC ド ラ イ バ マネージ ャ ト レース
項目
ト ラ ブルシ ュ ーテ ィ ン グ ツールの概要
デー タ ベース ト レース ツールの使い方
SQL 文 ト レース ユーテ ィ リ テ ィ の使い方
ODBC ド ラ イ バ マネージ ャ ト レース ツールの使い方
JDBC ド ラ イ バ マネージ ャ ト レース ツールの使い方
ページ
191
192
207
209
221
ト ラ ブルシ ュ ーテ ィ ング ツールの概要
PowerBuilder は、 問題の解決のためにデー タ ベー ス と の接続を ト
レースす る のに利用で き る い く つかの ツールを備え てい ます。
表 13-1: デー タ ベース ト レース ツール
使用する ツール
デー タ ベース ト レース
ODBC ド ラ イ バ マネージ ャ
ト レース
JDBC ド ラ イ バ マネージ ャ
ト レース
デー タ ベース と の接続
ト レースで き るデー タ ベース接続
PowerBuilder でデー タ ベース イ ン タ
フ ェース を介 し て ア ク セ スす る 任意の
デー タ ベース
ODBC デー タ ソ ース のみ
JDBC デー タ ベース のみ
191
デー タ ベース ト レース ツールの使い方
デー タ ベース ト レース ツールの使い方
本節では、 デー タ ベー ス ト レ ー ス ツ ールの使い方について説明 し ま
す。
デー タ ベース ト レース ツール
デー タ ベース ト レース ツールを使用す る と 、デー タ ベースへのア ク セ
ス 中に PowerBuilder が実行す る 内部 コ マ ン ド が記録 さ れ ます。 開発環
境で、 ま たはデー タ ベース に接続す る PowerBuilder アプ リ ケーシ ョ ン
でデー タ ベース と の接続状況を ト レース で き ます。
デー タ ベース ト レース の出力は、 PowerBuilder に よ っ て
DBTRACE.LOG (デフ ォ ル ト ) と い う 名前の ロ グ フ ァ イ ル ま たは指定
し た ロ グ フ ァ イ ルに書 き 込まれます。 デー タ ベース の ト レース を最
初に起動 し た と き に、 PowerBuilder に よ っ て コ ン ピ ュ ー タ 上に ロ グ
フ ァ イ ルが作成 さ れます。 ト レース は、 デー タ ベース と の接続が解除
さ れ る ま で続 き ます。
1 つの接続に対するデー タ ベース ト レース ツールの使い方
デー タ ベース ト レース ツールは、 一度に 1 つの DBMS の、 1 つのデー
タ ベース接続に対 し てだけ使用で き ます。
た と えば、 あ る アプ リ ケーシ ョ ンが、 ODBC デー タ ソ ース と Adaptive
Server Enterprise デー タ ベース の両方に接続 し てい る 場合、 ODBC 接続
と Adaptive Server Enterprise 接続の ど ち ら か を ト レース で き ますが、 両
方を同時に ト レース で き ません。
デー タ ベース ト レース ツールの利用
デー タ ベース に接続 し てい る 場合、デー タ ベース ト レース ツールか ら
得 ら れ る 情報を利用 し て、 PowerBuilder が内部的に行っ てい る 処理に
ついて調べ る こ と がで き ます。 ロ グ フ ァ イ ルの内容か ら 以下の こ と が
可能にな り ます。
192
•
PowerBuilder が、デー タ ベース と ど の よ う なや り と り を し てい る か
の把握
•
デー タ ベース と の接続で発生 し た問題の確認 と 解決
•
デー タ ベース と の接続で発生 し た問題について テ ク ニ カル サポー
ト セ ン タ に連絡す る 際の情報の提供
PowerBuilder
第 13 章
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング
PowerBuilder に加え て、 接続 し てい る DBMS に関す る 知識があれば、
ロ グの情報を調べて、デー タ ベース接続の問題を自分で解決で き ます。
技術サポー ト を受け る 必要があ る 場合は、テ ク ニ カル サポー ト セ ン タ
へ連絡す る 前に、 デー タ ベース ト レース ツールを実行 し て く だ さ い。
そ し て、 ト レ ー ス の ロ グ を、 テ ク ニ カル サポー ト セ ン タ の担当者に
送っ て く だ さ い。
デー タ ベース ト レース ロ グの内容
ト レース フ ァ イルの
デ フ ォル ト の内容
デフ ォ ル ト では、デー タ ベース ト レース ツールでデー タ ベース と の接
続を ト レースす る と 、 ロ グ フ ァ イ ルに以下の情報が記録 さ れます。
•
デー タ ベース に接続す る ために使用 し たパ ラ メ ー タ
•
各デー タ ベース処理の実行時間 (マ イ ク ロ 秒単位)
•
デー タ ベー ス 内のテーブルやカ ラ ム情報を、 取得 し た り 表示 し た
り す る ために実行 さ れた内部 コ マ ン ド 。 こ の コ マ ン ド の例を以下
に示 し ます。
•
SELECT、 INSERT、 UPDATE、 DELETE な ど の SQL 文を準備 し 実
行す る コ マ ン ド
•
カ ラ ム の記述を取得す る コ マ ン ド
•
テーブル行を フ ェ ッ チす る コ マ ン ド
•
ユーザが指定す る 値を カ ラ ム にバ イ ン ド す る コ マ ン ド (接続す
る デー タ ベース がバ イ ン ド 変数を サポー ト し てい る 場合)
•
デー タ ベース の変更を コ ミ ッ ト や ロ ールバ ッ ク す る コ マ ン ド
•
デー タ ベース と の接続を解除す る コ マ ン ド
•
デー タ ベース イ ン タ フ ェ ース を シ ャ ッ ト ダ ウ ンす る コ マ ン ド
DBI コ マ ン ド 名や最後のデー タ ベース接続か ら ロ グ入力処理完了ま で
の経過時間を含め る 選択をす る こ と がで き ます。ま た、すべての フ ェ ッ
チ要求か ら 、バ イ ン ド や実行情報お よ びデー タ を除 く こ と がで き ます。
DB ト レース ダ イ ア ロ
グボ ッ ク スでの選択
DB ト レ ース ダイ ア ロ グ ボッ ク ス では、 以下の項目を データ ベース ト
レ ース フ ァ イ ルに取り 込んだり 除外し たり する ための選択を 行いま す。
•
バイ ン ド 変数
デー タ ベース か ら 取得 し た結果集合カ ラ ム に関す る
メ タ デー タ
デー タ ベース と の接続
•
フ ェ ッチ ・ バッ フ ァ
•
DBI 名
各フ ェ ッ チ要求か ら の戻 り 値デー タ
処理 さ れ る デー タ ベース イ ン タ フ ェース コ マ ン ド
193
デー タ ベース ト レース ツールの使い方
•
要求の実行時間 DBI コ マ ン ド を 処理す る た めに要求 さ れ る 時間。
間隔の単位は、 千分の ミ リ 秒 (マ イ ク ロ 秒)
•
DBTrace のレジスト リ
設定
デー タ ベー ス に接続 し て か ら の合計時間。 時間の単位
は、 千分の ミ リ 秒 (マ イ ク ロ 秒)
累積時間
DB ト レース ダ イ ア ロ グ ボ ッ ク ス での選択は、 デー タ ベース接続を
行っ たマシ ン の レ ジ ス ト リ に保存 さ れ ます。 デー タ ベース ト レース
ユーテ ィ リ テ ィ 環境設定用の Windows レ ジ ス ト リ は、
HKEY_CURRENT_USER\Software\Sybase\PowerBuilder\11.0\DBTrace
キーの下に格納 さ れ ます。 こ のキーの下の レ ジ ス ト リ 文字列は、
ShowBindings、 FetchBuffers、 ShowDBINames、 Timing、 SumTiming、
LogFileName、 お よ び ShowDialog です。 ト レース出力フ ァ イ ルに完全
な フ ァ イ ル名を割 り 当て る LogFileName 文字列以外は、 すべての文字
列を 0 ま たは 1 で設定す る こ と がで き ます。
デー タ ベース接続が ト レース可能な場合、 ShowDialog レ ジ ス ト リ 文字
列を設定 し て、 DB ト レー ス ダ イ ア ロ グ ボ ッ ク ス の表示を抑制す る こ
と がで き ます。 こ れは、 DB ト レース ダ イ ア ロ グ ボ ッ ク ス で変更す る
こ と がで き ない唯一の ト レース レ ジ ス ト リ 文字列です。 DB ト レース
ダ イ ア ロ グボ ッ ク ス を表示 し ない よ う にす る ためには、 ShowDialog を
0 に設定す る 必要があ り ます。
DBTrace の INI フ ァ
イル設定
レ ジ ス ト リ にア ク セ ス し ない場合は、 PB.INI を使用 し て ト レース フ ァ
イ ル設定を 格納す る こ と がで き ま す。 INI フ ァ イ ルに次の値 を少な く
と も 1 つ持つ [DbTrace] セ ク シ ョ ン を追加 し 、PowerBuilder を再起動 し
ます。
[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\PowerBuilder11.0 に ロ グ フ ァ
イ ル を 書 き 出 し ま す。 <username> は login ID で す。 INI フ ァ イ ル に
DbTrace 設定がない場合は、 レ ジ ス ト リ 設定が使用 さ れ ます。
194
PowerBuilder
第 13 章
エ ラ ー メ ッ セージ
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング
デー タ ベー ス ト レ ー ス ユーテ ィ リ テ ィ が書 き 込み権限を持つ ト レ ー
ス出力フ ァ イ ルを開 く こ と がで き ない場合には、 指定 さ れた ト レー ス
フ ァ イ ルが作成で き ないか、 ま たは開 く こ と がで き ない こ と を エ ラ ー
メ ッ セージが知 ら せます。 ト レース ユーテ ィ リ テ ィ ド ラ イ バが正常に
ロ ー ド で き ない場合は、 現行の イ ン ス ト ールでは選択 さ れた ト レー ス
DBMS を サ ポー ト し て い な い こ と を メ ッ セージ ボ ッ ク ス が通知 し ま
す。
デー タ ベース ト レース ロ グの書式
デー タ ベー ス ト レー ス ロ グ フ ァ イ ルの内容は、 ア ク セ ス す る デー タ
ベー ス や、 実行す る デー タ ベー ス 処理に よ っ て異な り ま す。 し か し 、
ロ グ フ ァ イ ルへの出力では、 サ ポー ト さ れて い る すべて のプ ラ ッ ト
フ ォ ームお よ びデー タ ベース で、 以下の基本書式が使用 さ れ ます。
COMMAND:(time)
{additional_information}
パラ メ ー タ
COMMAND
time
additional_information
例
説明
PowerBuilder が、デー タ ベース処理を実行す る
内部コ マ ン ド
PowerBuilder がデー タ ベー ス 処理 を 実行す る
のに要 し た時間 (マ イ ク ロ 秒単位)。 適用 さ れ
る 精度は、 使用 し てい る オペレーテ ィ ン グ シ
ス テ ム の タ イ ミ ン グ メ カ ニ ズ ム に よ っ て異な
る
(オプシ ョ ン) コ マ ン ド に関す る 追加情報。 こ
こ に記録 さ れ る 情報はデー タ ベー ス の処理内
容に よ っ て異な る
た と えば、 以下に示す ロ グ フ ァ イ ルの一部では、 PowerBuilder が、 コ
マ ン ド を 実行 し て 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
デー タ ベース と の接続
195
デー タ ベース ト レース ツールの使い方
デー タ ベース ト レース出力の詳細な例については、205 ページの 「デー
タ ベース ト レース ロ グのサン プル」 を参照 し て く だ さ い。
デー タ ベース ト レース ツールの起動
PowerBuilder において、 デー タ ベース ト レース ツールは、 デフ ォ ル ト
でオ フ にな っ てい ます。デー タ ベース ト レース ツールは、PowerBuilder
の開発環境ま たは PowerBuilder アプ リ ケーシ ョ ンにおいてデー タ ベー
ス接続を ト レースす る ために起動で き ます。
ト レースのオ ン/オ フ の切 り 替え
ト レー ス のオ ン/オ フ を切 り 替え る には、 再接続が必要です。 設定お
よ び再設定を行 う だけでは十分ではあ り ません。
❖
デー タ ベース ト レース ツールを起動する
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
""
196
PowerBuilder
第 13 章
3
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング
DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス で [接続] ボ タ ン を ク リ ッ
ク し てデー タ ベース に接続 し ます。
デー タ ベース の ト レース が有効にな っ た こ と を示す DB ト レース
ダ イ ア ロ グボ ッ ク ス が表示 さ れ ます。 PowerBuilder が ト レース の
出力を書 き 出すフ ァ イ ルの位置を入力す る こ と がで き ます。 デ
フ ォ ル ト では、 PowerBuilder はデー タ ベース ト レース の出力を
DBTRACE.LOG と い う 名前の ロ グ フ ァ イ ルに書 き 込みます。 DB
ト レース ダ イ ア ロ グ ボ ッ ク ス で ロ グ フ ァ イ ル名 と 位置を変更す
る こ と がで き ます。
DB ト レ ー ス ダ イ ア ロ グ ボ ッ ク ス では、 デー タ ベー ス ト レ ー ス
フ ァ イ ルに必要な ト レ ー ス 情報の レ ベル を選択す る こ と も で き ま
す。
4
ト レース フ ァ イ ルに含めたい項目を選択 し て、 [OK] ボ タ ン を ク
リ ッ ク し ます。
PowerBuilder はデー タ ベース に接続 し 、接続の ト レース を起動 し ま
す。
開発環境におけるデー タ ベース ト レースの起動
PowerBuilder の開発環境でデー タ ベース ト レース ツールを起動す る に
は、 以下の手順に従っ て、 ト レー ス し たい接続に対応す る デー タ ベー
ス プ ロ フ ァ イ ルを編集 し ます。
❖
デー タ ベース プ ロ フ ァ イルを編集 し てデー タ ベース ト レース ツールを起動
する
1
ト レースす る デー タ ベース接続に対応す る DB プ ロ フ ァ イ ル設定
ダ イ ア ロ グボ ッ ク ス を開 き ます。
2
[接続] タ ブで、 [ ト レ ー ス の生成] チ ェ ッ ク ボ ッ ク ス を チ ェ ッ ク
し て、 [OK] ボ タ ン ま たは [更新] ボ タ ン を ク リ ッ ク し ます (DB
プ ロ フ ァ イ ル設定 - OLE DB ダ イ ア ロ グボ ッ ク ス では [ ト レース の
生成] チ ェ ッ ク ボ ッ ク ス は [シ ス テ ム] タ ブにあ り ます)。
DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 編集 し たプ ロ
フ ァ イ ル名がハ イ ラ イ ト 表示 さ れ ます。
た と えば、 以下に、 Adaptive Server 12.5 Test に対す る デー タ ベース
プ ロ フ ァ イ ル エ ン ト リ の該当部分 を 示 し ま す。 デー タ ベー ス ト
レース を開始す る 設定は、 DBMS です。
[Default]
AutoCommit
Database
デー タ ベース と の接続
[value not set]
"FALSE"
"qadata"
197
デー タ ベース ト レース ツールの使い方
DatabasePassword "00"
DBMS
"TRACE SYC Adaptive Server Enterprise"
DbParm
"Release='12.5'"
Lock
""
LogId
"qalogin"
LogPassword
"00171717171717"
Prompt
"FALSE"
ServerName
"Host125"
UserID
""
3
DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス で [接続] ボ タ ン を ク リ ッ
ク し てデー タ ベース に接続 し ます。
デー タ ベー ス の ト レ ー ス が有効にな っ た こ と を示す DB ト レ ー ス
ダ イ ア ロ グボ ッ ク ス が表示 さ れます。PowerBuilder が ト レース の出
力を書 き 出すフ ァ イ ルの位置を入力す る こ と がで き ま す。 デフ ォ
ル ト で は、 PowerBuilder は デ ー タ ベ ー ス ト レ ー ス の 出 力 を
DBTRACE.LOG と い う 名前の ロ グ フ ァ イ ルに書 き 込み ま す。 DB
ト レ ー ス ダ イ ア ロ グ ボ ッ ク ス で ロ グ フ ァ イ ル名 と 位置 を 変更す
る こ と がで き ます。
DB ト レ ース ダイ ア ロ グ ボッ ク ス では、データ ベース ト レ ース フ ァ
イ ルに必要なト レ ース 情報のレ ベルを 選択する こ と も でき ま す。
4
ト レース フ ァ イ ルに含めたい項目を選択 し て、 [OK] ボ タ ン を ク
リ ッ ク し ます。
PowerBuilder はデー タ ベース に接続 し 、接続の ト レース を起動 し ま
す。
PowerBuilder ア プ リ ケーシ ョ ンにおけるデー タ ベース ト レースの起動
デー タ ベース に接続す る PowerBuilder アプ リ ケーシ ョ ン では、 必要な
接続パ ラ メ ー タ を適切な ス ク リ プ ト に指定 し ます。 た と えば、 アプ リ
ケーシ ョ ン を開 く ス ク リ プ ト に接続パ ラ メ ー タ を指定す る のが一般的
です。
PowerBuilder ス ク リ プ ト で デー タ ベー ス 接続 を ト レ ー ス す る に は、
DBMS 識別子の前に trace と い う 単語 と スペース を 1 つ入力 し ます。以
下の方法で指定 し ます。
198
•
PowerScript DBMS ト レース構文を、 DB プ ロ フ ァ イ ル設定 ダ イ ア
ロ グボ ッ ク ス の [プ レ ビ ュ ー] タ ブか ら ス ク リ プ ト に コ ピーす る
•
ト ラ ンザ ク シ ョ ン オブジ ェ ク ト の DBMS プ ロ パテ ィ に値を設定
す る PowerScript コ ー ド を記述す る
PowerBuilder
第 13 章
•
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング
外部テ キ ス ト フ ァ イ ルか ら DBMS に設定す る 値を読み込む
PowerBuilder アプ リ ケーシ ョ ン でデー タ ベー ス と 通信す る ための ト ラ
ン ザ ク シ ョ ン オブジ ェ ク ト の使い方については、 『アプ リ ケーシ ョ ン
テ ク ニ ッ ク 』 マニ ュ アルを参照 し て く だ さ い。
[プ レ ビ ュ ー] タ ブから の DBMS ト レース構文のコ ピー
PowerBuilder アプ リ ケーシ ョ ンの ス ク リ プ ト でデー タ ベース ト レース
を開始す る には、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス の [プ レ
ビ ュ ー] タ ブか ら PowerScript DBMS ト レース構文を コ ピー し 、 必要で
あれば、 ト ラ ンザ ク シ ョ ン オブジ ェ ク ト のデフ ォ ル ト 名 (SQLCA) を
変更す る 方法があ り ます。
開発環境で DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス を設定す る と 、
PowerBuilder は [ ト レ ー ス の生成] な ど、 選択 し た各オプシ ョ ン に対
し て正 し い接続構文を [プ レ ビ ュ ー] タ ブ上に生成 し ます。 し たが っ
て、 その構文を [プ レ ビ ュ ー] タ ブか ら 直接 コ ピーすれば、 ス ク リ プ
ト は正 し い も のであ る こ と が保証 さ れ ます。
❖
DBMS ト レース構文を [プ レ ビ ュ ー] タ ブから ス ク リ プ ト に コ ピーする
1
使用 し てい る 接続に対す る DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ
ク ス の [接続] タ ブ (OLE DB の場合は [シ ス テ ム] タ ブ) で、 [ ト
レース の生成] チ ェ ッ ク ボ ッ ク ス をチ ェ ッ ク し てデー タ ベース ト
レース を オ ン に し ます。
詳 し い手順については、 197 ページの 「開発環境におけ る デー タ
ベース ト レース の起動」 を参照 し て く だ さ い。
2
[更新] ボ タ ン を ク リ ッ ク し て、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ
ボ ッ ク ス を閉 じ ずに [接続] タ ブへの変更を保存 し ます。
3
[プ レ ビ ュ ー] タ ブ を ク リ ッ ク し ます。
[ ト レ ー ス の 生成] な ど、 選択 し た オ プ シ ョ ン に 対す る 正 し い
PowerScript 接続構文が [DB 接続構文] ボ ッ ク ス に表示 さ れ ます。
4
SQLCA.DBMS 行 と 、 ス ク リ プ ト に コ ピー し たい構文があればそれ
を選択 し て、 [ コ ピー] ボ タ ン を ク リ ッ ク し ます。
選択 し た テ キ ス ト を PowerBuilder が ク リ ッ プボー ド に コ ピー し ま
す。
5
デー タ ベース と の接続
[OK] を ク リ ッ ク し て、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス
を閉 じ ます。
199
デー タ ベース ト レース ツールの使い方
6
[プ レ ビ ュ ー] タ ブか ら 選択 し た テ キ ス ト を ス ク リ プ ト に貼 り 付
け、 必要であれば ト ラ ンザ ク シ ョ ン オブジ ェ ク ト のデフ ォ ル ト 名
(SQLCA) を変更 し ます。
DBMS プ ロパテ ィ の値を設定する ための PowerScript コ ー ド の記述
PowerBuilder ス ク リ プ ト の中でデー タ ベース ト レース ツールを起動す
る には、 ト ラ ンザ ク シ ョ ン オブジ ェ ク ト の DBMS プ ロ パテ ィ に対 し て
値を割 り 当て る 方法 も あ り ま す。 PowerBuilder では、 デー タ ベー ス と
通信す る ために、 ト ラ ンザ ク シ ョ ン オブジ ェ ク ト と 呼ばれ る 、 特殊な
非表示オブジ ェ ク ト を使用 し ます。 デフ ォ ル ト の ト ラ ンザ ク シ ョ ン オ
ブジ ェ ク ト の名前は SQLCA で、 こ れは SQL Communications Area の略
です。
SQLCA は 15 種類のプ ロ パテ ィ を持ち、その中の 10 種類がデー タ ベー
ス と の接続に使用 さ れ ます。その 10 種類の接続プ ロ パテ ィ の中の 1 つ
が DBMS です。DBMS プ ロ パテ ィ には接続す る デー タ ベース の名前を
指定 し ます。
❖
DBMS プ ロパテ ィ を指定 し てデー タ ベース ト レース ツールを起動する
•
以下の PowerScript 構文で DBMS プ ロ パテ ィ を指定 し ます。 ( こ の
構文では、 デフ ォ ル ト ト ラ ンザ ク シ ョ ン オブジ ェ ク ト SQLCA を
使用 し ますが、 独自の ト ラ ンザ ク シ ョ ン オブジ ェ ク ト を定義す る
こ と も で き ます)。
SQLCA.DBMS = "trace DBMS_name"
た と えば、 PowerBuilder ス ク リ プ ト 中の以下の ス テー ト メ ン ト は、
各種の SQLCA プ ロ パテ ィ を設定 し て、 Test と い う 名前の Adaptive
Server デー タ ベース に接続 し ます。DBMS プ ロ パテ ィ に対す る キー
ワー ド の trace に よ っ て、 こ のデー タ ベース接続に対す る ト レース
が指定 さ れ ます。
SQLCA.DBMS
SQLCA.database
SQLCA.logId
SQLCA.LogPass
SQLCA.ServerName
200
=
=
=
=
=
"trace SYC"
"Test"
"Frans"
"xxyyzz"
"Tomlin"
PowerBuilder
第 13 章
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング
外部テキス ト フ ァ イルやレ ジ ス ト リ か らの DBMS 値の読み込み
PowerBuilder アプ リ ケーシ ョ ン の ス ク リ プ ト で DBMS プ ロ パテ ィ を設
定す る には、 PowerScript ProfileString 関数を使用 し て、 アプ リ ケーシ ョ
ン 固有の初期設定 フ ァ イ ルな ど の外部テ キ ス ト フ ァ イ ルの特定のセ
ク シ ョ ン か ら 、 ま た は レ ジ ス ト リ の ア プ リ ケ ーシ ョ ン 設定 キ ーか ら
DBMS 値を読み込む方法 も あ り ます。
以下に示す手順では、 初期設定フ ァ イ ルのデー タ ベース セ ク シ ョ ン か
ら 読み込んだ DBMS 値は、 以下の構文 を 使用 し てデー タ ベー ス の ト
レース の起動を指定 し ます。
DBMS = trace DBMS_name
❖
外部テキス ト フ ァ イルから DBMS 値を読み込んでデー タ ベース ト レース
ツールを起動する
•
以下の PowerScript 構文を 使用し て、DBMS プロ パティ に ProfileString
関数を指定 し ます。
SQLCA.DBMS = ProfileString(file, section, variable, default_value)
た と えば、 以下の PowerBuilder ス ク リ プ ト では APP.INI フ ァ イ ル
の [Database] セ ク シ ョ ン か ら DBMS 値を読み込みます。
SQLCA.DBMS=ProfileString("APP.INI","Database",
"DBMS","")
かわ り に レ ジ ス ト リ フ ァ イ ルか ら 値を取得す る 方法については、 189
ページの 「レ ジ ス ト リ か ら の値の取得」 を参照 し て く だ さ い。
PBTrace パラ メ ー タ を持つ PowerScript で ト レース を起動
デー タ ベー ス 接続の開始 か ら すべ て のデー タ ベー ス コ マ ン ド を ト
レースす る かわ り に、 特定のデー タ ベース ク エ リ に関す る ト レース を
プ ロ グ ラ ム で開始お よ び終了で き ます。 ト レース を開始す る ためには、
一 組 の 文 字 列 値 “PBTrace=1” を ト ラ ン ザ ク シ ョ ン オ ブ ジ ェ ク ト
DBParm プ ロ パテ ィ に割 り 当て ます。 ト レース を終了す る ためには、一
組の文字列値 “PBTrace=0” を割 り 当て ま す。 た と えば、 1 つの検索 コ
マ ン ド に関す る ト レー ス の出力にデー タ を記録 し たい場合は、 以下の
よ う に接続の開始か ら ト レー ス を無効に し 、 それか ら 検索呼び出 し を
DBParm プ ロ パテ ィ 指示で囲みます。
SQLCA.DBMS = "TRACE ODBC"
SQLCA.DBParm="PBTrace=0"
Connect using SQLCA;
...
SQLCA.DBParm="PBTrace=1"
dw_1.Retrieve ( )
デー タ ベース と の接続
201
デー タ ベース ト レース ツールの使い方
SQLCA.DBParm="PBTrace=0"
DBMS パ ラ メ ー タ に 「Trace DBMSName」 を設定 し た後でデー タ ベー
ス に最初に接続す る と 、 ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ ます。 こ のダ
イ ア ロ グ ボ ッ ク ス で設定 し た設定パ ラ メ ー タ は、 レ ジ ス ト リ に保存 さ
れ ます。 設定パ ラ メ ー タ は、 DBParm パ ラ メ ー タ に 「PBTrace=1」 を割
り 当て て ト レース を開始す る 際に、 レ ジ ス ト リ か ら 取 り 出 さ れます。
DBMS 値に 「Trace DBMSName」 のかわ り に 「TRS DBMSName」 を設定
す る 場合 と 同 じ 方法で、 SQL 文 ト レース を開始 し て終了す る こ と がで
き ま す。 SQL 文 ト レ ー ス ユーテ ィ リ テ ィ につい ては、 207 ページ の
「SQL 文 ト レース ユーテ ィ リ テ ィ の使い方」 を参照 し て く だ さ い。
デー タ ベース ト レース ツールの停止
デー タ ベー ス接続の ト レー ス を い っ たん起動す る と 、 以下のいずれか
の操作が さ れ る ま で、 PowerBuilder に よ る ロ グ フ ァ イ ルへの ト レース
ロ グの書 き 込みが続 き ます。
•
ト レース を停止 し た状態で同 じ デー タ ベース に再接続す る
•
ト レース の設定を し ていない別のデー タ ベース と 接続す る
開発環境におけるデー タ ベース ト レースの停止
❖
デー タ ベース プ ロ フ ァ イルを編集 し てデー タ ベース ト レース ツールを停止
する
1
ト レース し てい る デー タ ベース に対す る DB プ ロ フ ァ イ ル設定 ダ
イ ア ロ グ ボ ッ ク ス を開 き 、[接続] タ ブの [ ト レース の生成] チ ェ ッ
ク ボ ッ ク ス のチ ェ ッ ク をはず し ます。
2
DB プ ロ フ ァ イ ル設定ダ イ ア ロ グ ボ ッ ク ス の [OK] ボ タ ン を ク リ ッ
ク し ます。
DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 編集 し たプ ロ
フ ァ イ ル名がハ イ ラ イ ト 表示 さ れます。
3
DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス内で、 接続す る デー タ ベー
ス を右 ク リ ッ ク し 、 ド ロ ッ プダ ウ ン メ ニ ュ ーか ら [再接続] を選
択 し ます。
PowerBuilder はデー タ ベース に接続 し 、接続の ト レース を停止 し ま
す。
202
PowerBuilder
第 13 章
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング
PowerBuilder ア プ リ ケーシ ョ ンにおけるデー タ ベース ト レースの停止
PowerBuilder アプ リ ケーシ ョ ン の ス ク リ プ ト でデー タ ベー ス ト レー ス
を停止す る には、DBMS プ ロ パテ ィ か ら trace と い う 単語を削除す る 必
要があ り ます。 以下の方法で指定 し ます。
•
ト ラ ンザ ク シ ョ ン オブジ ェ ク ト の DBMS プ ロ パテ ィ の値を編集
する
•
外部テ キ ス ト フ ァ イ ルか ら DBMS に設定す る 値を読み込む
変更を反映 さ せ る ために再接続す る 必要があ り ます。
DBMS プ ロパテ ィ 値の編集
❖
PowerBuilder ス ク リ プ ト で DBMS 値を編集 し てデー タ ベース ト レース を停
止する
•
アプ リ ケーシ ョ ン ス ク リ プ ト の中で、 DBMS 接続プ ロ パテ ィ か ら
trace と い う 単語を削除 し ます。
た と えば、 PowerBuilder ス ク リ プ ト の中の、 デー タ ベー ス ト レ ー
ス を有効にす る DBMS 接続プ ロ パテ ィ を以下に示 し ます ( こ の構
文では、 デフ ォ ル ト ト ラ ンザ ク シ ョ ン オブジ ェ ク ト SQLCA を使
用 し ますが、 独自の ト ラ ンザ ク シ ョ ン オブジ ェ ク ト を定義す る こ
と も で き ます)。
SQLCA.DBMS
= "trace SYC"
こ の DBMS 接続プ ロ パテ ィ を編集 し て、 ト レース の終了を指定す
る と 、 以下の よ う にな り ます。
SQLCA.DBMS
= "SYC"
外部テキス ト フ ァ イルか らの DBMS に設定する値の読み込み
PowerBuilder アプ リ ケーシ ョ ン の ス ク リ プ ト で DBMS プ ロ パテ ィ を編
集す る には、 PowerScript ProfileString 関数を使用 し て、 ア プ リ ケーシ ョ
ン固有の初期設定フ ァ イ ルな ど、 外部テ キ ス ト フ ァ イ ルの特定のセ ク
シ ョ ン か ら 、 DBMS 値を読み込む方法 も あ り ます。
こ こ では、初期設定フ ァ イ ルか ら 読み込ま れ る DBMS 値には、「DBMS
プ ロ パテ ィ 値の編集」 の例に示 し た よ う に、 trace と い う 単語が含まれ
ていない こ と を前提に し てい ます。
デー タ ベース と の接続
203
デー タ ベース ト レース ツールの使い方
デー タ ベース ト レース ロ グの使い方
PowerBuilder は、データ ベース ト レ ース ツ ールの出力を PBTRACE.LOG
と い う 名前の フ ァ イ ル (デフ ォ ル ト ) ま たは指定 し た ロ グ フ ァ イ ルに
書 き 込みます。 出力 さ れた ト レース ロ グ を使用 し て、 以下の操作がで
き ます。
•
任意のテ キ ス ト エデ ィ タ で、 デー タ ベース ト レース ロ グ フ ァ イ
ルを表示す る
•
デー タ ベース ト レース ロ グ フ ァ イ ルに、 コ メ ン ト を追加す る
•
デー タ ベース ト レース ロ グ フ ァ イ ルが大 き く な り すぎ た場合、
フ ァ イ ルそのも のを 削除し たり 、 フ ァ イ ルの内容を 消去し たり する
ログの表示
PowerBuilder セ ッ シ ョ ン中であれば、 ロ グ フ ァ イ ルの内容はいつで も
表示で き ます。
❖
ログ フ ァ イルの内容を表示する
•
以下の方法か ら 、 ロ グ フ ァ イ ルを開 き ます。
•
PowerBuilder のテ キ ス ト エデ ィ タ を使用す る (詳 し い手順につ
いては、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照)
•
PowerBuilder 以外の ツールで、任意のテ キ ス ト エデ ィ タ を使用
する
ログ フ ァ イルを開いたま まにする
PowerBuilder を使用 し てい る 間、 ロ グ フ ァ イ ルを開いた ま ま に し てお
く と 、デー タ ベース ト レース ツールは ロ グ フ ァ イ ルを更新 し ません。
デー タ ベース ト レース ログへの コ メ ン ト の追加
ト ラ ブルシ ュ ーテ ィ ン グ の た めの ツ ール と し てデー タ ベー ス ト レ ー
ス ロ グ を使用す る 場合、 フ ァ イ ルに コ メ ン ト を追加 し てお く と 便利で
す。 た と えば、 あ る 接続について、 日付、 時刻、 使用 し たデー タ ベー
ス サーバお よ び ク ラ イ ア ン ト ソ フ ト ウ ェ アのバージ ョ ン、ま たはその
ほかの有効な情報を ロ グに記録 し てお く こ と が考え ら れ ます。
❖
ログ フ ァ イルに コ メ ン ト を追加する
1
204
以下のいずれかの方法で、 DBTRACE.LOG フ ァ イ ルを開 き ます。
PowerBuilder
第 13 章
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング
•
PowerBuilder のテ キ ス ト エデ ィ タ を使用す る (詳 し い手順につ
いては、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照)
•
PowerBuilder 以外の ツールで、任意のテ キ ス ト エデ ィ タ を使用
する
2
ロ グ フ ァ イ ルに コ メ ン ト を追加 し ます。
3
変更 し た ロ グ フ ァ イ ルを保存 し ます。
ログの削除または消去
ト レース を設定 し てデー タ ベース に接続す る たびに、 既存の ロ グ フ ァ
イ ルに、 ト レー ス の出力が追加 さ れ ます。 し たが っ て、 デー タ ベー ス
に接続す る と き に ト レース を頻繁に設定 し てい る と 、 ト レース ロ グが
す ぐ に大 き く な っ て し ま い ます。
❖
ログ フ ァ イルを適切な大き さ に保つ
•
定期的に、 以下のいずれかの操作を実行 し ます。
•
ロ グ フ ァ イ ルを 開いて、 その内容を 消去し 、 フ ァ イ ルを 空にし
て保存す る
デフ ォ ル ト の DBTRACE.LOG フ ァ イ ルま たは同一のデフ ォ ル
ト 以外の フ ァ イ ルを使用 し てい る 場合、 次回、 ト レース を設定
し てデー タ ベース に接続す る と 、 PowerBuilder は、 空の フ ァ イ
ルに ト レース を出力 し ます。
•
ロ グ フ ァ イ ルを削除す る
次回、 ト レース を設定 し てデー タ ベース に接続す る と 、
PowerBuilder に よ り 新 し い ロ グ フ ァ イ ルが自動的に作成 さ れ
ます。
デー タ ベース ト レース ログのサン プル
こ の節では、 ロ グ フ ァ イ ルに出力 さ れ る デー タ ベー ス ト レ ー ス ロ グ
の例を示 し 、 ロ グ フ ァ イ ルの内容について簡単に説明 し ます。
こ の例では、 [累積時間を表示] を有効に し て接続を ト レー ス し ます。
こ の ロ グは、 PowerBuilder ア プ リ ケーシ ョ ン を 実行 し て、 公開デー タ
ベー ス の著者に関す る 情報を表示 し た と き の も のです。 SELECT 文は
Author テーブルか ら 情報を取得す る こ と を示 し てい ます。
デー タ ベース と の接続
205
デー タ ベース ト レース ツールの使い方
デー タ ベー ス ト レ ー ス が内部 コ マ ン ド を 記録す る と き に使用す る 精
度 (た と えばマ イ ク ロ 秒単位な ど) は、 使用 し てい る オペレーテ ィ ン
グ シ ス テ ム の タ イ ミ ン グ メ カ ニ ズ ム に よ っ て異な り ま す。 し たが っ
て、 実際のデー タ ベース ト レース ロ グの タ イ ミ ン グの精度は、 こ の例
と は異な る 場合があ り ます。
デー タ ベース と の接続
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
FETCH NEXT: (0.025 MS / 20.503 MS)
*** DBI_FETCHEND *** (rc 100)
デー タ ベース変更の更
新と コ ミ ッ ト
PREPARE:
UPDATE authors SET state = 'NM'
206
PowerBuilder
第 13 章
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング
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)
SQL 文 ト レース ユーテ ィ リ テ ィ の使い方
SQL 文の ト レース
独立 し たデー タ ベース ト レース ユーテ ィ リ テ ィ に よ り 、SQL 文の構文
に し たがっ て、デー タ ベース に発行 さ れ る 各 SQL 文の ロ グ フ ァ イ ルに
日付 と 時刻の項目を追加で き ま す。 デフ ォ ル ト では、 こ のユーテ ィ リ
テ ィ は、 現行の Windows デ ィ レ ク ト リ の PBTRSSQL.log フ ァ イ ルにす
べての ロ グ項目を保存 し ます。メ イ ン デー タ ベース ト レース ユーテ ィ
リ テ ィ の ト レー ス 出力フ ァ イ ル名を変更す る の と 同 じ よ う に、 レ ジ ス
ト リ 内で、 あ る いは以下の よ う に PB.INI フ ァ イ ルの DbTrace セ ク シ ョ
ン で、ロ グ フ ァ イ ルの位置 と ロ グ フ ァ イ ル名を変更で き ます(194 ペー
ジの 「DBTrace の INI フ ァ イ ル設定」 を参照 し て く だ さ い)。
[DbTrace]
SqlTraceFile=c:\myApplication\tracesql.log
ロ グ フ ァ イ ル名の レ ジ ス ト リ 文字列は、 SqlTraceFile です。 こ れは、
HKEY_CURRENT_USER\Software\Sybase\PowerBuilder\11.0\DBTrace
キーの下にあ り ます。 PB.INI フ ァ イ ルの DbTrace セ ク シ ョ ン に 1 つで
も エ ン ト リ があ る 場合は、 レ ジ ス ト リ の値は無視 さ れ ます。 デフ ォ ル
ト の フ ァ イ ル名は、 レ ジ ス ト リ 値 と PB.INI 値が と も に設定 さ れていな
い場合にだけ使用 さ れます。
TRS 修 飾 子 を 付 け て 使 用 し た い DBMS の ド ラ イ バ を 実 行 し て、
PowerScript コ ー ド 内の SQL 文 ト レース ユーテ ィ リ テ ィ を起動 し ます。
接続オブジ ェ ク ト の DBMS プ ロ パテ ィ に ド ラ イ バを設定 し ます。 た と
えば、 デフ ォ ル ト の SQLCA 接続オブジ ェ ク ト に関 し て、 SQL ト レー
ス で ODBC を使用 し たい場合は、 以下の よ う な コ ー ド にな り ます。
SQLCA.DBMS="TRS ODBC"
デー タ ベース と の接続
207
SQL 文 ト レース ユーテ ィ リ テ ィ の使い方
メ イ ン データ ベース ユーティ リ ティ を 開始し 終了する のと 同じ よ う に、
PowerScript で SQL 文 ト レース ユーテ ィ リ テ ィ を開始 し 終了で き ます。
DBParm パ ラ メ ー タ に 「PBTrace=1」 を 設定 し て ト レ ー ス ロ グ を 開始
し 、 パ ラ メ ー タ に 「PBTrace=0」 を設定 し て ト レ ー ス ロ グ を停止す る
こ と がで き ます。
詳細については、201 ページの 「PBTrace パ ラ メ ー タ を持つ PowerScript
で ト レース を起動」 を参照 し て く だ さ い。
サーバ側の タ イムス タ
ンプ
接続 し てい る PowerBuilder デー タ ベース ド ラ イ バが
DBI_GET_SERVER_TIME コ マ ン ド タ イ プ をサポー ト す る 場合は、
サーバ側の タ イ ム ス タ ン プ を ク ラ イ ア ン ト 側の タ イ ム ス タ ンプのか
わ り に使用で き ます。 現在、 サーバ側の タ イ ム ス タ ン プは、 ASE、
SYC、 SYJ、 お よ び ODBC ド ラ イ バで使用で き ます。
PBTRS110.DLL は、 デー タ ベース接続処理中に 1 度だけサーバか ら 日
付 と 時刻を入手 し ます。 新 し い タ イ ム ス タ ン プ を生成す る 必要があ る
度に、 接続を確立 し てか ら 経過 し た ミ リ 秒数を割 り 出 し 、 サーバか ら
入手 し た最初の接続の タ イ ム ス タ ン プ に経過時間 を 足 し て、 新 し い
サーバ側の日付 と 時刻を計算 し ます。
ロ グ フ ァ イ ルのヘッ ダ
ロ グ フ ァ イ ルへの出力は、常に追加 さ れ ます。読みやす く す る ために、
PBTRS110.DLL は新 し いデー タ ベース接続を確立す る 度に ロ グ フ ァ イ
ル内にバナーを作 り ます。 バナーは、 ク ラ イ ア ン ト ワ ー ク ス テーシ ョ
ンのシ ス テ ム ク ロ ッ ク を使用 し て、 デー タ ベース接続の日付 と 時刻を
一覧に し ます。 デー タ ベース接続の DBParm は、 バナーのす ぐ 下に一
覧 さ れ ます。 サーバの タ イ ム ス タ ン プが ロ グ フ ァ イ ルの後に続 く 項目
で使用 さ れ る 場合は、 「Using timestamp from DBMS server」 が DBParm
の リ ス ト のす ぐ下に入力 さ れます。
デー タ ベー ス ト レ ー ス ユーテ ィ リ テ ィ と 一緒に ア プ リ ケーシ ョ ン を
実行 し てい る 場合は、 DBParm 値の 1 つは DisableBind パ ラ メ ー タ を含
む必要があ り ます。 DisableBind を 1 に設定す る 必要があ り ます。 そ う
でな ければ、 ト レー ス出力フ ァ イ ルに記録 さ れ る 構文は、 人間が読み
取れ る 値ではな く 、 パ ラ メ ー タ マーカ を含みます。
以下の出力は、 バナー自体に ク ラ イ ア ン ト 側の タ イ ム ス タ ン プ を使用
し 、 ほ か の場所ではサーバ側の タ イ ム ス タ ン プ を 使用す る ト レ ー ス
フ ァ イ ルか ら のバナーを示 し てい ます。
/*--------------------------------------------------*/
/*
2007/1/10 16:08
*/
/*--------------------------------------------------*/
(60ec068): CONNECT TO TRS ODBC:
DBPARM=ConnectString='DSN=EAS Demo DB
208
PowerBuilder
第 13 章
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング
V110;UID=dba;PWD=sql' SERVER=EASDemoDB110
(60ec068): Using timestamp from DBMS server. (2007/1/10
16:08:28.079)
(60ec068): PREPARE: (2007/1/10 16:08:44.513)
SELECT
DISTINCT "pbcattbl"."pbt_tnam" , "pbcattbl"."pbt_cmnt"
FROM "pbcattbl" ORDER BY "pbcattbl"."pbt_tnam"
ASC
ODBC ド ラ イバ マネージ ャ ト レース ツールの使い方
こ の節では、ODBC ド ラ イ バ マネージ ャ ト レース の使い方について説
明 し ます。
ODBC ド ラ イバ マネージ ャ ト レース
ODBC ド ラ イ バ マネージ ャ ト レース を使用す る と 、PowerBuilder か ら 、
ODBC イ ン タ フ ェ ー ス を 経由 し て ア ク セ ス し て い る ODBC デー タ
ソ ースへの接続を ト レース で き ます。
デー タ ベース ト レース ツール と は異な り 、ODBC ド ラ イ バ マネージ ャ
ト レー ス ツールでは、 ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を経
由す る 接続を ト レース で き ません。
ツールの機能
ODBC ド ラ イ バ マネージャ ト レ ース は、ODBC データ ソ ース に接続し
ている 状態で、PowerBuilder の ODBC API 呼び出 し 、 SQLDriverConnect、
SQLGetInfo、 SQLFetch な ど についての情報を記録 し ます。 こ の情報は、
SQL.LOG と い う 名前のデフ ォ ル ト ロ グ フ ァ イ ル、 ま たは指定の ロ グ
フ ァ イ ルに書 き 込まれます。
ツールから の出力の利
用
デー タ ベース ト レー ス ツール と 同様に、 ODBC ド ラ イ バ マネージ ャ
ト レー ス か ら 得 ら れ る 情報を使用す る と 、 以下の こ と が可能にな り ま
す。
デー タ ベース と の接続
•
ODBC デー タ ソ ース に接続中の PowerBuilder の内部的な処理の把
握
•
ODBC と の接続で発生 し た問題の確認 と 解決
•
デー タ ベース と の接続で発生 し た問題について テ ク ニ カル サポー
ト セ ン タ に連絡す る 際の情報の提供
209
ODBC ド ラ イバ マネージ ャ ト レース ツールの使い方
PowerBuilder の ODBC API 呼び出 し に関 し て詳細な情報が必要な場合
は、 デー タ ベー ス ト レ ー ス ツ ールでは な く ODBC ド ラ イ バ マ ネー
ジ ャ ト レース を使用 し ます。
ツールの使い分け
パ フ ォ ーマ ン スに関する注意
ODBC ド ラ イ バ マネージ ャ ト レース を使用す る と 、 PowerBuilder で操
作 し てい る と き に、 パフ ォ ーマ ン ス が低下す る 場合があ り ま す。 こ の
ため、 ODBC ド ラ イ バ マネージ ャ ト レース は、 デバ ッ グだけ を目的に
使用 し 、 それ以外の場合は使用 し ないで く だ さ い。
PowerBuilder は、ODBC ド ラ イ バ マネージ ャ を SQL.LOG と い う デフ ォ
ル ト ロ グ フ ァ イ ル ま た は指定 し た ロ グ フ ァ イ ルに書 き 込み ま す。
SQL.LOG のデフ ォ ル ト の位置はルー ト デ ィ レ ク ト リ です。
SQL.LOG フ ァ イル
ODBC ド ラ イバ マネージ ャ ト レースの起動
PowerBuilder におい て、 ODBC ド ラ イ バ マ ネージ ャ ト レ ー ス は、 デ
フ ォ ル ト で オ フ に な っ て い ま す。 ODBC 接続 を ト レ ー ス す る た めに
ODBC ド ラ イ バ マネージ ャ ト レース を起動す る には、 2 つの方法があ
り ます。
•
PowerBuilder 開発環境でデー タ ベース プ ロ フ ァ イ ルを編集す る
•
PowerBuilder アプ リ ケーシ ョ ンの ス ク リ プ ト を編集す る
開発環境における ODBC ド ラ イバ マネージ ャ ト レースの起動
PowerBuilder の開発環境の中で ODBC ド ラ イ バ マネージ ャ ト レ ー ス
を起動す る には、以下の手順に従っ て、 ト レースす る 接続のデー タ ベー
ス プ ロ フ ァ イ ルを編集 し ます。
❖
210
デー タ ベース プ ロ フ ァ イルを編集 し て ODBC ド ラ イバ マネージ ャ ト レース
を起動する
1
ト レ ース する ODBC 接続に対応する DB プロ フ ァ イ ル設定 - ODBC
ダ イ ア ロ グボ ッ ク ス を開 き ます。
2
[オプシ ョ ン] タ ブで、 [ODBC API 呼出の ト レース] チ ェ ッ ク ボ ッ
ク ス をチ ェ ッ ク し ます。
3
(オプシ ョ ン) ODBC ド ラ イ バ マネージ ャ ト レース の ロ グの出力
先 と な る ロ グ フ ァ イ ルを指定す る には、[ ト レース フ ァ イ ル] ボ ッ
ク ス にパ ス名を入力 し ます。
PowerBuilder
第 13 章
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング
ま たは
(オプシ ョ ン) 参照 ([...]) ボ タ ン を ク リ ッ ク し て、 [ ト レース フ ァ
イ ル] ボ ッ ク ス に既存の ロ グ フ ァ イ ルのパ ス名を表示 し ます。
デフ ォ ル ト では、 [ODBC API 呼出の ト レース] チ ェ ッ ク ボ ッ ク ス
がチ ェ ッ ク さ れていて、 ト レース フ ァ イ ルが指定 さ れていない場
合、 ODBC ド ラ イ バ マ ネージ ャ ト レ ー ス の出力はデ フ ォ ル ト の
SQL.LOG フ ァ イ ルに書 き 込まれます。
4
[OK] ボ タ ン ま たは [更新] ボ タ ン を ク リ ッ ク し ます。
ま たは
DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス 内で、 接続す る デー タ ベー
ス を右 ク リ ッ ク し 、 ド ロ ッ プダ ウ ン メ ニ ュ ーか ら [再接続] を選
択 し ます。
DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 編集 し たプ ロ
フ ァ イ ル名がハ イ ラ イ ト 表示 さ れ ます。
設定は、 PowerBuilder に よ っ て レ ジ ス ト リ 内のデー タ ベース プ ロ
フ ァ イ ルのエ ン ト リ (HKEY_CURRENT_USER\Software\Sybase\
PowerBuilder\11.0\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 プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス 内で、 接続す る デー タ ベー
ス を右 ク リ ッ ク し 、 ド ロ ッ プダ ウ ン メ ニ ュ ーか ら [再接続] を選
択 し ます。
デー タ ベース と の接続が さ れ る と と も に、 その ODBC デー タ ベー
ス接続に対す る ト レース が起動 さ れ、 指定 し た ロ グ フ ァ イ ルに出
力が書 き 込まれ ます。
デー タ ベース と の接続
211
ODBC ド ラ イバ マネージ ャ ト レース ツールの使い方
PowerBuilder アプ リ ケーショ ン における ODBC ド ラ イ バ マネージャ ト レ ースの起動
PowerBuilder ア プ リ ケーシ ョ ン におい て ODBC ド ラ イ バ マ ネージ ャ
ト レース を起動す る には、 ConnectOption DBParm パ ラ メ ー タ の値を適
切な ス ク リ プ ト に指定 し ます。 た と えば、 アプ リ ケーシ ョ ン を開 く ス
ク リ プ ト に接続パ ラ メ ー タ を含め る のが一般的です。
PowerBuilder ス ク リ プ ト に必要な ConnectOption 値を指定す る には、以
下の方法があ り ます。
•
(推奨) PowerScript ConnectOption DBParm 構文を、 DB プ ロ フ ァ イ
ル設定 ダ イ ア ロ グ ボ ッ ク ス の [プ レ ビ ュ ー] タ ブか ら ス ク リ プ ト
に コ ピーす る
•
ト ラ ンザ ク シ ョ ン オブジ ェ ク ト の DBParm プ ロ パテ ィ に値を設定
す る PowerScript コ ー ド を記述す る
•
外部テ キ ス ト フ ァ イ ルか ら DBParm プ ロ パテ ィ に設定す る 値を読
み込む
PowerBuilder アプ リ ケーシ ョ ン でデー タ ベー ス と 通信す る ための ト ラ
ン ザ ク シ ョ ン オブジ ェ ク ト の使い方については、 『アプ リ ケーシ ョ ン
テ ク ニ ッ ク 』 マニ ュ アルを参照 し て く だ さ い。
ConnectOption
DBParm パラ メ ー タ
212
ConnectOption は何種類 も のパ ラ メ ー タ を備え てい ますが、 その中の 2
種類が PowerBuilder で使用 し て い る ODBC 準拠の ド ラ イ バに対す る
ODBC ド ラ イ バ マネージ ャ ト レース を制御 し ます。
PowerBuilder
第 13 章
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング
表 13-2: ODBC ド ラ イ バ マネージャ ト レ ースの ConnectOption パラ メ ー タ
パラ メ ー タ
SQL_OPT_TRACE
説明
PowerBuilder で ODBC ド ラ イ バ マ ネー
ジ ャ ト レース を起動ま たは停止す る
値 以下のいずれかの値を指定する
目的
•
SQL_OPT_TRACE_OFF
(デフ ォ ル ト ) ODBC ド ラ イ バ マネージ ャ
ト レース を停止す る
•
SQL_OPT_TRACEFILE
SQL_OPT_TRACE_ON
ODBC ド ラ イ バ マネージ ャ ト レース を起
動す る
目的 ODBC ド ラ イ バ マネージ ャ ト レース の
出力を書 き 込む、 ト レー ス フ ァ イ ルの名前を
指定す る 。 ト レース を停止する ま で、指定す る
ト レ ー ス フ ァ イ ルに出力が追加 さ れて い く 。
ト レー ス フ ァ イ ルを表示す る には、 テ キ ス ト
エデ ィ タ (PowerBuilder の ツール) や任意のテ
キ ス ト エデ ィ タ (PowerBuilder 以外の ツール)
を使用す る
値 ト レ ー ス フ ァ イ ルに任意の フ ァ イ ル名を
指定で き る 。 ただ し 、 オペレーテ ィ ン グ シ ス
テ ムの命名規則に従 う 必要があ る 。ト レース が
起動 さ れていて、 ト レー ス フ ァ イ ルが指定 さ
れていない場合、 ODBC ド ラ イ バ マネージ ャ
ト レ ー ス の 出力 は デ フ ォ ル ト で SQL.LOG
フ ァ イ ルに書 き 込まれ る
各プ ラ ッ ト フ ォ ー ム で の SQL.LOG の保存場
所の詳細については、 209 ページの 「ODBC ド
ラ イ バ マネージ ャ ト レース」 を参照
[プ レ ビ ュ ー] タ ブか
ら の ConnectOption
構文の コ ピー
PowerBuilder アプ リ ケーシ ョ ンの ス ク リ プ ト で ODBC ド ラ イ バ マネー
ジ ャ ト レー ス を起動す る も っ と も 簡単な方法 と し て、 DB プ ロ フ ァ イ
ル 設 定 - ODBC ダ イ ア ロ グ ボ ッ ク ス の [プ レ ビ ュ ー] タ ブ か ら
PowerScript ConnectString DBParm 構文を ス ク リ プ ト に コ ピー し 、 必要
であれば、 ト ラ ンザ ク シ ョ ン オブジ ェ ク ト のデフ ォ ル ト 名 (SQLCA)
を修正す る 方法があ り ます。
開発環境で DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス を設定す る と 、
PowerBuilder は正 し い接続構文を [プ レ ビ ュ ー] タ ブ上に生成 し ます。
し た が っ て、 そ の構文 を [プ レ ビ ュ ー] タ ブか ら 直接 コ ピ ーすれば、
ス ク リ プ ト は正 し い も のであ る こ と が保証 さ れ ます。
デー タ ベース と の接続
213
ODBC ド ラ イバ マネージ ャ ト レース ツールの使い方
❖
ConnectOption 構文を [プ レ ビ ュ ー] タ ブから ス ク リ プ ト に コ ピーする
1
使用 し てい る 接続に対す る DB プ ロ フ ァ イ ル設定 - ODBC ダ イ ア
ロ グボ ッ ク ス の [オプシ ョ ン] タ ブで、 [ODBC API 呼出の ト レー
ス] チ ェ ッ ク ボ ッ ク ス をチ ェ ッ ク し 、 必要であれば [ ト レース フ ァ
イ ル] ボ ッ ク ス で ロ グ フ ァ イ ル を 指定 し て、 ODBC ド ラ イ バ マ
ネージ ャ ト レース を起動 し ます。
2
[更新] ボ タ ン を ク リ ッ ク し て、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ
ボ ッ ク ス を閉 じ ずに、 [オプシ ョ ン] タ ブへの変更を保存 し ます。
3
[プ レ ビ ュ ー] タ ブ を ク リ ッ ク し ます。
ODBC ド ラ イ バ マ ネージ ャ ト レ ー ス お よ び選択 し た ほかのオプ
シ ョ ン に対す る 正 し い PowerScript 接続構文が [DB 接続構文] ボ ッ
ク ス に表示 さ れます。
次の例では、 ODBC ド ラ イ バ マネージ ャ ト レース を起動 し 、 出力
を C:\TEMP\ODBCTRCE.LOG フ ァ イ ルに書 き 込む PowerScript 構
文が示 さ れてい ます。
// Profile Employee
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "Connectstring='DSN=Employee',
ConnectOption='SQL_OPT_TRACE,SQL_OPT_TRACE_ON;
SQL_OPT_TRACEFILE,c:\temp\odbctrce.log’"
4
SQLCA.DBParm 行 と 、 ス ク リ プ ト に コ ピー し たい構文があればそ
れを選択 し て、 [ コ ピー] ボ タ ン を ク リ ッ ク し ます。
選択 し た テ キ ス ト を PowerBuilder が ク リ ッ プボー ド に コ ピー し ま
す。
5
PowerBuilder ア プ リ ケ ーシ ョ ン の ス ク リ プ ト で、 ODBC ド ラ イ バ マ
ネージ ャ ト レース を起動す る には、 ト レース を制御す る ConnectOption
パ ラ メ ー タ を、 ト ラ ンザ ク シ ョ ン オブジ ェ ク ト の DBParm プ ロ パテ ィ
の値 と し て指定す る 方法 も あ り ます。
DBParm プ ロパテ ィ
に対 し て値を設定する
PowerScript コ ー ド を
記述
❖
DBParm プ ロパテ ィ を指定 し て ODBC ド ラ イバ マネージ ャ ト レース を起動
•
214
[プ レ ビ ュ ー] タ ブか ら 選択 し た テ キ ス ト を ス ク リ プ ト に貼 り 付
け、 必要であれば ト ラ ンザ ク シ ョ ン オブジ ェ ク ト のデフ ォ ル ト 名
(SQLCA) を変更 し ます。
ト レース を起動 し て、 デフ ォ ル ト 以外の ト レース フ ァ イ ルを指定
す る には、アプ リ ケーシ ョ ン ス ク リ プ ト の中で、SQL_OPT_TRACE
と (オプシ ョ ン で) SQL_OPT_TRACEFILE ConnectOption パ ラ メ ー
タ を それぞれ指定 し ます。
PowerBuilder
第 13 章
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング
た と えば、 以下の ス テー ト メ ン ト はアプ リ ケーシ ョ ン で ODBC ド
ラ イ バ マネージ ャ ト レ ー ス を起動 し 、 MYTRACE.LOG と い う 名
前の フ ァ イ ルに出力を送 り ます。 ConnectString 値 と ConnectOption
値を区切 る ために、 カ ン マ を挿入 し ます。
こ の例は、 デフ ォ ル ト ト ラ ンザ ク シ ョ ン オブジ ェ ク ト SQLCA を
使用 し ますが、 独自の ト ラ ンザ ク シ ョ ン オブジ ェ ク ト を定義す る
こ と も で き ます。
SQLCA.DBParm="ConnectString=’DSN=Test;UID=PB;
PWD=xyz’,ConnectOption=’SQL_OPT_TRACE,
SQL_OPT_TRACE_ON;SQL_OPT_TRACEFILE,C:\TRC.LOG’"
PowerBuilder アプ リ ケーシ ョ ン の ス ク リ プ ト で DBParm プ ロ パテ ィ を
設定す る には、PowerScript ProfileString 関数を使用 し て、アプ リ ケーシ ョ
ン固有の初期設定フ ァ イ ルな ど、 外部テ キ ス ト フ ァ イ ルの特定のセ ク
シ ョ ン か ら 、 DBParm 値を読み込む方法 も あ り ます。
外部テキス ト フ ァ イ
ルから の DBParm 値
の読み込み
こ の場合、 初期設定フ ァ イ ルか ら 読み込ま れ る DBParm 値には、 前述
の例に示す よ う に、 ODBC ド ラ イ バ マネージ ャ ト レ ー ス を起動す る
ConnectOption パ ラ メ ー タ が定義 さ れてい る も の と し ます。
❖
外部テキス ト フ ァ イルから DBParm 値を読み込んで ODBC ド ラ イバ マネー
ジ ャ ト レース を起動する
•
以下の PowerScript 構文を 使用し て、DBParm プロ パティ に ProfileString
関数を指定 し ます。
SQLCA.dbParm = ProfileString(file, section,
variable, default_value)
た と えば、 以下の PowerBuilder ス ク リ プ ト では APP.INI フ ァ イ ル
の [Database] セ ク シ ョ ン か ら DBParm 値を読み込みます。
SQLCA.dbParm =
ProfileString("APP.INI","Database","DBParm","")
ODBC ド ラ イバ マネージ ャ ト レースの停止
ODBC ド ラ イ バ マネージ ャ ト レース で ODBC 接続の ト レース を い っ
たん起動す る と 、 ト レ ー ス を停止す る ま で、 PowerBuilder に よ る ロ グ
フ ァ イ ルへの ト レース 出力の書 き 込みが続 き ます。 以降の節に記述 さ
れてい る よ う に、 ト レース を停止 し た後に、 変更を反映 さ せ る ために
再接続す る 必要があ り ます。
デー タ ベース と の接続
215
ODBC ド ラ イバ マネージ ャ ト レース ツールの使い方
開発環境における ODBC ド ラ イバ マネージ ャ ト レースの停止
❖
デー タ ベース プ ロ フ ァ イルを編集 し て ODBC ド ラ イバ マネージ ャ ト レース
を停止する
1
ト レース し てい る デー タ ベース接続に対す る DB プ ロ フ ァ イ ル設
定 ダ イ ア ロ グ ボ ッ ク ス を開 き ます。
詳 し い手順については、 210 ページの 「開発環境におけ る ODBC
ド ラ イ バ マネージ ャ ト レース の起動」 を参照 し て く だ さ い。
2
[オプシ ョ ン] タ ブで、 [ODBC API 呼出の ト レース] チ ェ ッ ク ボ ッ
ク ス のチ ェ ッ ク をはず し ます。
[ ト レー ス フ ァ イ ル] ボ ッ ク ス に ロ グ フ ァ イ ルのパ ス 名を指定 し
た場合、 後で ト レース を再開す る 場合に備え て、 ト レース フ ァ イ
ルの名前を残 し ておけ ます。
3
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス の[OK]ボ タ ン を ク リ ッ
ク し ます。
DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 編集 し たプ ロ
フ ァ イ ル名がハ イ ラ イ ト 表示 さ れます。
4
DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス の [接続] ボ タ ン を ク リ ッ
ク す る か、 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス 内で、 接続す る
デー タ ベース を右 ク リ ッ ク し 、 ド ロ ッ プダ ウ ン メ ニ ュ ーか ら [再
接続] を選択 し ます。
PowerBuilder はデー タ ベース に接続 し 、接続の ト レース を停止 し ま
す。
PowerBuilder アプ リ ケーショ ン における ODBC ド ラ イ バ マネージャ ト レ ースの停止
PowerBuilder アプ リ ケーシ ョ ン ス ク リ プ ト の中で、 ODBC ド ラ イ バ マ
ネージ ャ ト レ ー ス を 停止す る には、 SQL_OPT_TRACE ConnectOption
パ ラ メ ー タ を SQL_OPT_TRACE_OFF に変更 し ま す。 以下の方法で指
定 し ます。
DBParm プ ロパテ ィ
値の編集
216
•
ト ラ ンザ ク シ ョ ン オブジ ェ ク ト の DBParm プ ロ パテ ィ の値を編集
する
•
外部テ キ ス ト フ ァ イ ルか ら DBParm プ ロ パテ ィ に設定す る 値を読
み込む
PowerBuilder ス ク リ プ ト の中で、 ConnectOption 値を変更す る には、 ト
ラ ンザ ク シ ョ ン オブジ ェ ク ト の DBParm プ ロ パテ ィ を編集す る 方法が
あ り ます。
PowerBuilder
第 13 章
❖
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング
DBParm プ ロパテ ィ を編集 し て ODBC ド ラ イバ マネージ ャ ト レース を停止
•
アプ リ ケーシ ョ ン ス ク リ プ ト の中で、 ト ラ ンザ ク シ ョ ン オブ
ジ ェ ク ト の DBParm プ ロ パテ ィ を編集 し 、 SQL_OPT_TRACE
ConnectOption パ ラ メ ー タ の値を SQL_OPT_TRACE_OFF に変更 し
ます。
た と え ば、 以下の ス テ ー ト メ ン ト は、 ア プ リ ケ ー シ ョ ン の中で
ODBC ド ラ イ バ マネージ ャ ト レー ス を起動 し 、 出力を TRC.LOG
と い う 名前の フ ァ イ ルに書 き 込む こ と を指定 し ます。 ( こ の構文で
は、 デフ ォ ル ト ト ラ ンザ ク シ ョ ン オブジ ェ ク ト SQLCA を使用 し
ますが、 独自の ト ラ ンザ ク シ ョ ン オブジ ェ ク ト を定義す る こ と も
で き ます)。
SQLCA.DBParm="ConnectString=’DSN=Test;UID=PB;
PWD=xyz’,ConnectOption=’SQL_OPT_TRACE,
SQL_OPT_TRACE_ON;SQL_OPT_TRACEFILE,C:\TRC.LOG’"
こ の ス テ ー ト メ ン ト を 編集 し て ODBC ド ラ イ バ マ ネ ー ジ ャ ト
レース の終了を指定す る と 、 以下の よ う にな り ます。 (後で ト レー
ス を再開す る 場合に備え て、 ト レース フ ァ イ ルの名前を残 し てお
け ます。)
SQLCA.DBParm="ConnectString=’DSN=Test;UID=PB;
PWD=xyz’,ConnectOption=’SQL_OPT_TRACE,
SQL_OPT_TRACE_OFF;SQL_OPT_TRACEFILE,C:\TRC.LOG’"
DBParm 値の読み込
み
PowerBuilder アプ リ ケーシ ョ ン の ス ク リ プ ト で DBParm プ ロ パテ ィ を
編集す る には、 PowerScript ProfileString 関数 を 使用 し て、 ア プ リ ケー
シ ョ ン固有の初期設定フ ァ イ ルな ど、 外部テ キ ス ト フ ァ イ ルの特定の
セ ク シ ョ ン か ら 、 DBParm 値を読み込む方法 も あ り ます。
こ の場合、 前述の例に示す よ う に、 初期設定フ ァ イ ルか ら 読み込 ま れ
る DBParm 値は、 SQL_OPT_TRACE の値を SQL_OPT_TRACE_OFF に
設定 し ます。
ODBC ド ラ イバ マネージ ャ ト レース ログの表示
PowerBuilder セ ッ シ ョ ン 中で あ れば、 ODBC ド ラ イ バ マ ネージ ャ ト
レース ロ グ フ ァ イ ルの内容はいつで も 表示で き ます。
SQL.LOG の保存場所
デフ ォ ル ト の SQL.LOG フ ァ イ ルの保存場所については、209 ページの
「ODBC ド ラ イ バ マネージ ャ ト レース」 を参照 し て く だ さ い。
デー タ ベース と の接続
217
ODBC ド ラ イバ マネージ ャ ト レース ツールの使い方
❖
ログ フ ァ イルの内容を表示する
•
以下のいずれかの方法で、 SQL.LOG フ ァ イ ル、 ま たは指定 し た ロ
グ フ ァ イ ルを開 き ます。
•
PowerBuilder のテ キ ス ト エデ ィ タ を使用す る (詳 し い手順につ
いては、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照)
•
PowerBuilder の外部の環境で、任意のテ キ ス ト エデ ィ タ を使用
する
ログ フ ァ イルを開いたま まにする
PowerBuilder を使用 し てい る 間、 ロ グ フ ァ イ ルを開いた ま ま に し てお
く と 、 ODBC ド ラ イ バ マネージ ャ ト レース ツールはその フ ァ イ ルを
更新 し ません。
ODBC ド ラ イバ マネージ ャ ト レース ログのサン プル
こ の節では、ODBC ド ラ イ バ マネージ ャ ト レース か ら 出力 さ れ る ロ グ
の例を示 し 、 その内容について説明 し ます。 こ の例は EAS Demo DB へ
の ODBC 接続の ト レース の一部です。
各 ODBC API 呼び出 し の詳細については、 ODBC のマニ ュ アルを参照
し て く だ さ い。
PB110 179:192
EXIT SQLSetConnectOption
code 0 (SQL_SUCCESS)
HDBC 0x036e1300
UWORD
104 <SQL_OPT_TRACE>
UDWORD 1
with return
PB110 179:192
ENTER SQLSetConnectOption
HDBC 0x036e1300
UWORD 110 <SQL_OPT_TRACEFILE>
UDWORD 160694373
PB110 179:192
EXIT SQLSetConnectOption with return
code 0 (SQL_SUCCESS)
HDBC 0x036e1300
UWORD 110 <SQL_OPT_TRACEFILE>
UDWORD 160694373
PB110 179:192
ENTER SQLDriverConnectW
HDBC 0x036e1300
HWND 0x004607fa
WCHAR * 0x1f4be068 [
-3] "******\ 0"
218
PowerBuilder
第 13 章
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング
SWORD -3
WCHAR * 0x1f4be068
SWORD 8
SWORD * 0x00000000
UWORD 1 <SQL_DRIVER_COMPLETE>
PB110 179:192
EXIT SQLDriverConnectW with return
code 0 (SQL_SUCCESS)
HDBC 0x036e1300
HWND 0x004607fa
WCHAR * 0x1f4be068 [
-3] "******\ 0"
SWORD -3
WCHAR * 0x1f4be068
SWORD 8
SWORD * 0x00000000
UWORD 1 <SQL_DRIVER_COMPLETE>
PB110 179:192
ENTER SQLGetInfoW
HDBC 0x036e1300
UWORD 6 <SQL_DRIVER_NAME>
PTR 0x036e2098
SWORD 6
SWORD * 0x0012cd30
PB110 179:192
EXIT SQLGetInfoW with return code 1
(SQL_SUCCESS_WITH_INFO)
HDBC 0x036e1300
UWORD 6 <SQL_DRIVER_NAME>
PTR 0x036e2098 [
6] "DB\ 0"
SWORD 6
SWORD * 0x0012cd30 (22)
DIAG [01104] [Sybase][ODBC Driver]Data truncated (0)
PB110 179:192
ENTER SQLGetInfoW
HDBC 0x036e1300
UWORD 10 <SQL_ODBC_VER>
PTR 0x036e39f8
SWORD 100
SWORD * 0x0012cd38
PB110 179:192
EXIT SQLGetInfoW with return code 0
(SQL_SUCCESS)
HDBC 0x036e1300
UWORD 10 <SQL_ODBC_VER>
PTR 0x036e39f8 [
20] "03.51.0000"
SWORD 100
SWORD * 0x0012cd38 (20)
PB110 179:192
ENTER SQLGetInfoW
HDBC 0x036e1300
UWORD 2 <SQL_DATA_SOURCE_NAME>
PTR 0x036e3c88
デー タ ベース と の接続
219
ODBC ド ラ イバ マネージ ャ ト レース ツールの使い方
SWORD 512
SWORD * 0x0012cc32
PB110 179:192
EXIT SQLGetInfoW with return
(SQL_SUCCESS)
HDBC 0x036e1300
UWORD 2 <SQL_DATA_SOURCE_NAME>
PTR 0x036e3c88 [
28] "EAS Demo DB"
SWORD 512
SWORD * 0x0012cc32 (28)
PB110 179:192
ENTER SQLGetInfoW
HDBC 0x036e1300
UWORD 16 <SQL_DATABASE_NAME>
PTR 0x036e3c88
SWORD 512
SWORD * 0x0012cc32
PB110 179:192
EXIT SQLGetInfoW with return
(SQL_SUCCESS)
HDBC 0x036e1300
UWORD 16 <SQL_DATABASE_NAME>
PTR 0x036e3c88 [
16] "easdemodb"
SWORD 512
SWORD * 0x0012cc32 (16)
PB110 179:192
ENTER SQLGetInfoW
HDBC 0x036e1300
UWORD 25 <SQL_DATA_SOURCE_READ_ONLY>
PTR 0x036e3c88
SWORD 512
SWORD * 0x0012cc32
PB110 179:192
EXIT SQLGetInfoW with return
(SQL_SUCCESS)
HDBC 0x036e1300
UWORD 25 <SQL_DATA_SOURCE_READ_ONLY>
PTR 0x036e3c88 [
2] "N"
SWORD 512
SWORD * 0x0012cc32 (2)
PB110 179:192
ENTER SQLGetInfoW
HDBC 0x036e1300
UWORD 13 <SQL_SERVER_NAME>
PTR 0x036e3c88
SWORD 512
SWORD * 0x0012cc32
PB110 179:192
EXIT SQLGetInfoW with return
(SQL_SUCCESS)
HDBC 0x036e1300
UWORD 13 <SQL_SERVER_NAME>
PTR 0x036e3c88 [
16] "easdemodb"
220
code 0
code 0
code 0
code 0
PowerBuilder
第 13 章
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング
SWORD 512
SWORD * 0x0012cc32 (16)
PB110 179:192
ENTER SQLGetInfoW
HDBC 0x036e1300
UWORD 17 <SQL_DBMS_NAME>
PTR 0x036e3c88
SWORD 512
SWORD * 0x0012cab6
PB110 179:192
EXIT SQLGetInfoW with return code 0
(SQL_SUCCESS)
HDBC 0x036e1300
UWORD 17 <SQL_DBMS_NAME>
PTR 0x036e3c88 [ 48] "SQL Anywhere"
SWORD 512
SWORD * 0x0012cab6 (48)
PB110 179:192
ENTER SQLGetInfoW
HDBC 0x036e1300
UWORD 6 <SQL_DRIVER_NAME>
PTR 0x036e1a10
SWORD 550
SWORD * 0x0012cbbc
PB110 179:192
EXIT SQLGetInfoW with return code 0
(SQL_SUCCESS)
HDBC 0x036e1300
UWORD 6 <SQL_DRIVER_NAME>
PTR 0x036e1a10 [
22] "DBODBC9.DLL"
SWORD 550
SWORD * 0x0012cbbc (22)
PB110 179:192
ENTER SQLAllocStmt
HDBC 0x036e1300
HSTMT * 0x0012d0b4
PB110 179:192
EXIT SQLAllocStmt with return code 0
(SQL_SUCCESS)
HDBC 0x036e1300
HSTMT * 0x0012d0b4 ( 0x036e1c48)
PB110 179:192
ENTER SQLGetTypeInfo
HSTMT 0x036e1c48
SWORD 0 <SQL_ALL_TYPES>
JDBC ド ラ イバ マネージ ャ ト レース ツールの使い方
こ の節では、 JDBC ド ラ イ バ マネージ ャ ト レース の使い方について説
明 し ます。
デー タ ベース と の接続
221
JDBC ド ラ イバ マネージ ャ ト レース ツールの使い方
JDBC ド ラ イバ マネージ ャ ト レース
JDBC ド ラ イ バ マネージ ャ ト レース を使用す る と 、PowerBuilder か ら 、
JDBC イ ン タ フ ェ ー ス を経由 し て ア ク セ ス し てい る デー タ ベー ス への
接続を ト レース で き ます。
デー タ ベース ト レース ツール と は異な り 、JDBC ド ラ イ バ マネージ ャ
ト レ ー ス ツールでは、 ネ イ テ ィ ブ デー タ ベー ス イ ン タ フ ェ ー ス を経
由す る 接続を ト レース で き ません。
ツールの機能
JDBC ド ラ イ バ マネージ ャ ト レース は、 PowerBuilder が JDBC イ ン タ
フ ェ ース を経由 し てデー タ ベース に接続 し てい る と き に、 現在 ロ ー ド
し てい る ド ラ イ バ オブジ ェ ク ト (Sybase の jConnect JDBC ド ラ イ バな
ど) が生成 し たエ ラ ーお よ び情報 メ ッ セージ を ロ グ フ ァ イ ルに記録 し
ま す。 こ の情報は、 JDBC.LOG と い う 名前のデ フ ォ ル ト ロ グ フ ァ イ
ル、 ま たは指定の ロ グ フ ァ イ ルに書 き 込ま れ ます。 ト レース出力の量
は、 使用 し てい る JDBC ド ラ イ バに よ っ て異な り ます。
ツールか らの出力の利
用
デー タ ベース ト レース ツール と 同様に、JDBC ド ラ イ バ マネージ ャ ト
レース か ら 得 ら れ る 情報を使用す る と 、以下の こ と が可能にな り ます。
ツールの使い分け
•
JDBC イ ン タ フ ェ ース を経由 し てデー タ ベース接続中の
PowerBuilder の内部的な処理の把握
•
JDBC 接続で発生 し た問題の確認 と 解決
•
デー タ ベース と の接続で発生 し た問題について テ ク ニ カル サポー
ト セ ン タ に連絡す る 際の情報の提供
JDBC ド ラ イ バに関 し て詳細な情報が必要な場合は、 デー タ ベース ト
レー ス ツールではな く JDBC ド ラ イ バ マネージ ャ ト レー ス を使用 し
ます。
パ フ ォ ーマ ン スに関する注意
JDBC ド ラ イ バ マネージ ャ ト レース を使用す る と 、 PowerBuilder で操
作 し てい る と き に、 パフ ォ ーマ ン ス が低下す る 場合があ り ま す。 こ の
ため、 JDBC ド ラ イ バ マネージ ャ ト レース は、 デバ ッ グだけ を目的に
使用 し 、 それ以外の場合は使用 し ないで く だ さ い。
JDBC.LOG フ ァ イル
222
PowerBuilder は、 JDBC ド ラ イ バ マ ネ ー ジ ャ ト レ ー ス の 出 力 を
JDBC.LOG と い う デフ ォ ル ト ロ グ フ ァ イ ル ま たは指定 し た ロ グ フ ァ
イ ルに書 き 込みます。JDBC.LOG のデフ ォ ル ト の位置は temp デ ィ レ ク
ト リ です。
PowerBuilder
第 13 章
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング
JDBC ド ラ イバ マネージ ャ ト レースの起動
PowerBuilder において、JDBC ド ラ イ バ マネージ ャ ト レース は、デフ ォ
ル ト でオ フ にな っ てい ます。JDBC 接続を ト レースす る ために JDBC ド
ラ イ バ マネージ ャ ト レース を起動す る には、 2 つの方法があ り ます。
•
PowerBuilder 開発環境でデー タ ベース プ ロ フ ァ イ ルを編集す る
•
PowerBuilder アプ リ ケーシ ョ ンの ス ク リ プ ト を編集す る
開発環境における JDBC ド ラ イバ マネージ ャ ト レースの起動
PowerBuilder の開発環境の中で JDBC ド ラ イ バ マネージ ャ ト レース を
起動す る には、 以下の手順に従っ て、 ト レー スす る 接続のデー タ ベー
ス プ ロ フ ァ イ ルを編集 し ます。
❖
デー タ ベース プ ロ フ ァ イルを編集 し て JDBC ド ラ イバ マネージ ャ ト レース
を起動する
1
ト レース し たい JDB 接続に対応す る DB プ ロ フ ァ イ ル設定 -
JDBC ダ イ ア ロ グボ ッ ク ス を開 き ます。
2
[オプシ ョ ン] タ ブで、 [JDBC コ ールを ト レース] チ ェ ッ ク ボ ッ ク
ス をチ ェ ッ ク し ます。
3
(オプシ ョ ン) JDBC ド ラ イ バ マネージ ャ ト レース の ロ グの出力先
と な る ロ グ フ ァ イ ルを指定す る には、 [ ト レー ス フ ァ イ ル] ボ ッ
ク ス にパ ス名を入力す る か、 参照 ([...]) ボ タ ン を ク リ ッ ク し て、
[ ト レ ー ス フ ァ イ ル] ボ ッ ク ス に既存の ロ グ フ ァ イ ルのパ ス 名を
表示 し ます。
デフ ォ ル ト では、 [JDBC コ ールを ト レー ス] チ ェ ッ ク ボ ッ ク ス が
チ ェ ッ ク さ れていて、 代わ り の ト レース フ ァ イ ルが指定 さ れてい
ない場合、 JDBC ド ラ イ バ マネージ ャ ト レース の出力はデフ ォ ル
ト の JDBC.LOG フ ァ イ ルに書 き 込まれます。
4
[OK] ボ タ ン ま たは [更新] ボ タ ン を ク リ ッ ク し ます。
DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 編集 し たプ ロ
フ ァ イ ル名がハ イ ラ イ ト 表示 さ れ ます。 PowerBuilder は、 レ ジ ス ト
リ 内のデー タ ベー ス プ ロ フ ァ イ ルのエ ン ト リ に設定 を 保存 し ま
す。
デー タ ベース と の接続
223
JDBC ド ラ イバ マネージ ャ ト レース ツールの使い方
た と えば、 以下に、 Employee と い う 名前の JDBC デー タ ベース に
対す る デー タ ベー ス プ ロ フ ァ イ ル エ ン ト リ の DBMS と DBParm
文字列の部分 を 示 し ま す。 JDBC ド ラ イ バ マ ネージ ャ ト レ ー ス
(TraceFile DBParm パ ラ メ ー タ に対応) を開始す る 設定は、 強調で
示 さ れてい ます。
DBMS
DbParm
5
"TRACE JDBC"
"Driver='com.sybase.jdbc.SybDriver',
URL='jdbc:sybase:Tds:199.93.178.151:
5007\tsdata',TraceFile='c:\temp\jdbc.log'"
DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス で [接続] ボ タ ン を ク リ ッ
ク し てデー タ ベース に接続 し ます。
ま たは
DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス 内で、 接続す る デー タ ベー
ス を右 ク リ ッ ク し 、 ド ロ ッ プダ ウ ン メ ニ ュ ーか ら [再接続] を選
択 し ます。
PowerBuilder はデー タ ベース に接続 し 、 JDBC デー タ ベース接続の
ト レース を起動 し 、指定 し た ロ グ フ ァ イ ルに出力を書 き 込みます。
PowerBuilder アプ リ ケーショ ン における JDBC ド ラ イ バ マネージャ ト レ ースの起動
PowerBuilder アプ リ ケーシ ョ ンにおいて JDBC ド ラ イ バ マネージ ャ ト
レ ー ス を起動す る には、 TraceFile DBParm パ ラ メ ー タ の値を適切な ス
ク リ プ ト に指定 し ます。 た と えば、 アプ リ ケーシ ョ ン を開 く ス ク リ プ
ト に指定す る のが一般的です。
PowerBuilder ス ク リ プ ト に TraceFile パ ラ メ ー タ を指定す る には、 以下
の方法があ り ます。
•
(推奨) PowerScript TraceFile DBParm 構文を、 DB プ ロ フ ァ イ ル設
定 ダ イ ア ロ グ ボ ッ ク ス の [プ レ ビ ュ ー] タ ブか ら ス ク リ プ ト に コ
ピーす る
•
ト ラ ンザ ク シ ョ ン オブジ ェ ク ト の DBParm プ ロ パテ ィ に対 し て値
を設定す る PowerScript コ ー ド を記述す る
•
外部テ キ ス ト フ ァ イ ルか ら DBParm プ ロ パテ ィ に設定す る 値を読
み込む
PowerBuilder アプ リ ケーシ ョ ン でデー タ ベー ス と 通信す る ための ト ラ
ン ザ ク シ ョ ン オブジ ェ ク ト の使い方については、 『アプ リ ケーシ ョ ン
テ ク ニ ッ ク 』 マニ ュ アルを参照 し て く だ さ い。
TraceFile DBParm パ
ラ メータ
224
TraceFile は、 PowerBuilder で使用 し てい る JDBC 準拠 ド ラ イ バに対す
る 、 JDBC ド ラ イ バ マネージ ャ ト レース を制御 し ます。
PowerBuilder
第 13 章
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング
PowerBuilder アプ リ ケーシ ョ ンの ス ク リ プ ト で JDBC ド ラ イ バ マネー
ジ ャ ト レー ス を起動す る も っ と も 簡単な方法 と し て、 DB プ ロ フ ァ イ
ル 設 定 - JDBC ダ イ ア ロ グ ボ ッ ク ス の [プ レ ビ ュ ー] タ ブ か ら
PowerScript TraceFile DBParm 構文を ス ク リ プ ト に コ ピー し 、 必要であ
れば、 ト ラ ンザ ク シ ョ ン オブジ ェ ク ト のデフ ォ ル ト 名 (SQLCA) を修
正す る 方法があ り ます。
[プ レ ビ ュ ー] タ ブか
ら の TraceFile 構文の
コ ピー
開発環境で DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ ク ス を設定す る と 、
PowerBuilder は正 し い接続構文を [プ レ ビ ュ ー] タ ブ上に生成 し ます。
し た が っ て、 そ の構文 を [プ レ ビ ュ ー] タ ブか ら 直接 コ ピ ーすれば、
ス ク リ プ ト は正 し い も のであ る こ と が保証 さ れ ます。
❖
TraceFile 構文を [プ レ ビ ュ ー] タ ブから ス ク リ プ ト に コ ピーする
1
使用 し てい る 接続に対す る DB プ ロ フ ァ イ ル設定 - JDBC ダ イ ア ロ
グ ボ ッ ク ス の [オプ シ ョ ン] タ ブで、 [JDBC コ ール を ト レ ー ス]
チ ェ ッ ク ボ ッ ク ス を チ ェ ッ ク し 、 必要で あれば [ ト レ ー ス フ ァ イ
ル] ボ ッ ク ス で ロ グ フ ァ イ ルを指定 し て、 JDBC ド ラ イ バ マネー
ジ ャ ト レース を起動 し ます。
詳 し い手順については、 223 ページの 「開発環境におけ る JDBC ド
ラ イ バ マネージ ャ ト レース の起動」 を参照 し て く だ さ い。
2
[更新] ボ タ ン を ク リ ッ ク し て、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ
ボ ッ ク ス を閉 じ ずに、 [オプシ ョ ン] タ ブへの変更を保存 し ます。
3
[プ レ ビ ュ ー] タ ブ を ク リ ッ ク し ます。
JDBC ド ラ イ バ マ ネージ ャ ト レ ー ス お よ び選択 し た ほ かのオ プ
シ ョ ン に対す る 正 し い PowerScript 接続構文が [DB 接続構文] ボ ッ
ク ス に表示 さ れます。
次の例では、 JDBC ド ラ イ バ マネージ ャ ト レース を起動 し 、 出力
を C:\TEMP\JDBC.LOG と い う フ ァ イ ルに書 き 込む PowerScript 構
文が示 さ れてい ます。
// Profile Employee
SQLCA.DBMS = "TRACE JDBC"
SQLCA.DBParm = "Driver='com.sybase.jdbc.SybDriver',
URL='jdbc:sybase:Tds:199.93.178.151:5007/tsdata',
TraceFile='c:\temp\jdbc.log'"
4
DBParm 行 と 、ス ク リ プ ト に コ ピー し たい構文があればそれを選択
し て、 [ コ ピー] ボ タ ン を ク リ ッ ク し ます。
選択 し た テ キ ス ト を PowerBuilder が ク リ ッ プボー ド に コ ピー し ま
す。
デー タ ベース と の接続
225
JDBC ド ラ イバ マネージ ャ ト レース ツールの使い方
5
DBParm プ ロパテ ィ
に対 し て値を設定する
PowerScript コ ー ド を
記述
[プ レ ビ ュ ー] タ ブか ら 選択 し た テ キ ス ト を ス ク リ プ ト に貼 り 付
け、 必要であれば ト ラ ンザ ク シ ョ ン オブジ ェ ク ト のデフ ォ ル ト 名
(SQLCA) を変更 し ます。
PowerBuilder アプ リ ケーシ ョ ンの ス ク リ プ ト で、JDBC ド ラ イ バ マネー
ジ ャ ト レ ー ス を 起動す る には、 TraceFile パ ラ メ ー タ を、 ト ラ ン ザ ク
シ ョ ン オブジ ェ ク ト の DBParm プ ロ パテ ィ の値 と し て指定す る 方法 も
あ り ます。
❖
DBParm プロパティ を指定し て JDBC ド ラ イ バ マネージャ ト レ ースを起動する
•
ト レ ー ス を 起動 し 、 (オ プ シ ョ ン で) デ フ ォ ル ト 以外の ト レ ー ス
フ ァ イ ル を指定す る には、 ア プ リ ケーシ ョ ン ス ク リ プ ト の中で、
TraceFile パ ラ メ ー タ を指定 し ます。
たと えば、以下のス テート メ ン ト は、ア プリ ケ ーショ ン の中で JDBC
ド ラ イ バ マネージャ ト レ ース を 起動し 、出力を MYTRACE.LOG と
い う 名前の フ ァ イ ルに書 き 込む こ と を 指定 し ま す。 ( こ の構文で
は、 デフ ォ ル ト ト ラ ンザ ク シ ョ ン オブジ ェ ク ト SQLCA を使用 し
ますが、 独自の ト ラ ンザ ク シ ョ ン オブジ ェ ク ト を定義す る こ と も
で き ます)。
SQLCA.DBParm = "Driver='com.sybase.jdbc.SybDriver',
URL='jdbc:sybase:Tds:199.93.178.151:5007/tsdata',
TraceFile='c:\MYTRACE.LOG'"
PowerBuilder アプ リ ケーシ ョ ン の ス ク リ プ ト で DBParm プ ロ パテ ィ を
設定す る には、 PowerScript ProfileString 関数 を 使用 し て、 ア プ リ ケー
シ ョ ン固有の初期設定フ ァ イ ルな ど、 外部テ キ ス ト フ ァ イ ルの特定の
セ ク シ ョ ンか ら 、 DBParm 値を読み込む方法 も あ り ます。
外部テキス ト フ ァ イ
ルか らの DBParm 値
の読み込み
こ の場合、 初期設定フ ァ イ ルか ら 読み込ま れ る DBParm 値には、 前述
の例に示す よ う に、 JDBC ド ラ イ バ マ ネージ ャ ト レ ー ス を 起動す る
TraceFile パ ラ メ ー タ が定義 さ れてい る も の と し ます。
❖
外部テキス ト フ ァ イルか ら DBParm 値を読み込んで JDBC ド ラ イバ マネー
ジ ャ ト レース を起動する
•
以下の PowerScript 構文を 使用し て、DBParm プロ パティ に ProfileString
関数を指定 し ます。
SQLCA.dbParm = ProfileString(file, section,
variable, default_value)
た と えば、 以下の PowerBuilder ス ク リ プ ト では APP.INI フ ァ イ ル
の [Database] セ ク シ ョ ン か ら DBParm 値を読み込みます。
SQLCA.dbParm =
ProfileString("APP.INI","Database","DBParm","")
226
PowerBuilder
第 13 章
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング
JDBC ド ラ イバ マネージ ャ ト レースの停止
JDBC ド ラ イ バ マネージ ャ ト レース で JDBC 接続の ト レース をい っ た
ん起動す る と 、ト レース を停止す る ま で、PowerBuilder に よ る ロ グ フ ァ
イ ルへの ト レース出力の書 き 込みが続 き ます。
開発環境における JDBC ド ラ イバ マネージ ャ ト レースの停止
❖
デー タ ベース プ ロ フ ァ イルを編集 し て JDBC ド ラ イバ マネージ ャ ト レース
を停止する
1
ト レース し てい る デー タ ベース接続に対す る DB プ ロ フ ァ イ ル設
定 ダ イ ア ロ グ ボ ッ ク ス を開 き ます。
詳 し い手順については、 223 ページの 「開発環境におけ る JDBC ド
ラ イ バ マネージ ャ ト レース の起動」 を参照 し て く だ さ い。
2
[オプシ ョ ン] タ ブで、 [JDBC コ ールを ト レース] チ ェ ッ ク ボ ッ ク
ス のチ ェ ッ ク をはず し ます。
[ ト レ ー ス フ ァ イ ル] ボ ッ ク ス に ロ グ フ ァ イ ルのパ ス 名を指定 し
た場合、 後で ト レース を再開す る 場合に備え て、 ト レース フ ァ イ
ルの名前を残 し ておけ ます。
3
DB プ ロ フ ァ イ ル設定 - JDBC ダ イ ア ロ グ ボ ッ ク ス の [OK] ボ タ ン
を ク リ ッ ク し ます。
DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 編集 し たプ ロ
フ ァ イ ル名がハ イ ラ イ ト 表示 さ れ ます。
4
DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス の [接続] ボ タ ン を ク リ ッ
ク す る か、 DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス 内で、 接続す る
デー タ ベース を右 ク リ ッ ク し 、 ド ロ ッ プダ ウ ン メ ニ ュ ーか ら [再
接続] を選択 し ます。
PowerBuilder はデー タ ベース に接続 し 、接続の ト レース を停止 し ま
す。
PowerBuilder アプリ ケーショ ン における JDBC ド ラ イ バ マネージャ ト レ ースの停止
PowerBuilder アプ リ ケーシ ョ ン ス ク リ プ ト の中で、 JDBC ド ラ イ バ マ
ネージ ャ ト レ ー ス を 停止す る には、 TraceFile パ ラ メ ー タ を 削除 し ま
す。 以下の方法で指定 し ます。
•
デー タ ベース と の接続
ト ラ ンザ ク シ ョ ン オブジ ェ ク ト の DBParm プ ロ パテ ィ の値を編集
する
227
JDBC ド ラ イバ マネージ ャ ト レース ツールの使い方
•
外部テ キ ス ト フ ァ イ ルか ら DBParm プ ロ パテ ィ に設定す る 値を読
み込む
PowerBuilder ス ク リ プ ト の中で、 TraceFile 値を変更す る には、 ト ラ ン
ザ ク シ ョ ン オブジ ェ ク ト の DBParm プ ロ パテ ィ を編集す る 方法があ り
ます。
DBParm プ ロパテ ィ
値の編集
❖
DBParm プ ロパテ ィ を編集 し て JDBC ド ラ イバ マネージ ャ ト レース を停止
する
•
アプ リ ケーシ ョ ン ス ク リ プ ト の中で、 ト ラ ンザ ク シ ョ ン オブジ ェ
ク ト の DBParm プ ロ パテ ィ を編集 し て、 TraceFile パ ラ メ ー タ を削
除 し ます。
たと えば、以下のス テート メ ン ト は、ア プリ ケ ーショ ン の中で JDBC
ド ラ イ バ マネージャ ト レ ース を 起動し 、出力を MYTRACE.LOG と
い う 名前の フ ァ イ ルに書 き 込む こ と を 指定 し ま す。 ( こ の構文で
は、 デフ ォ ル ト ト ラ ンザ ク シ ョ ン オブジ ェ ク ト SQLCA を使用 し
ますが、 独自の ト ラ ンザ ク シ ョ ン オブジ ェ ク ト を定義す る こ と も
で き ます)。
SQLCA.DBParm = "Driver='com.sybase.jdbc.SybDriver',
URL='jdbc:sybase:Tds:199.93.178.151:5007/tsdata',
TraceFile='c:\MYTRACE.LOG'"
こ の ス テー ト メ ン ト を編集 し て JDBC ド ラ イ バ マネージ ャ ト レー
ス の終了を指定す る と 、 以下の よ う にな り ます。
SQLCA.DBParm = "Driver='com.sybase.jdbc.SybDriver',
URL='jdbc:sybase:Tds:199.93.178.151:5007/tsdata'"
DBParm 値の読み込
み
PowerBuilder アプ リ ケーシ ョ ン の ス ク リ プ ト で DBParm プ ロ パテ ィ を
編集す る には、PowerScript ProfileString 関数を使用 し て、アプ リ ケーシ ョ
ン 固有の初期設定 フ ァ イ ルな ど の外部テ キ ス ト フ ァ イ ルの特定のセ
ク シ ョ ン か ら DBParm 値を読み込む、 ま たは RegistryGet を使用 し て レ
ジ ス ト リ キーか ら 値を取得す る 方法 も あ り ます。
こ の場合、 前述の例に示す よ う に、 DBParm 値は初期設定 フ ァ イ ルや
レ ジ ス ト リ キーか ら 読み込まれ ません。DBParm 値を有効にす る には、
接続の解除を し た後、 再接続す る 必要があ り ます。
JDBC ド ラ イバ マネージ ャ ト レース ログの表示
PowerBuilder セ ッ シ ョ ン 中で あ れば、 JDBC ド ラ イ バ マ ネージ ャ ト
レース ロ グ フ ァ イ ルの内容はいつで も 表示で き ます。
228
PowerBuilder
第 13 章
デー タ ベース接続に関する ト ラ ブルシ ュ ーテ ィ ング
JDBC.LOG の保存場所
デフ ォ ル ト の JDBC.LOG フ ァ イ ルの保存場所については、 222 ページ
の 「JDBC ド ラ イ バ マネージ ャ ト レース」 を参照 し て く だ さ い。
❖
ログ フ ァ イルの内容を表示する
•
以下のいずれかの方法で、 JDBC.LOG フ ァ イ ル、 ま たは指定 し た
ロ グ フ ァ イ ルを開 き ます。
•
PowerBuilder のテ キ ス ト エデ ィ タ を使用す る (詳 し い手順につ
いては、 『ユーザーズ ガ イ ド 』 マニ ュ アルを参照)
•
PowerBuilder の外部の環境で、任意のテ キ ス ト エデ ィ タ を使用
する
ログ フ ァ イルを開いたま まにする
PowerBuilder を使用 し てい る 間、 ロ グ フ ァ イ ルを開いた ま ま に し てお
く と 、JDBC ド ラ イ バ マネージ ャ ト レース ツールは ロ グ を更新 し ませ
ん。
デー タ ベース と の接続
229
JDBC ド ラ イバ マネージ ャ ト レース ツールの使い方
230
PowerBuilder
第
5
部
ト ラ ンザク シ ョ ン サーバで
の作業
第 5 部では、 ト ラ ンザ ク シ ョ ン コ ン ポーネ ン ト のために
デー タ ベース接続を確立する方法について説明 し ます。
第 1 4 章
PowerBuilder コ ン ポーネ ン ト 内で
のデー タ ベース接続の確立
こ の章では、 ト ラ ンザ ク シ ョ ン サーバへの配布用の PowerBuilder
コ ン ポーネ ン ト を開発 し てい る 場合に確立可能なデー タ ベー ス 接
続について解説 し ます。 ま た、 EAServer への接続手順を簡素化す
る プ ロ フ ァ イ ルの作成方法について説明 し ます。
項目
EAServer への コ ン ポーネ ン ト の配布
COM+ への COM コ ン ポーネ ン ト の配布
PowerBuilder コ ン ポーネ ン ト に対する DBParm のサポー ト
ページ
233
237
238
EAServer への コ ンポーネ ン ト の配布
ビ ジネ ス ロ ジ ッ ク を含む PowerBuilder カ ス タ ム ク ラ ス ユーザ オ
ブジ ェ ク ト を開発 し てい る 場合で、 それが ト ラ ンザ ク シ ョ ン サー
バに配布す る オブジ ェ ク ト で あ る と き は、 デー タ ベー ス の接続に
関す る 問題に注意す る 必要があ り ます。
PowerBuilder で作成 し た ア プ リ ケーシ ョ ン ま たは コ ン ポーネ ン ト
と と も に配布す る 必要のあ る フ ァ イ ルについての詳細は、『アプ リ
ケーシ ョ ン テ ク ニ ッ ク 』 マニ ュ アルのアプ リ ケーシ ョ ン の配布に
関す る 章を参照 し て く だ さ い。
開発中の コ ン ポーネ ン ト で EAServer の接続プール機能お よ び ト
ラ ンザ ク シ ョ ン管理機能を利用 し たい場合は、 EAServer の使用す
る ト ラ ンザ ク シ ョ ン コ ーデ ィ ネー タ でサポー ト さ れ る いずれかの
デ ー タ ベ ー ス イ ン タ フ ェ ー ス を 使 用 し な け れ ば な り ま せ ん。
EAServer は、OTS/XA ト ラ ンザク ショ ンに対し て Microsoft Distributed
Transaction Coordinator (DTC) お よ び Java Transaction Service (JTS)
をサポー ト し てい ます。
デフ ォ ル ト の コ ーデ ィ ネー タ は JTS コ ーデ ィ ネー タ です。
デー タ ベース と の接続
233
EAServer への コ ンポーネ ン ト の配布
ト ラ ンザ ク シ ョ ン コ ーデ ィ ネー タ の設定
ト ラ ンザ ク シ ョ ン コ ーデ ィ ネー タ を設定す る には、 EAServer Manager
で サーバのプ ロ パテ ィ ダ イ ア ロ グボ ッ ク ス の [ ト ラ ンザ ク シ ョ ン] タ
ブ を使用 し ます。
共有接続を使用する場合にサポー ト さ れるデー タ ベース接続
EAServer には、 擬似 コ ーデ ィ ネー タ であ る 共有接続が組み込ま れてい
ます。こ のモデルでは、 ト ラ ンザ ク シ ョ ン に参加す る すべての コ ン ポー
ネ ン ト が単一の接続を共有 し ます。 こ のモデルを使用す る には、 すべ
ての ア プ リ ケーシ ョ ン デー タ が単一のデー タ サーバ上に存在す る 必
要が あ り ま す。 さ ら に、 ト ラ ン ザ ク シ ョ ン に参加す る すべ て の コ ン
ポーネ ン ト において接続のユーザ名、 パ ス ワ ー ド が同 じ で あ り 、 その
接続で同 じ サーバ名ま たは CacheName DBParm で定義 さ れてい る の と
同 じ EAServer 接続キ ャ ッ シ ュ 名を使用 し てい る こ と が必要です。 こ の
モデルでサポー ト さ れ る デー タ ベー ス接続用の イ ン タ フ ェ ー ス は次の
と お り です。
234
•
ODBC デー タ ベース イ ン タ フ ェ ース。 ODBC ド ラ イ バに よ り さ ま
ざ ま なデー タ ベース に対す る 接続を可能に し ます。PowerBuilder に
付属す る も の と 同 じ ODBC ド ラ イ バが EAServer で も サポー ト さ
れ ます。
•
Sybase SYJ データ ベース イ ン タ フ ェ ース 。Adaptive Server Enterprise
11.5 以 降 に 対 す る 接 続 を 提 供 し ま す。 (Open Client と Adaptive
Server の一部のバージ ョ ンは、現在 Windows NT で OTS/XA ト ラ ン
ザ ク シ ョ ン をサポー ト し ません。)
•
JDB デー タ ベース イ ン タ フ ェース。 Sun の Java 仮想マシ ン を通 じ
て、 Sybase jConnect な ど の JDBC ド ラ イ バへの接続を可能に し ま
す。
•
Oracle O84、 O90、 お よ び O10 デー タ ベース イ ン タ フ ェ ース。
Oracle8i、 Oracle9i、 お よ び Oracle 10g デー タ ベースへの接続を可能
に し ます。
PowerBuilder
第 14 章
PowerBuilder コ ンポーネ ン ト 内でのデー タ ベース接続の確立
Microsoft DTC を使用する場合にサポー ト さ れるデー タ ベース接続
Microsoft Distributed Transaction Coordinator (DTC) は、 2 相 コ ミ ッ ト を
使用 し て、 複数のデー タ ベー ス 間で ト ラ ン ザ ク シ ョ ン を調整 し ま す。
こ の ト ラ ン ザ ク シ ョ ン コ ーデ ィ ネー タ でサポー ト さ れ る デー タ ベー
ス接続用の イ ン タ フ ェース は次の と お り です。
•
ODBC デー タ ベース イ ン タ フ ェース。 Microsoft SQL Server 6.5 以
降お よ び Microsoft ODBC driver for Oracle の ODBC ド ラ イ バのみサ
ポー ト し ます。
•
JDB デー タ ベース イ ン タ フ ェ ース。 Sun の Java 仮想マシ ン を通 じ
て、JDBC-ODBC ブ リ ッ ジ と し て機能す る JDBC ド ラ イ バへの接続
を可能に し ます。
OTS/XA を使用する場合にサポー ト さ れるデー タ ベース接続
こ のオプシ ョ ン では、 EAServer に組み込まれてい る Transarc Encina ト
ラ ンザ ク シ ョ ン コ ーデ ィ ネー タ を使用 し ます。 Encina ト ラ ンザ ク シ ョ
ン コ ーデ ィ ネー タ は、 2 相 コ ミ ッ ト を使用 し て、 複数のデー タ ベース
間で ト ラ ンザ ク シ ョ ン を調整 し ます。 こ の ト ラ ンザ ク シ ョ ン コ ーデ ィ
ネー タ でサポー ト さ れ る デー タ ベー ス接続用の イ ン タ フ ェ ー ス は次の
と お り です。
デー タ ベース と の接続
•
SYJ デー タ ベース イ ン タ フ ェ ース。 Adaptive Server Enterprise 11.5
以降への接続を提供 し ます。
•
JDB デー タ ベース イ ン タ フ ェース。 Sun の Java 仮想マシ ン (JRE
1.2 以降) を 通 じ て、 Java Transaction API (JTA) を サ ポー ト す る
JDBC ド ラ イ バ (Sybase jConnect 5.2 な ど) への接続を可能に し ま
す。
•
O84、 O90、 お よ び O10 デー タ ベース イ ン タ フ ェ ース。 Oracle8i、
Oracle 9i お よ び Oracle 10g デー タ ベースへの接続を可能に し ます。
235
EAServer への コ ンポーネ ン ト の配布
SYJ デー タ ベース イ ン タ フ ェ ースの使い方
EAServer は、 PowerBuilder の Sybase Open Client CT-Library (CT-Lib) ソ
フ ト ウ ェ ア と は若干異な る バージ ョ ン を使用 し ます。 し たが っ て、 実
行 時 に は ASE や SYC で は な く SYJ を 使 用 し て Adaptive Server
Enterprise デー タ ベー ス に接続す る 必要が あ り ま す。 SYJ の DB プ ロ
フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス を使 う と 、 適切な接続パ ラ メ ー タ を
設定 し 、 構文を [プ レ ビ ュ ー] タ ブか ら ト ラ ンザ ク シ ョ ン オブジ ェ ク
ト の ス ク リ プ ト に簡単に コ ピーで き ます。
ただ し 、 SYJ イ ン タ フ ェ ー ス を使用 し て、 PowerBuilder 開発環境か ら
デー タ ベース に接続す る こ と はで き ません。 そのため、 開発段階、 つ
ま り コ ン ポーネ ン ト が EAServer に配布 さ れ る 前の段階では、ASE ま た
は SYC イ ン タ フ ェ ー ス を 使用 し てデー タ ベー ス に接続す る 必要が あ
り ます。
SYJ デー タ ベース イ ン タ フ ェ ース でサポー ト さ れ る のは、 実行時に関
連す る DBParm だけで あ る こ と に注意 し て く だ さ い。 PowerBuilder で
デー タ ベー ス 接続 を 確立す る 前に設定す る 必要の あ る DBParm パ ラ
メ ー タ はサポー ト さ れ ません。 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ ボ ッ
ク ス に表示 さ れ る 以下の DBParms は、 SYJ ではサポー ト さ れません。
236
•
文字セ ッ ト 、 言語、 ロ ケールを含めて、 [地域の設定] タ ブ上のす
べての DBParm
•
[デ ィ レ ク ト リ サービ ス] タ ブ上のすべてのデ ィ レ ク ト リ サービ
ス DBParm
•
[セキ ュ リ テ ィ ] タ ブ上のすべてのセキ ュ リ テ ィ サービ ス DBParm
•
アプ リ ケーシ ョ ン名、 ワ ー ク ス テーシ ョ ン名、 Client Library の最
大接続数、 パケ ッ ト サ イ ズ、 パ ス ワ ー ド の暗号化を含めて、 [ネ ッ
ト ワ ー ク ] タ ブ上のすべての DBParm
•
[接続] タ ブ上の リ リ ース DBParm
•
[シ ス テ ム] タ ブ上のテーブルの抽出条件 DBParm
•
[ ト ラ ンザ ク シ ョ ン] タ ブ上の非同期操作 DBParm であ る 非同期 と
処理待ち時間
PowerBuilder
第 14 章
PowerBuilder コ ンポーネ ン ト 内でのデー タ ベース接続の確立
JDB デー タ ベース イ ン タ フ ェ ースの使い方
JDB イ ン タ フ ェ ース を 使用し て開発し たコ ン ポーネン ト を EAServer に
配布する と き 、 EAServer の使用する JVM のバージョ ン と PowerBuilder
の使用す る バージ ョ ン が PowerBuilder に よ っ て照合 さ れ ます。 両者の
バージ ョ ンが一致 し ない場合、EAServer ロ グ フ ァ イ ルに警告が出力 さ
れます。 PowerBuilder は、 EAServer で ロ ー ド さ れてい る バージ ョ ン を
使用 し ます。EAServer ロ グ フ ァ イ ルには コ ン ポーネ ン ト の実行に関す
る エ ラ ーが記録 さ れ ます。 ロ グ フ ァ イ ルの内容は、 EAServer Manager
File Viewer を使用 し て表示で き ます。
自動 コ ミ ッ ト モー ド の指定
ODBC、 SYJ、 お よ び JDB を サポー ト す る DBMS と デー タ ベース の イ
ン タ フ ェ ー ス では、 PowerBuilder が SQL 文 を ト ラ ン ザ ク シ ョ ン の ス
コ ープの外側で発行す る か、 あ る いは内側で発行す る かが自動 コ ミ ッ
ト (AutoCommit) に よ っ て 制御 さ れ ま す。 AutoCommit を False (デ
フ ォ ル ト ) に設定 し た場合、PowerBuilder は ト ラ ンザ ク シ ョ ン の ス コ ー
プの内側で SQL 文を発行 し ます。AutoCommit を True に設定 し た場合、
PowerBuilder は ト ラ ンザ ク シ ョ ンの ス コ ープの外側で SQL 文を発行 し
ます。 AutoCommit を設定す る には、 DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ
ボ ッ ク ス の [接続] タ ブにあ る [自動 コ ミ ッ ト モー ド ] チ ェ ッ ク ボ ッ
ク ス を使用す る か、 あ る いは PowerBuilder アプ リ ケーシ ョ ン ス ク リ プ
ト 内で AutoCommit に値を設定 し ます。
し か し 、開発 し た コ ン ポーネ ン ト を EAServer ト ラ ンザ ク シ ョ ン に参加
さ せ る 場合には、 自動 コ ミ ッ ト の設定は無視 さ れ ます。 その代わ り に、
EAServer がその ト ラ ンザ ク シ ョ ン の一部 と し て コ ン ポーネ ン ト のデー
タ ベース処理の実行方法を決定 し ます。
COM+ への COM コ ンポーネ ン ト の配布
開発中の COM コ ン ポーネ ン ト で COM+ の接続プール機能お よ び ト ラ
ン ザ ク シ ョ ン管理機能を利用 し たい場合は、 デー タ ベー ス に接続す る
た めに以下のデー タ ベー ス イ ン タ フ ェ ー ス の う ち のいずれか を 使用
し なければな り ません。
•
デー タ ベース と の接続
ODBC デー タ ベース イ ン タ フ ェ ース。 ODBC ド ラ イ バに よ り さ ま
ざ ま なデー タ ベース に対す る 接続を可能に し ます。
237
PowerBuilder コ ンポーネ ン ト に対する DBParm のサポー ト
•
Oracle O84、 O90、 お よ び O10 デー タ ベース イ ン タ フ ェース。
Oracle8i、 Oracle9i、 お よ び Oracle 10g デー タ ベースへの接続を可能
に し ます。
ODBC デー タ ベース イ ン タ フ ェ ースの使い方
接続プールのサ ポー ト のみが必要な場合は、 任意の ス レ ッ ド セー フ
ODBC ド ラ イ バを使用で き ます。 ト ラ ンザ ク シ ョ ン のサポー ト も 必要
にな る 場合は、Microsoft ODBC driver for Oracle や Microsoft ODBC driver
for SQL Server な ど、 Microsoft Distributed Transaction Coordinator (DTC)
を サポー ト す る ド ラ イ バを使用す る 必要があ り ます。
Oracle デー タ ベース イ ン タ フ ェ ースの使い方
COM+ に配布 し た コ ン ポーネ ン ト がデー タ ベー ス ト ラ ン ザ ク シ ョ ン
に参加で き る のは、 Oracle8i 以降のデー タ ベー ス サーバに接続す る 場
合で、 さ ら に Oracle Services for COM+ が イ ン ス ト ール、 構成 さ れてい
る 場合に限 ら れ ます。
PowerBuilder コ ン ポーネン ト に対する DBParm のサポート
ト ラ ンザク ショ ン サーバ コ ンポーネント と し て配布さ れる PowerBuilder
カ ス タ ム ク ラ ス ユーザ オブジ ェ ク ト にのみ関連す る 接続オプシ ョ ン
がい く つか存在 し ます。 こ れ ら の DBParm パ ラ メ ー タ を設定す る には、
適切なデー タ ベース イ ン タ フ ェース の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ
グ ボ ッ ク ス の [EAServer] タ ブ ま たは [EAServer/COM+] タ ブ を使用
す る か、 ま たは PowerBuilder アプ リ ケーシ ョ ン ス ク リ プ ト 内で値を指
定 し ます。
DBParm
UseContextObject
CacheName
GetConnectionOption
ProxyUserName
ReleaseConnectionOption
ODBCU_CONLIB
238
DBParm が関連する コ ンポーネ ン ト の配布先
EAServer ま たは COM+
EAServer のみ(OTS/XA を使用す る 場合は対象外)
EAServer のみ
EAServer のみ
EAServer のみ
EAServer のみ
PowerBuilder
第 14 章
PowerBuilder コ ンポーネ ン ト 内でのデー タ ベース接続の確立
DBParm
OraMTSConFlgs
DBParm が関連する コ ンポーネ ン ト の配布先
COM+ のみ
こ れ ら の DBParms の詳細については、オ ン ラ イ ン ヘルプ を参照 し て く
だ さ い。
デー タ ベース と の接続
239
PowerBuilder コ ンポーネ ン ト に対する DBParm のサポー ト
240
PowerBuilder
第
6
部
付録
こ の付録では、 PBODB110 初期設定 フ ァ イルを変更する
方法について説明 し ます。
付録
A
こ の付録について
PBODB110 初期設定フ ァ イルへ
の関数の追加
通常は、 PBODB110 初期設定フ ァ イ ルを変更す る 必要はあ り ませ
ん。 し か し 、 使用す る バ ッ ク エ ン ド DBMS と の、 PowerBuilder の
ODBC ま た は OLE DB イ ン タ フ ェ ー ス を 介 し た 接続に応 じ て、
PBODB110 初期設定フ ァ イ ルに関数を追加す る 場合があ り ます。
こ の付録では、 必要に応 じ て、 PBODB110 初期設定フ ァ イ ルに関
数を追加す る 方法について解説 し ます。
内容
項目
PBODB110 初期設定フ ァ イ ルについて
PBODB110.INI への関数の追加
ページ
243
244
PBODB110 初期設定 フ ァ イルについて
PBODB110 初期設定フ ァ
イルの目的
ODBC イ ン タ フ ェ ー ス を 介 し て デ ー タ に ア ク セ ス す る と き 、
PowerBuilder では、 ODBC API 呼び出 し でサポー ト さ れていない、
バ ッ ク エ ン ド DBMS の拡張機能へのア ク セ ス を管理す る ために、
PBODB110 初期設定フ ァ イ ル (PBODB110.INI) が使用 さ れ ま す。
拡張機能には、特定の DBMS 固有の SQL 構文や関数呼び出 し な ど
があ り ます。
PBODB110.INI の編集
通常、 PBODB110.INI を変更す る 必要はあ り ません。 こ の フ ァ イ ル
をむやみに変更す る と PowerBuilder が正常に動作 し ない こ と があ
り ま す。 テ ク ニ カ ル サ ポ ー ト セ ン タ か ら 指 示 さ れ な い 限 り 、
PBODB110.INI を変更 し ないで く だ さ い。
ただ し 、 使用 し てい る バ ッ ク エ ン ド DBMS 用に関数を追加す る 必
要があ る 場合は、 こ の PBODB110.INI を編集で き ます。
デー タ ベース と の接続
243
PBODB110.INI への関数の追加
PBODB110.INI を変更す る 場合は、 操作の前に必ず、 既存の フ ァ イ ル
のバ ッ ク ア ッ プ コ ピーを作成 し て く だ さ い。 ま た、 ど の よ う な変更を
加え たかについて、記録を残す よ う に し て く だ さ い。PBODB110.INI を
変更 し た後で、 テ ク ニ カルサポー ト セ ン タ の技術サポー ト を受け る 場
合は、 PBODB110.INI を 変更 し た こ と を告げ、 その変更内容をお知 ら
せ く だ さ い。
PBODB110.INI への関数の追加
PBODB110.INI には、 ODBC ド ラ イ バがサポー ト す る DBMS の関数が
記述 さ れ て い ま す。 バ ッ ク エ ン ド DBMS と と も に使用す る 関数 を
PBODB110.INI に追加す る 必要が あ る 場合は、 以下のいずれかの操作
を行い ます。
•
既存のセ ク シ ョ ン PBODB110.INI に、 使用 し て い る バ ッ ク エ ン ド
デー タ ベー ス 用の関数セ ク シ ョ ン が存在す る 場合は、 そ の セ ク
シ ョ ン に関数を追加 し ます。
•
新 し いセ ク シ ョ ン PBODB110.INI に、 使用 し て い る バ ッ ク エ ン ド
DBMS 用のセ ク シ ョ ン を新規に作成 し 、 その新規作成 し た関数セ
ク シ ョ ンに関数を追加 し ます。
既存のセ ク シ ョ ンへの関数の追加
PBODB110.INI に、 使用 し てい る バ ッ ク エ ン ド DBMS 用のセ ク シ ョ ン
がすでに存在す る 場合は、 以下の手順に従っ て新 し い関数を追加 し ま
す。
❖
PBODB110.INI の既存のセ ク シ ョ ンに関数を追加するには
1
2
244
以下の ど ち ら かの方法で、 PBODB110.INI を開 き ます。
•
PowerBuilder のテ キ ス ト エデ ィ タ を使用す る (詳 し い手順につ
い て は、 『ユーザーズ ガ イ ド 』 マ ニ ュ ア ル を 参照 し て く だ さ
い。)
•
PowerBuilder の外部の環境で、任意のテ キ ス ト エデ ィ タ を使用
する
PBODB110.INI の DBMS ド ラ イ バ / DBMS の設定セ ク シ ョ ン内で
バ ッ ク エ ン ド DBMS のエ ン ト リ を見つけ ます。
PowerBuilder
付録 A
PBODB110 初期設定 フ ァ イルへの関数の追加
た と えば、 SQL Anywhere の PBODB110.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
PBODB110.INI において、 使用 し てい る バ ッ ク エ ン ド DBMS の関
数情報が記述 さ れてい る セ ク シ ョ ン の名前を検索 し ます。
こ のセ ク シ ョ ン を検索す る には、 DBMS ド ラ イ バ / DBMS を設定
す る エ ン ト リ の中で、 以下の形式の行を調べます。
PBFunctions='section_name'
た と えば、SQL Anywhere 用の DBMS ド ラ イ バ / DBMS の設定エ ン
ト リ にあ る 以下の行に よ っ て、 関数セ ク シ ョ ンの名前が
ASA_FUNCTIONS であ る こ と がわか り ます。
PBFunctions='ASA_FUNCTIONS'
デー タ ベース と の接続
245
PBODB110.INI への関数の追加
4
PBODB110.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),
246
PowerBuilder
付録 A
PBODB110 初期設定 フ ァ イルへの関数の追加
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
変更内容を PBODB110.INI に保存 し ます。
新 し いセ ク シ ョ ンへの関数の追加
使用 し てい る バ ッ ク エ ン ド DBMS 用のエ ン ト リ が、 PBODB110.INI に
存在 し な い場合は、 以下の手順に従 っ て必要な セ ク シ ョ ン を 作成 し 、
適切な関数を追加 し ます。
デー タ ベース と の接続
247
PBODB110.INI への関数の追加
は じ めに
PBODB110.INI におけ る 、 バ ッ ク エ ン ド DBMS に対す る 設定の詳細に
ついては、 PBODB110.INI の最後にあ る コ メ ン ト を参照 し て く だ さ い。
❖
PBODB110.INI の既存のセ ク シ ョ ンに関数を追加するには
1
2
以下の ど ち ら かの方法で、 PBODB110.INI を開 き ます。
•
PowerBuilder のテ キ ス ト エデ ィ タ を使用す る (詳 し い手順につ
い て は、 『ユーザーズ ガ イ ド 』 マ ニ ュ ア ル を 参照 し て く だ さ
い。)
•
PowerBuilder 以外の ツールで、任意のテ キ ス ト エデ ィ タ を使用
する
PBODB110 初期設定フ ァ イ ルの DBMS ド ラ イ バ / DBMS の設定セ
ク シ ョ ン を編集 し 、 使用 し てい る バ ッ ク エ ン ド DBMS 用のエ ン ト
リ を追加 し ます。
名前の検索
使用 し てい る バ ッ ク エ ン ド DBMS 用に DBMS ド ラ イ バ / DBMS の
設定セ ク シ ョ ン で使用す る エ ン ト リ の識別子は、 PBODB110.INI
で、 そのバ ッ ク エ ン ド DBMS に対 し て使用 し てい る 識別子 と 同 じ
識別子を使用 し て く だ さ い。
こ の と き 、 以下の操作を確実にす る 必要があ り ます。
•
PBODB110.INI の最後にあ る コ メ ン ト の指示に従い ます。
•
PBODB110.INI の DBMS ド ラ イ バ / DBMS の設定セ ク シ ョ ン に
おけ る 、 既存のエ ン ト リ と 同 じ 構文を使用 し ます。
•
PBFunctions に対 し てセ ク シ ョ ン名を記述 し ます。
以下は、 DB2/2 デー タ ベース のエ ン ト リ の該当部分を示す例です。
;***********************************************
;DBMS ドライバ /DBMS 設定
;***********************************************
[DB2/2]
...
PBFunctions='DB22_FUNCTIONS'
...
3
248
PBODB110.INI の関数セ ク シ ョ ン を編集 し 、使用 し てい る バ ッ ク エ
ン ド DBMS 用のエ ン ト リ を追加 し ます。
PowerBuilder
付録 A
PBODB110 初期設定 フ ァ イルへの関数の追加
こ の と き 、 以下の操作を確実にす る 必要があ り ます。
•
PBODB110.INI の最後にあ る コ メ ン ト の指示に従い ます。
•
PBODB110.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
デー タ ベース と の接続
変更内容を PBODB110.INI に保存 し ます。
249
PBODB110.INI への関数の追加
250
PowerBuilder
索引
A
D
ADO.NET イ ン タ フ ェース
identity カ ラ ム値の取得 68
コ ン ポーネ ン ト 61
接続パ ラ メ ー タ の指定 68
デー タ プ ロ バ イ ダの イ ン ス ト ール 66
デー タ リ ン ク の使用 68
ヘルプ情報の入手 59
ASE DBMS 識別子 81
AutoCommit デー タ ベース環境設定項目
PowerBuilder ス ク リ プ ト での設定 186
[プ レ ビ ュ ー] タ ブの表示 186
AutoCommit デー タ ベース環境設定、 デー タ ベー
ス プ ロ フ ァ イ ルでの設定 181
AutoCommit ト ラ ンザ ク シ ョ ン オブジ ェ ク ト プ ロ
パテ ィ 188
DataDirect ODBC ド ラ イ バ
ヘルプの表示 25
DB 環境設定 [DB の接続を保持] 183
DB 環境設定 [SQL 構文の終止符] 183
DB 環境設定 [開始時にデー タ ベース に接続]
183
DB 環境設定 [拡張属性の使用] 170, 183
DB 環境設定 ダ イ ア ロ グボ ッ ク ス
[全般] ページ、 値 183
DB 環境設定 ダ イ ア ロ グボ ッ ク ス の [DB の接続を
保持] チ ェ ッ ク ボ ッ ク ス 183
DB 環境設定 ダ イ ア ロ グボ ッ ク ス の [開始時に
デー タ ベース に接続] チ ェ ッ ク ボ ッ ク ス
183
DB 環境設定 ダ イ ア ロ グボ ッ ク ス の [拡張属性の
使用] チ ェ ッ ク ボ ッ ク ス 183
DB 環境設定 ダ イ ア ロ グボ ッ ク ス の [全般] ペー
ジ 183
DB 環境設定 ダ イ ア ロ グボ ッ ク ス の [読み取 り 専
用] チ ェ ッ ク ボ ッ ク ス 183
DB 環境設定 [読み取 り 専用] 170, 183
DB 環境設定 ダ イ ア ロ グボ ッ ク ス
[SQL 構文の終止符] ボ ッ ク ス 143
説明 182
DB 環境設定 ダ イ ア ロ グボ ッ ク ス の [共有 DB プ ロ
フ ァ イ ル] ボ ッ ク ス 183
DB 環境設定プ ロ パテ ィ シー ト
[全般] プ ロ パテ ィ ページ、 値 161
[DB 環境設定] プ ロ パテ ィ シー ト の [共有 DB プ
ロ フ ァ イ ル] ボ ッ ク ス 161
[DB 環境設定] プ ロ パテ ィ シー ト の [全般] プ ロ
パテ ィ ページ 161
[DB 情報ダ イ ア ロ グの表示] チ ェ ッ ク ボ ッ ク ス
158
DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス
共有プ ロ フ ァ イ ルの表示 162
説明 9, 155
C
COM+ ( ト ラ ンザ ク シ ョ ナル コ ン ポーネ ン ト の
ためのデー タ ベース接続) 237
ConnectOption DBParm 内の SQL_OPT_
TRACEFILE パ ラ メ ー タ
PowerBuilder アプ リ ケーシ ョ ン ス ク リ プ ト へ
の追加 214
ConnectOption DBParm 内の SQL_OPT_TRACE パ
ラ メ ータ
PowerBuilder アプ リ ケーシ ョ ン ス ク リ プ ト で
の SQL_OPT_TRACE_OFF の変更 216
PowerBuilder アプ リ ケーシ ョ ン ス ク リ プ ト へ
の追加 214
ConnectString DBParm パ ラ メ ー タ
DSN (デー タ ソ ース名) 値 29
ODBC 接続 29
説明 29
デー タ ベース と の接続
251
索引
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス
DBParm 文字列の文字数制限 176
[JDBC コ ールを ト レース] チ ェ ッ ク ボ ッ ク ス
223
JDBC ド ラ イ バ マネージ ャ ト レース、 停止 227
[ODBC API 呼出の ト レース] チ ェ ッ ク ボ ッ ク ス
210
ODBC ド ラ イ バ マネージ ャ ト レース、 停止 216
[自動 コ ミ ッ ト モー ド ] チ ェ ッ ク ボ ッ ク ス 181
接続のための値の指定 11
説明 10
[ ト レース フ ァ イ ル] ボ ッ ク ス 223
[ ト レース の生成] チ ェ ッ ク ボ ッ ク ス 202
[プ レ ビ ュ ー] タ ブ 10, 158, 175, 176, 186, 199,
213, 225
プ ロ フ ァ イ ルの編集 159
分離レベル (Lock) 181
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス の [JDBC
コ ールを ト レース] チ ェ ッ ク ボ ッ ク ス 223
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス の [ODBC
API 呼出の ト レース] チ ェ ッ ク ボ ッ ク ス 210
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス の [ ト レー
ス フ ァ イ ル] ボ ッ ク ス 223
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス の [ ト レー
ス の生成] チ ェ ッ ク ボ ッ ク ス 202
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス の [ ト レー
スす る JDBC 呼び出 し ] チ ェ ッ ク ボ ッ ク ス
223
[DB プ ロ フ ァ イ ル] ボ タ ン 155
DB ラ イ ブ ラ リ の解放 7
DBConfigSection デー タ ベース パ ラ メ ー タ 68
DBMS
PBODB110 初期設定フ ァ イ ル内のエン ト リ 244,
248
シ ス テ ム テーブル、 表示 166
デー タ ベース プ ロ フ ァ イ ルの値 29
ト レース キーワ ー ド 、 PowerBuilder アプ リ ケー
シ ョ ン ス ク リ プ ト か ら の削除 203
ト レース キーワ ー ド 、 PowerBuilder アプ リ ケー
シ ョ ン ス ク リ プ ト への追加 200
ト レース キーワ ー ド 、 [プ レ ビ ュ ー] タ ブに表示
さ れ る 199
バ ッ ク エン ド 、 ODBC 関数の追加 244
DBMS 識別子
252
ASE 81
I10 105
IN9 105
O10 133
O84 133
O90 133
SNC 119
SYC 81
DBParm ト ラ ンザ ク シ ョ ン オブジ ェ ク ト プ ロ パ
テ ィ 177
DBParm パ ラ メ ー タ
ProfileString 関数を使用 し た読み込み 178
Sybase Open Client のセキ ュ リ テ ィ サービ ス
92
デー タ ベース プ ロ フ ァ イ ルの設定 10
[プ レ ビ ュ ー] タ ブの表示 10, 158
デー タ ベース パ ラ メ ー タ
[プ レ ビ ュ ー] タ ブの表示 175
DBTRACE.LOG フ ァ イ ル
コ メ ン ト の追加 204
削除ま たは消去 205
サンプル出力 205
書式 195
説明 192
内容 193
表示 204
開いた ま ま の 204
DECLARE PROCEDURE 文 142
DLL フ ァ イ ル
JDBC 接続 42
ODBC 接続 19
ODBC.DLL 19
ODBC32.DLL 19
PBODB110.DLL 19
デー タ ベース イ ン タ フ ェース接続 76
DSN (デー タ ソ ース名) 値、 ODBC 接続文字列
29
E
EAS Demo DB
19
PowerBuilder
索引
I
I10 DBMS 識別子 105
identity カ ラ ム と デー タ 型 (Sybase Adaptive Server
Enterprise) 82
identity カ ラ ム、 ADO.NET 68
IN9 DBMS 識別子 105
Informix ク ラ イ ア ン ト ソ フ ト ウ ェ ア 115, 105
Informix デー タ ベース イ ン タ フ ェース
I10 でサポー ト し てい る 機能 108
イ ン ス ト ール 116
サポー ト し てい る デー タ 型 106
接続 コ ン ポーネ ン ト 113
接続の確認 116
デー タ ベース の準備 114
サポー ト し てい る デー タ ベース 105
必要な ク ラ イ ア ン ト ソ フ ト ウ ェ ア 115
Informix の DateTime デー タ 型 107
Informix の interval デー タ 型 108
Informix の Time デー タ 型 107
PBSYC.SQL ス ク リ プ ト
ISQL で実行 101
ISQL、 ス ト ア ド プ ロ シージ ャ の イ ン ス ト ールに
使用 101
L
J
Java 仮想マシ ン、 イ ン ス ト ール 42
Java の Web サ イ ト 39
JDBC イ ン タ フ ェース
Java 仮想マシ ン 42
Java ク ラ ス パ ッ ケージ 42
PBJDB110.DLL 44
コ ン ポーネ ン ト 41
サポー ト さ れてい る デー タ 型 44
使用 41
接続パ ラ メ ー タ の指定 46
説明 39
デー タ ベース サーバの設定 45
ド ラ イ バ 43
必須 DLL フ ァ イ ル 42
レ ジ ス ト リ エン ト リ 43
JDBC 接続、 ト ラ ブルシ ュ ーテ ィ ン グ
デー タ ベース と の接続
JDBC デー タ ベース イ ン タ フ ェース、 ト ラ ブル
シ ュ ーテ ィ ン グ 222
JDBC ド ラ イ バ マネージ ャ ト レース
PowerBuilder ス ク リ プ ト での起動 224
PowerBuilder ス ク リ プ ト での停止 228
各種プ ラ ッ ト フ ォームでの利用可能性 222
説明 222
デー タ ベース プ ロ フ ァ イ ルでの停止 227
デー タ ベース プ ロ フ ァ イ ル内での起動 223
デフ ォ ル ト 以外の ロ グ フ ァ イ ルの指定 223
パフ ォーマ ン ス に関する 注意 222
[プ レ ビ ュ ー] タ ブに表示 さ れ る 構文 225
ロ グの表示 228
JDBC ド ラ イ バ、 ト ラ ブルシ ュ ーテ ィ ン グ 222
JDBC の Web サ イ ト 39
JDBC.LOG フ ァ イ ル
説明 222
デフ ォ ル ト 以外の ロ グ フ ァ イ ルを代わ り に使
用 223
パフ ォーマ ン ス に関する 注意 222
表示 228
開いた ま ま の 228
Lock 値 と 分離レベル、 デー タ ベース プ ロ フ ァ イ ル
での設定 181
Lock デー タ ベース環境設定項目
PowerBuilder ス ク リ プ ト での設定 186
[プ レ ビ ュ ー] タ ブの表示 186
Lock デー タ ベース環境設定項目、 デー タ ベース プ
ロ フ ァ イ ルでの設定 181
Lock ト ラ ンザ ク シ ョ ン オブジ ェ ク ト プ ロ パテ ィ
188
LOG フ ァ イ ル
JDBC ド ラ イ バ マネージ ャ ト レース のデフ ォ ル
ト 以外の設定 223
JDBC.LOG 222, 228
PBTRACE.LOG 192, 204
SQL.LOG 209, 217
222
253
索引
M
Microsoft SQL Native Client デー タ ベース イ ン タ フ ェー
ス
イ ン ス ト ール 125
サポー ト し てい る デー タ 型 120
サポー ト し てい る バージ ョ ン 119
接続 コ ン ポーネ ン ト 122
接続の確認 125
定義 125
デー タ ベース の準備 123
必要な ク ラ イ ア ン ト ソ フ ト ウ ェ ア 124
Microsoft Universal Data Access Web サ イ ト 49, 59
Microsoft デー タ リ ン ク 、 ADO.NET イ ン タ フ ェース で
使用 68
Microsoft デー タ リ ン ク 、 OLE DB イ ン タ フ ェース で
使用 58
N
NewLogic、 デー タ ベース プ ロ フ ァ イ ルの設定
13
O
O10 DBMS 識別子 133
O10 Oracle 10g ド ラ イ バ 133
O84 DBMS 識別子 133
O84 Oracle 8.0.4 ド ラ イ バ 133
O90 DBMS 識別子 133
O90 Oracle 9i ド ラ イ バ 133
ODBC 25
ODBC イ ン タ フ ェース
ODBC 初期設定フ ァ イ ル 28
ODBCINST 初期設定フ ァ イ ル 28
使用 19
説明 18
デー タ ソ ースへの接続 155
ト ラ ブルシ ュ ーテ ィ ン グ 192, 209
必須 DLL フ ァ イ ル 19
必要な初期設定フ ァ イ ル 27
ODBC イ ン タ フ ェース、PBODB110 初期設定フ ァ イ ル
243
ODBC 関数
254
PBODB110 初期設定フ ァ イ ル内の新 し いセ ク
シ ョ ンへの追加 247
PBODB110 初期設定フ ァ イ ル内の既存のセ ク
シ ョ ンへの追加 244
ODBC 初期設定フ ァ イ ル
お よ び PBODB110 初期設定フ ァ イ ル 248
説明 28
ODBC 接続文字列
DSN (デー タ ソ ース名) 値 29
説明 29
ODBC デー タ ソ ース
ODBC 初期設定フ ァ イ ル 28
ODBC 接続 19
ODBCINST 初期設定フ ァ イ ル 28
PBODB110 初期設定フ ァ イ ル 243
Sybase SQL Anywhere 32
ア ク セ ス 27
コ ン フ ィ グ レーシ ョ ン と デー タ ベース プ ロ フ ァ
イ ルの作成 27
準備 26
定義 27
デー タ ベース プ ロ フ ァ イ ルの共有 160
デー タ ベース プ ロ フ ァ イ ルの編集 159
ト ラ ブルシ ュ ーテ ィ ン グ 192, 209
ト ラ ン ス レー タ 、 ド ラ イ バに対する 選択 31
複数の定義 30
ODBC デー タ ソ ース の準備
Sybase SQL Anywhere 34
説明 26
ODBC デー タ ソ ース の定義
Sybase SQL Anywhere 35
コ ン フ ィ グ レーシ ョ ン と デー タ ベース プ ロ フ ァ
イ ルの作成 27
説明 27
デー タ ベース プ ロ フ ァ イ ルの共有 160
デー タ ベース プ ロ フ ァ イ ルの編集 159
複数のデー タ ソ ース 30
ODBC ド ラ イ バ
API 合致レベル 24
ODBC 初期設定フ ァ イ ル 28
ODBC 接続 19
ODBCINST 初期設定フ ァ イ ル 28
PBODB110 初期設定フ ァ イ ル 243
PowerBuilder
索引
SQL 合致レベル 24
Sybase SQL Anywhere 32
合致レベル、 推奨 23
使用 19
説明 18
ト ラ ブルシ ュ ーテ ィ ン グ 192, 209
ト ラ ン ス レー タ 、 選択 31
複数層 22
ヘルプの表示 17, 25, 31
ODBC ド ラ イ バ マネージ ャ 19
ODBC ド ラ イ バ マネージ ャ ト レース
PowerBuilder ス ク リ プ ト での起動 212
PowerBuilder ス ク リ プ ト での停止 216
サンプル出力 218
説明 209
デー タ ベース プ ロ フ ァ イ ルでの停止 216
デー タ ベース プ ロ フ ァ イ ル内での起動 210
パフ ォーマ ン ス に関す る 注意 210
[プ レ ビ ュ ー] タ ブに表示 さ れ る 構文 213
ロ グの表示 217
ODBC ド ラ イ バの合致レベル
ODBC API 24
SQL 24
推奨 23
ODBC の API 合致レベル 24
ODBC の SQL 合致レベル 24
ODBC の拡張 SQL 合致レベル 24
ODBC の コ ア API 合致レベル 24
ODBC の最小 SQL 合致レベル 24
ODBC の レベル 1 API 合致レベル 24
ODBC.DLL フ ァ イ ル 19
ODBC32.DLL フ ァ イ ル 19
ODBCINST 初期設定フ ァ イ ル 28
OLE DB イ ン タ フ ェ ース 50
PBOLE110.DLL 54
コ ン ポーネ ン ト 53
サポー ト し てい る オブジ ェ ク ト イ ン タ フ ェー
ス 50
接続パ ラ メ ー タ の指定 57
デー タ プ ロ バ イ ダ 50
デー タ プ ロ バ イ ダの イ ン ス ト ール 56, 57
デー タ プ ロ バ イ ダの入手、 ほかのベン ダ 54
デー タ リ ン ク の使用 58
デー タ ベース と の接続
ヘルプ情報の入手 49
Open Client ソ フ ト ウ ェ ア、 Sybase 55, 66, 87
Open Database Connectivity (ODBC)
ODBC 初期設定フ ァ イ ル 28
ODBCINST 初期設定フ ァ イ ル 28
コ ン ポーネ ン ト 19
説明 18
デー タ ソ ース の定義 27
ド ラ イ バの合致レベル 23
ト ラ ン ス レー タ 、 ド ラ イ バに対する 選択 31
複数のデー タ ソ ース の定義 30
デー タ ソ ース の準備 26
Oracle SQL*Net ク ラ イ ア ン ト ソ フ ト ウ ェ ア 139
Oracle ス ト ア ド プ ロ シージ ャ (LOB 出力パ ラ メ ー
タ の使用) 147
Oracle デー タ ベース イ ン タ フ ェース
Oracle ス ト ア ド プ ロ シージ ャ の使用 142
サポー ト し てい る デー タ 型 134
サポー ト し てい る バージ ョ ン 133
接続コ ン ポーネ ン ト 138
接続の確認 140
接続文字列ま たは記述子、 指定 141
定義 141
デー タ ベース の準備 138
必要な ク ラ イ ア ン ト ソ フ ト ウ ェ ア 139
P
pbcatcol テーブル 168
pbcatedt テーブル 168
pbcatfmt テーブル 168
pbcattbl テーブル 168
pbcatvld テーブル 168
PBIN9110.DLL フ ァ イ ル 113
PBJDB110.DLL 44
PBO10110.DLL フ ァ イ ル 133
PBO84110.DLL フ ァ イ ル 133
PBO90110.DLL フ ァ イ ル 133
PBODB110 初期設定フ ァ イ ル
ODBC 初期設定フ ァ イ ル内での DBMS セ ク
シ ョ ンの名前の検索 248
新 し いセ ク シ ョ ンへの関数の追加 247
英字の大文字 と 小文字の区別 247, 249
255
索引
既存のセ ク シ ョ ンへの関数の追加 244
説明 243
特殊な timestamp カ ラ ムのサポー ト 38
PBODB110.DLL フ ァ イ ル 19
PBOLE110.DLL フ ァ イ ル 54
PBSNC110.DLL フ ァ イ ル 122
PBSYC.SQL ス ク リ プ ト
PBSYC2.SQL ス ク リ プ ト と の比較 101
WISQL で実行 102
実行す る タ イ ミ ン グ 98
説明 98
保存場所 98
PBSYC2.SQL ス ク リ プ ト
ISQL で実行 101
PBSYC.SQL ス ク リ プ ト と の比較 101
WISQL で実行 102
実行す る タ イ ミ ン グ 100
説明 100
保存場所 98
PowerBuilder 初期設定フ ァ イ ル
共有時のデー タ ベース プ ロ フ ァ イ ルの場所の指定
160
PowerBuilder Desktop
デー タ ベース イ ン タ フ ェ ース、 サポー ト し ていな
い 75
PowerBuilder 初期設定フ ァ イ ル
共有デー タ ベース プ ロ フ ァ イ ルのデー タ ベース環
境設定項目の設定 161
共有デー タ ベース プ ロ フ ァ イ ルの ロ ーカルな保存
163
説明 159
パ ス ワー ド の表示の抑制 158
PowerScript 構文、 [プ レ ビ ュ ー] タ ブ 12
ProfileString 関数
ス ク リ プ ト での AutoCommit と Lock の設定 189
ス ク リ プ ト での DBParm パ ラ メ ー タ の設定 178
ス ク リ プ ト での JDBC ド ラ イ バ マネージ ャ ト レー
ス の起動 226
ス ク リ プ ト での ODBC ド ラ イ バ マネージ ャ ト レー
ス の起動 215
ス ク リ プ ト での ODBC ド ラ イ バ マネージ ャ ト レー
ス の停止 217, 228
ス ク リ プ ト でのデー タ ベース ト レース の起動
256
201
ス ク リ プ ト でのデー タ ベース ト レース の停止
203
R
RPCFUNC キーワ ー ド
142
S
scope_identity、 ADO.NET で使用 68
SERVER デ ィ レ ク ト リ フ ァ イ ル
Adaptive Server Enterprise デー タ ベース におけ る
ス ト ア ド プ ロ シージ ャ の イ ン ス ト ール 98
SNC DBMS 識別子 119
sp_pb110table ス ト ア ド プ ロ シージ ャ
PBSYC.SQL ス ク リ プ ト 99
PBSYC2.SQL ス ク リ プ ト 101
SQL Anywhere ODBC 設定 ダ イ ア ロ グボ ッ ク ス
35
SQL Server ス ト ア ド プ ロ シージ ャ の PRINT 文 96
SQL 構文の終止符、 デー タ ベース ペ イ ン タ 内での
変更 143, 183
SQL フ ァ イ ル
PBSYC.SQL 98
PBSYC2.SQL 100
SQL*Net ク ラ イ ア ン ト ソ フ ト ウ ェ ア、 Oracle 139
SQL.LOG フ ァ イ ル
サンプル出力 218
説明 209
パフ ォーマ ン ス に関す る 注意 210
表示 217
開いた ま ま の 217
SQLCA ト ラ ンザ ク シ ョ ン オブジ ェ ク ト
AutoCommit プ ロ パテ ィ の設定 188
ConnectOption DBParm の設定 214
DBMS プ ロ パテ ィ の ト レース キーワー ド 200,
203
DBParm プ ロ パテ ィ の設定 177
Lock プ ロ パテ ィ の設定 188
TraceFile DBParm の設定 226
Sybase SQL Anywhere
PowerBuilder
索引
PBODB110 初期設定フ ァ イ ルへの関数の追加
244
Sybase Adaptive Server Anywhere、 Sybase SQL
Anywhere を参照
Sybase Adaptive Server Enterprise 対応の CT-Library
ク ラ イ ア ン ト ソ フ ト ウ ェ ア 87
Sybase Adaptive Server Enterprise デー タ ベース イ
ン タ フ ェ ース
EAServer の SYJ デー タ ベース イ ン タ フ ェ ース
を使用 82
IDENTITY カ ラ ム 82
異種デー タ ベース間の結合に基づ く デー タ
ウ ィ ン ド ウ の作成 97
イ ン ス ト ール 88
サポー ト し てい る デー タ 型 82
サポー ト し てい る バージ ョ ン 81, 82
サポー ト し てい る プ ラ ッ ト フ ォーム 81, 82
ス ト ア ド プ ロ シージ ャ の イ ン ス ト ール 97
セキ ュ リ テ ィ サービ ス、 使用 90
接続の確認 88
定義 89
デ ィ レ ク ト リ サービ ス、 使用 93
デー タ ベース の準備 55, 66, 86
必要な ク ラ イ ア ン ト ソ フ ト ウ ェ ア 55, 66, 87
Sybase Adaptive Server Enterprise 用 CT-Library ク ラ
イ ア ン ト ソ フ ト ウ ェ ア 81
Sybase SQL Anywhere
LOG フ ァ イ ル 35
Sybase EAServer ( ト ラ ンザ ク シ ョ ナル コ ン ポー
ネ ン ト のためのデー タ ベース接続) 233
Sybase Open Client ソ フ ト ウ ェ ア 55, 66
説明 87
Sybase Open Client デ ィ レ ク ト リ サービ ス に対す
る DIT ベース 94
Sybase Open Client のセキ ュ リ テ ィ サービ ス
DBParm パ ラ メ ー タ 、 パケ ッ ト 単位のセキ ュ
リ テ ィ 92
DBParm パ ラ メ ー タ 、 ロ グ イ ン認証 92
使用条件 90
説明 90
Sybase Open Client のデ ィ レ ク ト リ サービ ス
DBParm パ ラ メ ー タ 96
サーバ名の指定 94
デー タ ベース と の接続
使用条件 93
説明 93
Sybase SQL Anywhere
開始オプシ ョ ン、 指定 36
コ ン フ ィ グ レーシ ョ ン と デー タ ベース プ ロ
フ ァ イ ルの作成 27
サポー ト し てい る バージ ョ ン 33
サポー ト し てい る プ ラ ッ ト フ ォーム 33
使用 19
使用する ための準備 34
接続コ ン ポーネ ン ト 33
デー タ ソ ース の定義 35
特殊な timestamp カ ラ ム 37
ネ ッ ト ワ ー ク サーバ、 含ま ない 32
リ モー ト デー タ ベースへのア ク セ ス 32
Sybase SQL Anywhere Transact-SQL の特殊な
timestamp 37
Sybase System 対応の CT-Library ク ラ イ ア ン ト ソ フ
ト ウ ェ ア 55, 66
Sybase、 ヘルプ情報の入手 25
sybsystemprocs デー タ ベース、 Sybase Adaptive
Server Enterprise 101, 103
SYC DBMS 識別子 81
T
timestamp、 Transact-SQL の特殊な
37
U
Unicode
Adaptive Server 83
ADO.NET 60
ODBC 18, 43
OLE DB 53
Oracle8i 135
Oracle9i、 Oracle 10g 135
サポー ト 18, 43
デー タ ベース パ ス ワー ド の暗号化 13
UNIX、 Adaptive Server の SYJ デー タ ベース イ ン タ
フ ェ ース の使い方 82
257
索引
W
か
WISQL、 ス ト ア ド プ ロ シージ ャ の イ ン ス ト ール
102
拡張属性シ ス テ ム テーブル
DB 環境設定 [拡張属性の使用] に よ る 作成の
制御 170
DB 環境設定 [読み と り 専用] に よ る 更新の制
御 170
ア ク セ ス権の制御 171
正確な作成の保証 165
説明 165
内容 168
表示 166
拡張属性シ ス テ ム テーブルに対す る ア ク セ ス権の
指定 171
カラム
identity、 Sybase Adaptive Server Enterprise 82
SQL 命名規約 26
拡張属性シ ス テ ム テーブル内の 168
特殊な timestamp、 Sybase SQL Anywhere 37
関数、 ODBC
PBODB110 初期設定フ ァ イ ル内の新 し いセ ク
シ ョ ンへの追加 247
PBODB110 初期設定フ ァ イ ル内の既存のセ ク
シ ョ ンへの追加 244
あ
ア ク セ ス権、 シ ス テ ム テーブルに対す る 指定 171
アプ リ ケーシ ョ ン
AutoCommit と Lock の設定 189
DBParm パ ラ メ ー タ の設定 176, 178
JDBC 接続の ト レース 224
ODBC 接続 19
ODBC 接続の ト レース 212
デー タ ベース イ ン タ フ ェ ース接続 76
デー タ ベース環境設定項目の設定 186
デー タ ベースへの接続 186
任意のデー タ ベースへの接続の ト レース 199
[プ レ ビ ュ ー] タ ブ を使用 し て ト レース オプシ ョ ン
を設定す る 方法 199, 213, 225
[プ レ ビ ュ ー] タ ブを使用 し た接続オプシ ョ ンの設
定 10, 158, 175, 176, 186
い
異種デー タ ベース間の結合
印刷上の表記規則 x
イ ン ス ト ール
Java 仮想マシ ン 42
き
97
え
英字の大文字 と 小文字の区別、 PBODB110 初期設定
フ ァ イ ル内の 247, 249
お
大 き なデー タ 型 (SQL Server)
258
121
起動
PowerBuilder アプ リ ケーシ ョ ン での JDBC ド ラ
イ バ マネージ ャ ト レース 224
PowerBuilder アプ リ ケーシ ョ ン での ODBC ド ラ
イ バ マネージ ャ ト レース 212
PowerBuilder アプ リ ケーシ ョ ンにおけ る デー タ
ベース ト レース 198
開発環境におけ る JDBC ド ラ イ バ マネージ ャ
ト レース 223
基本手順
DBParm パ ラ メ ー タ の設定 175
JDBC ド ラ イ バ マネージ ャ ト レース の起動
224
JDBC ド ラ イ バ マネージ ャ ト レース の停止
227
PowerBuilder
索引
ODBC デー タ ソ ース の準備 26
ODBC ド ラ イ バ マネージ ャ ト レース の起動
212
ODBC ド ラ イ バ マネージ ャ ト レース の停止
215
接続手順 3
デー タ ベース イ ン タ フ ェース で使用す る ため
のデー タ ベース の準備 78
デー タ ベース イ ン タ フ ェース の定義 79
デー タ ベース ト レース の停止 202
デー タ ベース パ ラ メ ー タ の設定 173
デー タ ベース プ ロ フ ァ イ ルの イ ン ポー ト お よ
びエ ク ス ポー ト 164
デー タ ベース プ ロ フ ァ イ ルの共有 160
デー タ ベース プ ロ フ ァ イ ルの選択に よ る 接続
155
デー タ ベース プ ロ フ ァ イ ルの編集 159
デー タ ベース環境設定項目の設定 173, 179
共有デー タ ベース プ ロ フ ァ イ ル
DB プ ロ フ ァ イ ル ダ イ ア ロ グ ボ ッ ク ス での選
択 162
管理 163
共有デー タ ベース プ ロ フ ァ イ ルのデー タ ベー
ス環境設定項目の設定 161
設定 160
ロ ーカルな初期設定フ ァ イ ルへの保存 163
共有デー タ ベース プ ロ フ ァ イ ルの管理 163
共有デー タ ベース プ ロ フ ァ イ ルのデー タ ベース
環境設定項目 183
け
結果集合、 Oracle ス ト ア ド プ ロ シージ ャ の使用
143
さ
サーバ名、 Sybase Open Client デ ィ レ ク ト リ サービ
ス に対する 指定 94
し
シ ス テ ム テーブル チ ェ ッ ク ボ ッ ク ス の表示 166
シ ス テ ム テーブル、 表示 166
[自動コ ミ ッ ト モー ド ] チ ェ ッ ク ボ ッ ク ス、 DB プ
ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス 181
初期設定フ ァ イ ル
DBMS 値の読み込み 201, 203
DBMS_PROFILES セ ク シ ョ ン 163
DBParm 値の読み込み 178, 215, 217, 226, 228
ODBC 28
ODBC 接続 27
ODBCINST 28
PBODB110、 関数の追加 243
共有時のデー タ ベース プ ロ フ ァ イ ルの場所の
指定 160
接続パ ラ メ ー タ の格納 157
接続パ ラ メ ー タ の保存 13
パス ワ ー ド の表示の抑制 158
初期設定フ ァ イ ル内のデー タ ベース セ ク シ ョ ン
157
く
ク ラ イ アン ト ソ フ ト ウ ェア
Informix 115
Microsoft SQL Server 124
Oracle 139
Sybase Adaptive Server Enterprise
Informix 105
デー タ ベース と の接続
す
87
ス ク リ プ ト 、 PowerBuilder
DBParm 値の設定 176
JDBC ド ラ イ バ マネージ ャ ト レース の起動
224
ODBC ド ラ イ バ マネージ ャ ト レース の起動
212
ProfileString 関数を使用 し た読み込み 178, 189
デー タ 型変換 85
259
索引
デー タ ベース ト レース の起動 198
デー タ ベース環境設定項目の設定 186
[プ レ ビ ュ ー] タ ブ を使用 し て ト レース オプシ ョ ン
を設定す る 方法 199, 213, 225
[プ レ ビ ュ ー] タ ブを使用 し た接続オプシ ョ ンの設
定 10, 158, 175, 176, 186
ス ト ア ド プ ロ シージ ャ
Adaptive Server Enterprise デー タ ベースへの イ ン ス
ト ール 97
ISQL、 イ ン ス ト ールに使用 101
Microsoft SQL Server デー タ ベース イ ン タ フ ェース
に必要な し 97
PBSYC.SQL ス ク リ プ ト に よ る 作成 99
PBSYC2.SQL ス ク リ プ ト に よ る 作成 101
WISQL、 イ ン ス ト ールに使用 102
ス ク リ プ ト の実行 101
ス ク リ プ ト の保存場所 98
説明 98
ス ト ア ド プ ロ シージ ャ 、 Oracle
SQL 終止符の変更 143, 183
結果集合、 使用 143
結果集合、 例 144
説明 142
デー タ ウ ィ ン ド ウ オブジ ェ ク ト と レ ポー ト の作成
146
ス ト ア ド プ ロ シージ ャ 、 SQL Server、 PRINT 文の使い
方 96
せ
セキ ュ リ テ ィ サービ ス、 Sybase Open Client、 Sybase
Open Client セキ ュ リ テ ィ サービ ス を参照
接続記述子、 Oracle
構文 と 例 141
説明 141
接続文字列、 ODBC
DSN (デー タ ソ ース名) 値 29
説明 29
接続文字列、 Oracle 141
セ ミ コ ロ ン、 デフ ォ ル ト の SQL 終止符 143
260
て
停止
ODBC ド ラ イ バ マネージ ャ ト レース 215
PowerBuilder アプ リ ケーシ ョ ン での JDBC ド ラ
イ バ マネージ ャ ト レース 228
PowerBuilder アプ リ ケーシ ョ ン での ODBC ド ラ
イ バ マネージ ャ ト レース 216
PowerBuilder アプ リ ケーシ ョ ンにおけ る デー タ
ベース ト レース 203
開発環境におけ る JDBC ド ラ イ バ マネージ ャ
ト レース 227
開発環境におけ る ODBC ド ラ イ バ マネージ ャ
ト レース 216
デ ィ レ ク ト リ サービ ス、 Sybase Open Client、
Sybase Open Client デ ィ レ ク ト リ サービ ス を
参照
デー タ プ ロ バ イ ダ、 OLE DB イ ン タ フ ェース 50
デー タ プ ロ バ イ ダ、 入手 54
デー タ 型
Adaptive Server 82
Informix 106
Microsoft SQL Server 120
Oracle 134
PowerBuilder ス ク リ プ ト での型変換 85
SQL Server 120
Sybase Adaptive Server Enterprise 82
特殊な timestamp、 Transact-SQL 37
デー タ ベース
ア ク セ ス 27
起動時ま たはペ イ ン タ か ら の接続 154
基本的な接続手順 3
接続 タ イ ミ ン グ 3
デー タ ベース イ ン タ フ ェース接続 76
デー タ ベース プ ロ フ ァ イ ルに よ る 接続 154,
155
初めての ロ グ イ ン 165
デー タ ベース イ ン タ フ ェース
Informix 105
JDBC 40
Microsoft SQL Server 119
Oracle 133
PowerBuilder Desktop でサポー ト さ れていない
75
PowerBuilder
索引
Sybase Adaptive Server Enterprise 81
接続 コ ン ポーネ ン ト 76
説明 76
定義 79
デー タ ベース プ ロ フ ァ イ ルの イ ン ポー ト お よ
びエ ク ス ポー ト 164
デー タ ベース プ ロ フ ァ イ ルの共有 160
デー タ ベース プ ロ フ ァ イ ルの作成 8, 27
デー タ ベース プ ロ フ ァ イ ルの編集 159
デー タ ベース の準備 78
デー タ ベースへの接続 155
ト ラ ブルシ ュ ーテ ィ ン グ 192
デー タ ベース イ ン タ フ ェース で使用す る ための
デー タ ベース の準備
INFORMIX 114
Microsoft SQL Server 123
Oracle 138
Sybase Adaptive Server Enterprise 86
説明 78
デー タ ベース イ ン タ フ ェース の定義
Microsoft SQL Server 125
Oracle 141
Sybase Adaptive Server Enterprise 89
説明 79
デー タ ベース プ ロ フ ァ イ ルの イ ン ポー ト お よ
びエ ク ス ポー ト 164
デー タ ベース プ ロ フ ァ イ ルの共有 160
デー タ ベース プ ロ フ ァ イ ルの編集 159
デー タ ベース ト レース
PowerBuilder ス ク リ プ ト での起動 198
PowerBuilder ス ク リ プ ト での停止 203
サンプル出力 205
説明 192
[プ レ ビ ュ ー] タ ブに表示 さ れ る 構文 199
ロ グ フ ァ イ ルの書式 195
ロ グ フ ァ イ ルの内容 193
ロ グの削除ま たは消去 205
ロ グの表示 204
ロ グへの コ メ ン ト の追加 204
デー タ ベース パ ラ メ ー タ
ConnectString 29
ODBC 接続 29
PowerBuilder ス ク リ プ ト での設定 176
デー タ ベース と の接続
Sybase Open Client のデ ィ レ ク ト リ サービ ス
96
設定方法 173
デー タ ベース プ ロ フ ァ イ ル内の文字列の文字
数制限 176
[プ レ ビ ュ ー] タ ブの表示 176
デー タ ベース プ ロ フ ァ イ ル
DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス 9
DB プ ロ フ ァ イ ル ダ イ ア ロ グボ ッ ク ス での選択
155
DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グボ ッ ク ス 10
DBParm パ ラ メ ー タ の設定 10
DBParm 文字列の文字数制限 176
JDBC ド ラ イ バ マネージ ャ ト レース、 起動
223
JDBC ド ラ イ バ マネージ ャ ト レース、 停止
227
Microsoft SQL Native Client デー タ ベース イ ン タ
フ ェ ース 125
ODBC デー タ ソ ース の DBMS 値 29
ODBC デー タ ソ ース の接続文字列 29
ODBC ド ラ イ バ マネージ ャ ト レース、 停止
216
Oracle デー タ ベース イ ン タ フ ェース 141
Sybase Adaptive Server Enterprise デー タ ベース
イ ン タ フ ェ ース 89
Sybase Open Client デ ィ レ ク ト リ サービ ス に対
する サーバ名 94
イ ン ポー ト お よ びエ ク ス ポー ト 164
エ ク ス ポー ト 164
共有 160
共有、 管理 163
共有、 接続時の選択 162
共有、 設定 160
共有、 ロ ーカルな初期設定フ ァ イ ルへの保存
163
作成 8
使用する 理由 154
説明 8, 154
デー タ ベース環境設定項目の設定 10
パス ワ ー ド の表示の抑制 158
[分離レベル] お よ び [自動コ ミ ッ ト モー ド ]
261
索引
の設定 181
編集 159
デー タ ベース プ ロ フ ァ イ ルのエ ク ス ポー ト 164
デー タ ベース環境設定項目
DB 環境設定 ダ イ ア ロ グボ ッ ク ス での設定 182
PowerBuilder ス ク リ プ ト での設定 186
ProfileString 関数を使用 し た読み込み 189
[拡張属性の使用] 170, 183
共有 DB プ ロ フ ァ イ ル 161, 183
自動 コ ミ ッ ト モー ド (AutoCommit) 181, 186
設定方法 173
デー タ ベース プ ロ フ ァ イ ルで設定 181
デー タ ベース プ ロ フ ァ イ ルの設定 10
[プ レ ビ ュ ー] タ ブでの AutoCommit お よ び Lock
の表示 186
分離レベル (Lock) 186
[読み取 り 専用] 170, 183
[DB の接続を保持] 183
[SQL 構文の終止符] 183
分離レベル (Lock) 181
デー タ ベース と の接続の ト ラ ブルシ ュ ーテ ィ ン グ
JDBC ド ラ イ バ マネージ ャ ト レース 222
ODBC ド ラ イ バ マネージ ャ ト レース 209
説明 191
デー タ ベース ト レース 192
デー タ ベース と の接続の ト レース
JDBC ド ラ イ バ マネージ ャ ト レース 222
ODBC ド ラ イ バ マネージ ャ ト レース 209
サンプル出力、 ODBC ド ラ イ バ マネージ ャ ト レー
ス 218
サンプル出力、 デー タ ベース ト レース 205
説明 191
デー タ ベース ト レース 192
デー タ ベース パ ラ メ ー タ
DBConfigSection 68
デー タ ベースペ イ ン タ 、 SQL 終止符の変更 143
デー タ ベースへのア ク セ ス
JDBC 接続の ト ラ ブルシ ュ ーテ ィ ン グ 222
ODBC 接続の ト ラ ブルシ ュ ーテ ィ ン グ 209
ODBC デー タ ソ ース 27
任意の接続の ト ラ ブルシ ュ ーテ ィ ン グ 192
デー タ ベースへの接続
JDBC 接続の ト ラ ブルシ ュ ーテ ィ ン グ 222
262
ODBC 接続の ト ラ ブルシ ュ ーテ ィ ン グ 209
アプ リ ケーシ ョ ン実行中の 186
概要 13
拡張属性シ ス テ ム テーブルの作成 165
起動時ま たはペ イ ン タ か ら の 154
基本的な接続手順 3
接続 タ イ ミ ン グ 3
説明 153, 157
デー タ ベース プ ロ フ ァ イ ルの選択に よ る 155
デー タ ベース プ ロ フ ァ イ ルの使い方 154
任意の接続の ト ラ ブルシ ュ ーテ ィ ン グ 192
デー タ ベースへの初めての ロ グ イ ン 165
デー タ ベース を Sybase Adaptive Server Enterprise で
使用す る ための準備 55, 66
テーブル
SQL 命名規約 26
拡張属性内の 168
シ ス テ ム、 表示 166
テーブル と カ ラ ムの SQL 命名規約 26
テーブル と カ ラ ムの命名規約 26
テーブルの選択 ダ イ ア ロ グボ ッ ク ス、 [シ ス テ ム
テーブルを表示] チ ェ ッ ク ボ ッ ク ス 166
テ ク ニ カル ド キ ュ メ ン ト 、 Sybase、 ヘルプの使用
17, 79
手順、 基本
DBParm パ ラ メ ー タ の設定 173, 175
JDBC ド ラ イ バ マネージ ャ ト レース の停止
227
ODBC デー タ ソ ース の準備 26
ODBC ド ラ イ バ マネージ ャ ト レース の停止
215
接続手順 3
デー タ ベース イ ン タ フ ェース で使用す る ための
デー タ ベース の準備 78
デー タ ベース イ ン タ フ ェース の定義 79
デー タ ベース ト レース の停止 202
デー タ ベース プ ロ フ ァ イ ルの イ ン ポー ト お よ び
エ ク ス ポー ト 164
デー タ ベース プ ロ フ ァ イ ルの共有 160
デー タ ベース プ ロ フ ァ イ ルの選択に よ る 接続
155
デー タ ベース プ ロ フ ァ イ ルの編集 159
デー タ ベース環境設定項目の設定 173, 179
PowerBuilder
索引
と
ト ラ ンザ ク シ ョ ナル コ ン ポーネ ン ト のための
デー タ ベース接続 233
ト ラ ンザ ク シ ョ ン オブジ ェ ク ト 、 SQLCA
AutoCommit プ ロ パテ ィ の設定 188
ConnectOption DBParm の設定 214
DBMS プ ロ パテ ィ の ト レース キー ワー ド
200, 203
DBParm プ ロ パテ ィ の設定 177
Lock プ ロ パテ ィ の設定 188
TraceFile DBParm の設定 226
ト ラ ン ス レー タ の選択 ダ イ ア ロ グボ ッ ク ス 31
ト ラ ン ス レー タ 、 ODBC 31
ト レース キー ワー ド
PowerBuilder アプ リ ケーシ ョ ン ス ク リ プ ト か
ら の削除 203
PowerBuilder アプ リ ケーシ ョ ン ス ク リ プ ト へ
の追加 200
[プ レ ビ ュ ー] タ ブの表示 199
に
入力条件則、 拡張属性シ ス テ ム テーブル内
168
は
パ ス ワ ー ド 、 初期設定フ ァ イ ルでの表示の抑制
158
ひ
表記規則 x
表示書式、 拡張属性シ ス テ ム テーブル内の
168
186
DBParm パ ラ メ ー タ の コ ピー 175, 176
DBParm プ ロ パテ ィ の コ ピー 10, 158
JDBC ド ラ イ バ マネージ ャ ト レース構文の コ
ピー 225
ODBC ド ラ イ バ マネージ ャ ト レース構文の コ
ピー 213
説明 10, 12, 158, 175, 176
デー タ ベース ト レース構文の コ ピー 199
プ ロ フ ァ イ ル、 デー タ ベース デー タ ベース プ ロ
フ ァ イ ルを参照 8
分離レベル と Lock 値、 デー タ ベース プ ロ フ ァ イ
ルでの設定 181
[分離レベル] ボ ッ ク ス、 DB プ ロ フ ァ イ ル設定 ダ
イ ア ロ グボ ッ ク ス 181
へ
ヘルプ 25
Java の Web サ イ ト 39
JDBC ド ラ イ バ マネージ ャ ト レース、 使用
222
JDBC の Web サ イ ト 39, 59
Microsoft Universal Data Access 49, 59
ODBC ド ラ イ バ 25, 31
ODBC ド ラ イ バ マネージ ャ ト レース、 使用
209
Sybase の Web サ イ ト 49
オン ラ イ ン ヘルプ、 使用 17, 25
デー タ ソ ース 17
デー タ ベース ト レース、 使用 192
編集
PBODB110 初期設定フ ァ イ ル 243
共有デー タ ベース プ ロ フ ァ イ ル 163
デー タ ベース プ ロ フ ァ イ ル 159
編集様式、 拡張属性シ ス テ ム テーブル内の 168
ふ
複数層 ODBC ド ラ イ バ 22
複数の ODBC デー タ ソ ース、 定義 30
[プ レ ビ ュ ー] タ ブ
AutoCommit お よ び Lock プ ロ パテ ィ の コ ピー
デー タ ベース と の接続
ら
ラ ージ オブジ ェ ク ト 、 Oracle ス ト ア ド プ ロ シー
ジ ャ の出力パ ラ メ ー タ 147
263
索引
れ
レ ジ ス ト リ 、 Windows
ODBC 初期設定フ ァ イ ル 28
ODBCINST 初期設定フ ァ イ ル
264
28
PowerBuilder
Fly UP