2.3.3 DABrokerドライバのデータソースと通信ドライバの設定
DABrokerドライバ(DBPARTNER/Serverドライバ)は,DABrokerを経由してデータベースにアクセスするときに必要です。
DABrokerドライバをインストールして環境を設定する方法について説明します。
-
データソースのセットアップ
接続先サーバのセンタ名称を「データソース名」としてODBCドライバに登録します。また,接続先サーバのホスト名称,使う通信ドライバ,応答監視時間を設定します。使える通信ドライバは「Windows Sockets」だけです。
-
通信ドライバの環境設定
DABrokerドライバ(DBPARTNER/Serverドライバ)は,TCP/IPを使用してサーバプログラムと通信しています。そのため,TCP/IPに関する通信ドライバの環境を,次の手順に従って設定してください。
-
ホスト名称とインターネットアドレスの登録
hostsファイルに,接続するサーバのホスト名称とインターネットアドレスを登録します。ホスト名称には,[DBPARTNER ODBC Driver for DABroker−セットアップ−]ダイアログボックスで指定するホスト名称を指定します。ホスト名称の登録方法については,通信ドライバのマニュアルを参照してください。
-
ポート番号の登録
servicesファイルに,接続するサーバのサービス名,ポート番号および通信プロトコル種別を登録します。
ポート番号に登録する内容を次に示します。
サービス名:DBPARTNER_SV
ポート番号:XXXXX
通信プロトコル種別:tcp
(登録例)DBPARTNER_SV 40179/tcp
XXXXX:サーバ側のservicesファイルに定義されているDABROKER_SVの値と一致させます。DABROKER_SVの値が40179の場合,DBPARTNER_SVの登録を省略できます。
-
DABrokerドライバ(DBPARTNER/Serverドライバ)のセットアップ手順を図2-2に示します。
(1) データソースのセットアップ(新規追加)
DABrokerドライバ(DBPARTNER/Serverドライバ)を使うときに,データソースを新規で追加する手順を説明します。
データソースをセットアップするときは,ODBC接続を定義する画面([ODBCデータソースアドミニストレータ]ダイアログボックス)を開いてください。
(a) [DBPARTNER ODBC Driver for DABroker −セットアップ−]ダイアログボックスに項目を設定
サーバにアクセスするために,接続先のサーバのセンタ名称を「データソース名」としてODBCドライバに追加します。同時に接続先の環境を設定します。
-
[ODBCデータソースアドミニストレータ]ダイアログボックスの[追加(D)...]ボタンをクリックします。[データソースの新規作成]ダイアログボックスが表示されます。
-
使う通信ドライバに応じてODBCドライバの中から選んでから[OK]ボタンをクリックします。ボタンをクリックすると,[DBPARTNER ODBC Driver for DABroker −セットアップ−]ダイアログボックスが表示されます。
[DBPARTNER ODBC Driver for DABroker−セットアップ−]ダイアログボックスに設定する項目を次に示します。
-
[データソース名]テキストボックス 〜〈1〜32けたの文字列〉
データソースを識別するために任意の名称を指定します。データソース名は省略できません。
(例)東京センタ
このデータソース名は,接続するサーバをユーザが認識できるようにするための名称です。ユーザが認識できればどんな名称を指定してもかまいません。すべて全角文字(シフトJISコード)で入力するときは16文字まで,すべて半角文字(JIS8コード)で入力するときは32文字まで入力できます。全角文字と半角文字が混在してもかまいません。
-
[ホスト名称]テキストボックス 〜〈1〜32けたの文字列〉
使う通信ドライバに登録されている接続先システムのインターネットアドレスに対応するホスト名称を指定します。ホスト名称は省略できません。
-
[接続データベース]テキストボックス 〜〈1〜32けたの文字列〉
接続するデータベースの種別を指定します。次に示す項目から選んで指定してください。
HiRDB:HiRDBを示します。
Oracle:ORACLEを示します。
SQL Server:Microsoft SQL Serverを示します。
SQL Anywhere:Sybase Adaptive Server Anywhereを示します。
XDM/RD:XDM/RD E2を示します。
RDB1 E2:RDB1 E2を示します。
SQL/K:RDB編成ファイルを示します。
XDM/SD E2:XDM/SD E2を示します。
PDM2:PDMII E2を示します。
SQL/K SPOOL:VOSKスプールファイルを示します。
-
[データベース識別子]テキストボックス 〜〈文字列〉
-
データベースがHiRDB又はORACLEの場合
サーバに複数のデータベースが存在するときに,接続するデータベース識別子を指定します。
HiRDBの場合
接続するHiRDBシステムのポート番号を指定します。データベースが一つでPCサーバにHiRDBのポート番号が設定してあるときは,指定しなくても接続できます。省略すると,PDNAMEPORTの値が仮定されます。
ORACLEの場合
ネットサービス名を指定します。データベースが一つしかないときは,指定は不要です。省略すると,ORACLE_SIDの値が仮定されます。
-
データベースがMicrosoft SQL Server,Sybase Adaptive Server Anywhereの場合
DABrokerがインストールされているマシンのシステムDSNに設定したデータソース名を指定します。
-
サーバプログラムがDABroker経由-RDA Link for Gatewayで,データベースがXDM/RD E2,RDB1 E2,SQL/Kの場合
RDA Link for Gatewayで定義されている,RDノード名称を指定します。
-
サーバプログラムがDABroker経由-Database Connection Serverで,データベースがXDM/RD E2,RDB1 E2,SQL/K,XDM/SD E2,PDMII E2の場合
指定しません。指定しても,指定した内容は無視されます。
-
サーバプログラムがDatabase Connection Serverで,データベースがXDM/RD E2,RDB1 E2,SQL/K,XDM/SD E2,PDMII E2の場合
Database Connection Serverで定義されている,データベース識別子を指定します。
-
データベースがVOSKスプールファイルの場合
指定しません。指定した場合,指定した内容は無視されます。
-
-
[データベースホスト名]テキストボックス 〜〈文字列〉
接続するデータベースがHiRDBのとき,HiRDBのホスト名(PDHOST)を指定します。接続するデータベースがHiRDB以外の場合は不活性となります。
-
[送受信領域サイズ]テキストボックス 〜〈符号なし整数〉((1〜16,000))(単位:キロバイト)
データ送受信時にDABrokerドライバが使うデータ受信用領域サイズを,1〜16,000kBの範囲で指定します。省略すると,64kBが仮定されます。
指定した値が1〜16,000の範囲外のときは,次に示す領域サイズを仮定して処理します。
-
指定値 < 1のとき:64
-
指定値 > 16,000のとき:16,000
送受信領域サイズは,注意に示す理由で,取り扱うデータがBLOBなどの長大なデータのとき以外は指定しないことをお勧めします。
注意
-
DABrokerドライバでは,指定したサイズの送受信領域を使うSQLステートメントごとに送信用,受信用それぞれ1個ずつ確保します(1ステートメントごとの指定サイズ×2のメモリを使います)。使うマシンの性能を考慮して,適正な値を指定してください。
-
DABrokerドライバでは,指定したサイズの受信領域に格納できる行数分の結果データを.DABrokerから一度に受け取って処理します。そのため,受信領域サイズが大きいと,一度に取得できるデータ数は多くなって,通信の発生頻度は減ります。その反面,受信領域サイズの指定が大き過ぎるときは,メモリエラーになって処理が続けられない,又はメモリの圧迫による性能劣化,さらに1回のデータ通信量の増大によってバッファ境界でのFetch性能が劣化するおそれがあります(ただし,結果的には通信オーバーヘッドは変わりません)。この項目を指定するときは,上限1,000 kB(1MB)程度に抑えて,マシンの性能を考慮した適正な値に設定してください。受信領域サイズ指定の目安を次に示します。
受信領域長 = (((行データに含まれる列データ長の合計 +( 4 × 行データの列数 ))+ 4 )× 一回の通信で取得する行数 )+ 42
-
-
[DABroker経由-Database Connection Server接続]欄
DABroker経由-Database Connection Server接続を使用するかどうかを指定します。
DABroker経由-Database Connection Server接続を使用する場合,[使用する]チェックボックスをオンにします。
- [データベース種別名]テキストボックス 〜〈文字列〉
-
DABrokerの接続先データベース定義で定義されたデータベース種別名を指定します。
- [データベース名]テキストボックス 〜〈文字列〉
-
DABrokerの接続先データベース定義で定義されたデータベース名を指定します。
-
[ユーザ外字]欄
自PCで作成した外字とサーバのデータベースで作成した外字を対応付けるかどうかを指定します。
サーバのシフトJISコード又はEUCコードにユーザ外字を使ってODBCドライバで外字コードを変換するときは,[使用する]チェックボックスをオンにして,[選択(S)...]ボタンをクリックしてからユーザ外字変換ファイルを選びます。ユーザ外字変換ファイルの作成方法については,「2.3.3(5)ユーザ外字変換ファイルの作成方法」を参照してください。
ユーザ外字を使う指定をすると,ODBCドライバはユーザ外字変換ファイルの内容に従って,外字コードを変換します。
-
[EUC-SJIS変換を行わない]チェックボックス
EUC-SJIS変換をするかどうかを指定します。
サーバ側の文字コードがEUCコードの場合でODBCアプリケーションがEUCコード処理をする場合,この項目をオンにします。
この項目をオンにすると,すべてのEUC-SJIS変換が行われません。また,ユーザ外字の使用の指定も無視されます。
-
[Oracle接続でSQLDescribeParamを使用]チェックボックス
接続するデータベースがORACLEの場合,通常SQLDescribeParamは使用できませんが,このチェックボックスを指定すると,すべてのパラメタのSQLデータ型がSQL_VARCHAR型で出力されます。
デフォルトはチェックなしで,接続するデータベースがORACLE以外の場合はグレー表示になります。
-
[検索データの余分な空白文字を削除]チェックボックス
検索するデータの後ろに含まれる空白文字を削除するかどうかを指定します。削除するときは,[検索データの余分な空白文字を削除]チェックボックスをオンにしてください。
デフォルトはチェックなしです。
(b) [DBPARTNER ODBC Driver for DABroker −環境定義−]ダイアログボックスに項目を設定
[DBPARTNER ODBC Driver for DABroker −セットアップ−]ダイアログボックスの項目を設定した後,[環境定義(E)...]ボタンをクリックします。ボタンをクリックすると,[DBPARTNER ODBC Driver for DABroker −環境定義−]ダイアログボックスが表示されます。
[DBPARTNER ODBC Driver for DABroker −環境定義−]ダイアログボックスに指定する項目を次に示します。
-
[通信ドライバ]テキストボックス 〜〈文字列〉
「WINSOCK」で固定です。変更できません。
-
[応答監視時間]テキストボックス 〜〈符号なし整数〉((0〜3600))《60》(単位:秒)
サーバプログラムからの応答監視時間を秒単位で指定します。ここで指定した時間を過ぎてもサーバプログラムから応答が返らないと,処理が打ち切られます。
指定を省略すると,60(秒)が仮定されます。0を指定すると,時間監視しません。
-
[非同期キャンセル機能を使用する]チェックボックス
このチェックボックスは無効です。このチェックボックスのチェックの有無にかかわらず,非同期キャンセルは実行されます。ODBC関数の非同期実行については,「5.7 ODBC関数の非同期実行」を参照してください。
(c) 設定の完了
[DBPARTNER ODBC Driver for DABroker −環境定義−]ダイアログボックスの項目を指定した後,[OK]ボタンをクリックします。
[DBPARTNER ODBC Driver for DABroker −セットアップ−]ダイアログボックスに戻ったら,[OK]ボタンをクリックします。
これでデータソースのセットアップは終了しました。
(2) セットアップの中止
データソースのセットアップを中止するときは,[DBPARTNER ODBC Driver for DABroker −セットアップ−]ダイアログボックスの[キャンセル]ボタンをクリックします。ボタンをクリックすると,設定した内容は登録されません。
(3) データソース名の変更
既に設定した内容を変更する場合は,次の手順に従ってください。
-
[ODBCデータソースアドミニストレータ]ダイアログボックスで変更するデータソース名を選択し,[構成(C)...]ボタンをクリックします。
[DBPARTNER ODBC Driver for DABroker −セットアップ−]ダイアログボックスが表示されます。
-
データソース名を変更します。
これ以降の操作は,新規追加の2.からの操作に従ってください。
(4) データソース名の削除
データソース名を削除するときは,[ODBCデータソースアドミニストレータ]ダイアログボックスから削除するデータソース名を選んでから[削除(R)]ボタンをクリックします。
ボタンをクリックすると,データソース名が削除されます。
(5) ユーザ外字変換ファイルの作成方法
ユーザ外字変換ファイルの作成方法について説明します。外字コードを変換するときは,次に示すテキスト形式のファイル(〜.txt)を作成します。
(a) 形式
クライアントPC側外字コード1=サーバ側外字コード1, クライアントPC側外字コード2=サーバ側外字コード2 |
(b) 規則
-
行の先頭に空白文字を入れないでください。
-
クライアントPC側外字コード,サーバ側外字コードとも,16進数表記で指定してください。16進数を示す先頭の「0x」は付けないでください。
(例)「0xF040」は「F040」と記述してください。
-
コードに小文字は使えません。
(例)「0xf040」は「F040」と記述してください。
-
使える文字は,半角英数字と半角スペースです。使える文字数を次に示します。
サーバがEUCコードの場合:4文字又は6文字(例:F040,8FA1A1)
サーバがシフトJISコードの場合:4文字(例:F040)
-
指定できる外字コードの範囲を次に示します。範囲については,サーバのOSがサポートする外字コードの範囲を確認してください。
クライアントPCの文字コード:F040〜F9FC(ただし,外字エディタで使える範囲に限ります)
サーバの文字コード:任意(指定が妥当かどうかは,チェックされません)
-
「=」の前後に空白文字を記述できます。
-
1行に複数のコードを記述できます。複数のコードを記述するときは,「,」で区切ってください。
-
改行は,区切りを示す「,」の直後だけでできます。
-
同じ変換前外字コードを複数回定義したときは,最後に定義したコードが有効になります。
-
「#」から改行するまでは,コメント行とみなされます。コメント行も,行の先頭に空白文字を入れないでください。
(c) ユーザ外字変換ファイルの記述例
# ユーザ定義文字マッピング(SJIS<->EUC) F040=8FA1A1 F041=F5A1 # END |
(d) 注意
-
ユーザ外字変換ファイルに指定したコード範囲が妥当かどうかは,チェックしません。また,変換する外字として使える文字コードの範囲は,サーバ側のシステムに依存します。ユーザ外字変換ファイルに文字コードを指定するときは,サーバ側のシステムのOSやDBMSのマニュアルを参照して,サポートする文字コードの範囲を事前に確認してください。
-
ユーザ外字変換ファイルは,サーバ側のシステムとの接続を開始するときに読み込まれます。このため,ユーザ外字変換ファイルの内容を変更したときは,サーバ側のシステムとの接続をいったん解除してから,再び接続してください。