ibmpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95...

588
WebSphere® Information Integration フェデレーテッド・データ・ソース 構成ガイド バージョン 9 SC88-4185-00 (英文原典:SC19-1034-00)

Upload: others

Post on 14-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

WebSphere® Information Integration

フェデレーテッド・データ・ソース 構成ガイド

バージョン 9

SC88-4185-00(英文原典:SC19-1034-00)

���

Page 2: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99
Page 3: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

WebSphere® Information Integration

フェデレーテッド・データ・ソース 構成ガイド

バージョン 9

SC88-4185-00(英文原典:SC19-1034-00)

���

Page 4: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ご注意!

本書および本書で紹介する製品をご使用になる前に、 561ページの『特記事項および商標』に記載されている情報をお読みください。

本マニュアルに関するご意見やご感想は、次の URL からお送りください。今後の参考にさせていただきます。

http://www.ibm.com/jp/manuals/main/mail.html

なお、日本 IBM 発行のマニュアルはインターネット経由でもご購入いただけます。詳しくは

http://www.ibm.com/jp/manuals/ の「ご注文について」をご覧ください。

(URL は、変更になる場合があります)

お客様の環境によっては、資料中の円記号がバックスラッシュと表示されたり、バックスラッシュが円記号と表示されたりする場合があります。

 原 典: SC19-1034-00

Information Integration

Configuration Guide for Federated Data Sources

Version 9

 発 行: 日本アイ・ビー・エム株式会社

 担 当: ナショナル・ランゲージ・サポート

第1刷 2006.7

この文書では、平成明朝体™W3、平成明朝体™W7、平成明朝体™W9、平成角ゴシック体™W3、平成角ゴシック体™

W5、および平成角ゴシック体™W7を使用しています。この(書体*)は、(財)日本規格協会と使用契約を締結し使用しているものです。フォントとして無断複製することは禁止されています。

  注* 平成明朝体™W3、平成明朝体™W7、平成明朝体™W9、平成角ゴシック体™W3、平成角ゴシック体™W5、平成角ゴシック体™W7

© Copyright International Business Machines Corporation 1998, 2006. All rights reserved.

© Copyright IBM Japan 2006

Page 5: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

目次第 1 章 データ・ソースへのアクセスの構成の計画. . . . . . . . . . . . . . . 1フェデレーテッド・データ・ソースの構成の計画 . . 1フェデレーテッド・オブジェクトの命名規則 . . . 1フェデレーテッド・システムで大/小文字が区別される値の保持 . . . . . . . . . . . . . 2データ・ソース統計の更新 . . . . . . . . . 3正しいラッパーの選択 . . . . . . . . . . 4ユーザー・マッピングの計画 . . . . . . . . 8データ・タイプ・マッピングの計画 . . . . . . 9関数マッピングの計画 . . . . . . . . . . 11フェデレーテッド・システム構成の計画のためのチェックリスト . . . . . . . . . . . . 11

第 2 章 フェデレーテッド・サーバーおよびデータベース . . . . . . . . . . . 15フェデレーテッド・サーバーのセットアップのチェック . . . . . . . . . . . . . . . . . 15ラッパー・ライブラリー・ファイルのリンク・エディットの確認 (UNIX) . . . . . . . . . 15FEDERATED パラメーターのチェック . . . . 19

フェデレーテッド・データベースの作成 . . . . . 20フェデレーテッド・データベースのコード・セットおよび照合シーケンス . . . . . . . . . 21フェデレーテッド・データベースの各国語に関する考慮事項 . . . . . . . . . . . . . 22フェデレーテッド・システムの照合シーケンス . 23

第 3 章 データ・ソースへのアクセスの構成の概要 . . . . . . . . . . . . . . 27データ・ソースへのアクセスの構成の概要 . . . . 27データ・ソースの構成の近道 . . . . . . . 27DB2 コントロール・センターを使用したフェデレーテッド・サーバーへのデータ・ソースの追加 . 28データ・ソースへアクセスするための複数のフェデレーテッド・サーバーの構成 . . . . . . . 29データ・ソース環境変数の設定 . . . . . . . 30データ・ソースのラッパーの登録 . . . . . . 32データ・ソースのサーバー定義の登録 . . . . 33データ・ソースのユーザー・マッピングの登録 . 34データ・ソースのニックネームの登録 . . . . 34オプションの構成ステップ . . . . . . . . 35

第 4 章 BioRS データ・ソース . . . . 37BioRS データ・ソースへのアクセスの構成 . . . . 37BioRS ラッパー . . . . . . . . . . . . . 37フェデレーテッド・サーバーへの BioRS データ・ソースの追加 . . . . . . . . . . . . . . 38BioRS ラッパーのカスタム関数の登録 . . . . . 39

BioRS ラッパーのカスタム関数 . . . . . . . 40

BioRS ラッパーの登録 . . . . . . . . . . . 41BioRS ラッパー・ライブラリー・ファイル . . . 42

CREATE WRAPPER ステートメント - BioRS ラッパーの例 . . . . . . . . . . . . . . . 42BioRS データ・ソースのサーバー定義の登録 . . . 44CREATE SERVER ステートメント - BioRS ラッパーの例 . . . . . . . . . . . . . . . . 45BioRS データ・ソースのユーザー・マッピングの作成 . . . . . . . . . . . . . . . . . 47CREATE USER MAPPING ステートメント - BioRSラッパーの例 . . . . . . . . . . . . . . 49BioRS データ・ソースのニックネームの登録 . . . 50CREATE NICKNAME ステートメント - BioRS ラッパーの例 . . . . . . . . . . . . . . . 52カスタム関数と BioRS 照会 . . . . . . . . . 55BioRS 照会における等価演算 . . . . . . . . 58BioRS ラッパーの等価結合述部 . . . . . . . . 59BioRS AllText エレメント . . . . . . . . . 61BioRS データ・ソース - 照会の例 . . . . . . . 61BioRS ラッパー・パフォーマンスの最適化 . . . . 67BioRS ラッパー・パフォーマンスの最適化方法 . . 67BioRS 統計情報 . . . . . . . . . . . . . 68BioRS データ・バンク・カーディナリティー統計の確認 . . . . . . . . . . . . . . . . . 68BioRS ニックネーム・カーディナリティー統計の更新 . . . . . . . . . . . . . . . . . 69BioRS 列カーディナリティー統計 . . . . . . . 70BioRS _ID_ 列カーディナリティーの更新 . . . . 71

第 5 章 BLAST データ・ソース . . . . 73BLAST データ・ソースへのアクセスの構成 . . . 73BLAST ラッパー . . . . . . . . . . . . 73フェデレーテッド・サーバーへの BLAST データ・ソースの追加 . . . . . . . . . . . . . . 77BLAST サーバー・ファイルのバージョンの検査 . . 78BLAST デーモンの構成 . . . . . . . . . . 78BLAST デーモンの構成ファイル - 例 . . . . . 82BLAST デーモンの開始 . . . . . . . . . . 83db2blast_daemon コマンド - オプションおよび例 . . 84BLAST ラッパーの登録 . . . . . . . . . . 86

BLAST ラッパーのライブラリー・ファイル . . 86CREATE WRAPPER ステートメント - BLAST ラッパーの例 . . . . . . . . . . . . . . . 87BLAST データ・ソースのサーバー定義の登録 . . . 88CREATE SERVER ステートメント - BLAST ラッパーの例 . . . . . . . . . . . . . . . . 89BLAST データ・ソース用のユーザー・マッピングの作成 (オプション) . . . . . . . . . . . . 92CREATE USER MAPPING ステートメント -BLAST ラッパーの例 . . . . . . . . . . . 93BLAST データ・ソースのニックネームの登録 . . . 94

© Copyright IBM Corp. 1998, 2006 iii

Page 6: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

定義行の構文解析 . . . . . . . . . . . . 95BLAST ニックネームの固定入力列 . . . . . . 96固定入力列の BLAST 検索タイプおよびスイッチ . . 99BLAST ニックネームの固定出力列 . . . . . . 99CREATE NICKNAME ステートメント - BLAST ラッパーの例 . . . . . . . . . . . . . . 101BLAST データ・ソースの照会 . . . . . . . . 102BLAST ラッパーで作業するための TurboBlast のセットアップ . . . . . . . . . . . . . . 102BLAST SQL 照会の作成. . . . . . . . . . 104BLAST データ・ソース - 照会の例 . . . . . . 105BLAST 照会パフォーマンスの最適化方法 . . . . 107

第 6 章 ビジネス・アプリケーション・データ・ソース . . . . . . . . . . . 109ビジネス・アプリケーション・データ・ソースへのアクセスの構成 . . . . . . . . . . . . . 109WebSphere Business Integration ラッパー . . . . 109WebSphere Business Integration Adapter の構成 . . 111ビジネス・オブジェクト定義 . . . . . . . 112ビジネス・オブジェクト定義の構成プロパティー 114WebSphere Business Integration ラッパーおよびアダプター用の WebSphere MQ メッセージ・キュー . . . . . . . . . . . . . . . 114

ビジネス・アプリケーション・データ・ソースのフェデレーテッド・システムへの追加 . . . . . . 115

WebSphere Business Integration ラッパーの登録(DB2 コマンド行) . . . . . . . . . . . 115ビジネス・アプリケーション・データ・ソースのサーバー定義の登録 (DB2 コマンド行) . . . . 117

ビジネス・アプリケーション・データ・ソースのニックネームの登録 . . . . . . . . . . . . 118ビジネス・アプリケーション・データ・ソースのニックネームの登録 (DB2 コントロール・センター) . 119

DB2 コントロール・センターで、ニックネーム定義を生成する前にビジネス・オブジェクト内の必須入力列を識別する . . . . . . . . . 119

ビジネス・アプリケーション・データ・ソースのニックネームの登録 (DB2 コマンド行) . . . . . 121CREATE NICKNAME ステートメント - WebSphereBusiness Integration ラッパーの例 . . . . . . . 121WebSphere Business Integration ラッパーのTEMPLATE オプション . . . . . . . . . . 129結果セットのためのニックネーム要件 . . . . . 133ビジネス・アプリケーション・データ・ソースのニックネーム・オプション . . . . . . . . . . 136ビジネス・アプリケーション・ニックネームのフェデレーテッド・ビューの作成 . . . . . . . . 136ビジネス・アプリケーション・データ・ソース - 照会の例 . . . . . . . . . . . . . . . . 137

第 7 章 DB2 ファミリー・データ・ソース . . . . . . . . . . . . . . . 141DB2 ファミリー・データ・ソースへのアクセスの構成 . . . . . . . . . . . . . . . . 141

フェデレーテッド・ノード・ディレクトリーへのノード項目のカタログ . . . . . . . . . 141フェデレーテッド・サーバー・システム・データベース・ディレクトリーへのリモート・データベースのカタログ . . . . . . . . . . . . 142DB2 ラッパーの登録 . . . . . . . . . . 143DB2 データ・ソースのサーバー定義の登録 . . 144DB2 データ・ソースのユーザー・マッピングの作成 . . . . . . . . . . . . . . . 146DB2 データ・ソース・サーバーへの接続のテスト . . . . . . . . . . . . . . . . 148DB2 表およびビューのニックネームの登録 . . 148

第 8 章 Entrez データ・ソース . . . . 151Entrez データ・ソースへのアクセスの構成 . . . 151Entrez ラッパー . . . . . . . . . . . . 151フェデレーテッド・サーバーへの Entrez データ・ソースの追加 . . . . . . . . . . . . . 153Entrez ラッパーのカスタム関数の登録 . . . . . 153

Entrez ラッパーのカスタム関数 . . . . . . 154Entrez ラッパーの登録 . . . . . . . . . . 155

Entrez ラッパーのライブラリー・ファイル . . 156CREATE WRAPPER ステートメント - Entrezラッパーの例 . . . . . . . . . . . . 157

CREATE SERVER ステートメント - Entrez ラッパーの例 . . . . . . . . . . . . . . . . 159プロキシー・サーバーを使用した Entrez へのアクセス . . . . . . . . . . . . . . . . 160Entrez データ・ソースのニックネーム . . . . . 161

Nucleotide データベースのニックネーム . . . 162OMIM データベースのニックネーム . . . . . 162PubMed データベースのニックネーム . . . . 164Entrez ニックネームの代替名 . . . . . . . 165

Entrez データ・ソースのユーザー・マッピングの作成 (オプション) . . . . . . . . . . . . 166CREATE USER MAPPING ステートメント -Entrez ラッパーの例 . . . . . . . . . . . 167Entrez データ・ソースのニックネームの登録 . . . 168CREATE NICKNAME ステートメント - Entrez ラッパーの例 . . . . . . . . . . . . . . 170Entrez データ・ソースの照会およびカスタム関数 171カスタム関数を使用した Entrez データベースの照会 . . . . . . . . . . . . . . . . . 171Entrez ラッパーの関係述部 . . . . . . . . . 173Entrez 照会から戻されるレコード . . . . . . 173Entrez データ・ソース - 照会の例 . . . . . . 174Nucleotide ニックネームの固定列 . . . . . . . 176OMIM ニックネームの固定列 . . . . . . . . 179PubMed ニックネームの固定列 . . . . . . . 186

第 9 章 Excel データ・ソース . . . . 191Excel データ・ソースへのアクセスの構成 . . . . 191Excel ラッパー . . . . . . . . . . . . . 191フェデレーテッド・サーバーへの Excel データ・ソースの追加 . . . . . . . . . . . . . . 192Excel ラッパーの登録 . . . . . . . . . . 193

iv フェデレーテッド・データ・ソース 構成ガイド

Page 7: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Excel ラッパーのライブラリー・ファイル . . . 194Excel データ・ソースのサーバー定義の登録 . . . 195CREATE SERVER ステートメント - Excel ラッパーの例 . . . . . . . . . . . . . . . . 195Excel データ・ソースのニックネームの登録 . . . 196CREATE NICKNAME ステートメント - Excel ラッパーの例 . . . . . . . . . . . . . . 197Excel データ・ソース - 照会の例 . . . . . . 198Excel データ・ソース - サンプル・シナリオ . . . 198Excel ラッパーのファイル・アクセス・コントロール・モデル . . . . . . . . . . . . . . 200

第 10 章 HMMER データ・ソース . . . 201HMMER データ・ソースへのアクセスの構成 . . . 201HMMER ラッパー . . . . . . . . . . . . 201フェデレーテッド・サーバーへの HMMER データ・ソースの追加 . . . . . . . . . . . . 204HMMER プログラムの実行可能ファイルのバージョンの検査 . . . . . . . . . . . . . . . 205HMMER デーモンの構成 . . . . . . . . . 205HMMER デーモン構成ファイル - 例 . . . . . 209HMMER デーモンの開始 . . . . . . . . . 210db2hmmer_daemon コマンド - オプションおよび例 210HMMER ラッパーの登録 . . . . . . . . . 212

HMMER ラッパー・ライブラリー・ファイル 213CREATE WRAPPER ステートメント - HMMER ラッパーの例 . . . . . . . . . . . . . . 214HMMER データ・ソースのサーバー定義の登録 . . 215CREATE SERVER ステートメント - HMMER ラッパーの例 . . . . . . . . . . . . . . . 216HMMER データ・ソースのユーザー・マッピングの作成 (オプション) . . . . . . . . . . . . 220CREATE USER MAPPING ステートメント -HMMER ラッパーの例 . . . . . . . . . . 221HMMER データ・ソースのニックネームの登録 . . 222CREATE NICKNAME ステートメント - HMMERラッパーの例 . . . . . . . . . . . . . 223HMMER ニックネームの固定列 . . . . . . . 223

HMMER ニックネームの固定入力列 . . . . . 224HMMER ニックネームの固定出力列 . . . . . 226

HMMER データ・ソース - 完全指定の例 . . . . 228サンプルを使用した新規 HMMER 照会の構成 . . 229

第 11 章 Informix データ・ソース . . 233Informix データ・ソースへのアクセスの構成 . . . 233

Informix クライアント構成ファイルのセットアップおよびテスト . . . . . . . . . . . 233Informix 環境変数の設定. . . . . . . . . 235Informix ラッパーの登録. . . . . . . . . 239Informix データ・ソースのサーバー定義の登録 241Informix データ・ソースのユーザー・マッピングの作成 . . . . . . . . . . . . . . 244Informix サーバーへの接続のテスト . . . . . 245Informix 表、ビュー、およびシノニムのニックネームの登録 . . . . . . . . . . . . 246

第 12 章 Microsoft SQL Server データ・ソース . . . . . . . . . . . . . 249Microsoft SQL Server データ・ソースへのアクセスの構成 . . . . . . . . . . . . . . . . 249Microsoft SQL Server データ・ソースにアクセスするためのフェデレーテッド・サーバーの準備(Windows) . . . . . . . . . . . . . . 250Microsoft SQL Server データ・ソースにアクセスするためのフェデレーテッド・サーバーの準備(Linux、UNIX) . . . . . . . . . . . . . 250Microsoft SQL Server 環境変数の設定 . . . . . 252

Microsoft SQL Server 環境変数 . . . . . . 253Microsoft SQL Server ラッパーの登録 . . . . . 254

Microsoft SQL Server ラッパー・ライブラリー・ファイル . . . . . . . . . . . . . . 255

Microsoft SQL Server データ・ソースのサーバー定義の登録 . . . . . . . . . . . . . . . 256Microsoft SQL Server データ・ソース用のユーザー・マッピングの作成 . . . . . . . . . . 257Microsoft SQL Server リモート・サーバーへの接続のテスト . . . . . . . . . . . . . . . 258Microsoft SQL Server 表およびビューのニックネームの登録 . . . . . . . . . . . . . . . 258ODBC トレース情報による、Microsoft SQL Serverデータ・ソースへの接続のトラブルシューティング . 259CREATE USER MAPPING ステートメント -Microsoft SQL Server ラッパーの例 . . . . . . 261CREATE NICKNAME ステートメント - MicrosoftSQL Server ラッパーの例 . . . . . . . . . 261

第 13 章 ODBC データ・ソース . . . 263ODBC データ・ソースへのアクセスの構成 . . . 263

ODBC ラッパーを使用した Excel データへのアクセス . . . . . . . . . . . . . . . 264

WebSphere Classic Federation Server for z/OS データ・ソースへの ODBC アクセスの構成 . . . . 267ODBC を通してデータ・ソースにアクセスするためのフェデレーテッド・サーバーの準備 (Windows) . 268ODBC を通してデータ・ソースにアクセスするためのフェデレーテッド・サーバーの準備(Linux、UNIX) . . . . . . . . . . . . . 269ODBC ラッパーの登録 . . . . . . . . . . 270

ODBC ラッパー・ライブラリー・ファイル . . 271ODBC データ・ソースのサーバー定義の登録 . . . 272ODBC データ・ソースのユーザー・マッピングの作成 . . . . . . . . . . . . . . . . . 272ODBC データ・ソース・サーバーへの接続のテスト 273ODBC データ・ソース表およびビューのニックネームの登録 . . . . . . . . . . . . . . . 273ODBC チューニング・ユーティリティー(db2fedsvrcfg) による ODBC ラッパーのパフォーマンスの最適化 . . . . . . . . . . . . . 274

db2fedsvrcfg コマンド構文 - ODBC チューニング・ユーティリティー . . . . . . . . . 276ODBC チューニング・ユーティリティー(db2fedsvrcfg) のためのテスト表定義 . . . . 277

目次 v

Page 8: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CREATE SERVER ステートメント - ODBC ラッパーの例 . . . . . . . . . . . . . . . . 278CREATE USER MAPPING ステートメント -ODBC ラッパーの例 . . . . . . . . . . . 279CREATE NICKNAME ステートメント - ODBC ラッパーの例 . . . . . . . . . . . . . . 280CREATE WRAPPER ステートメント - ODBC ラッパーの例 . . . . . . . . . . . . . . . 281

第 14 章 OLE DB データ・ソース . . 283OLE DB ラッパーの登録 . . . . . . . . . 283

OLE DB ラッパー・ライブラリー・ファイル 284OLE DB データ・ソースのサーバー定義の登録 . . 285OLE DB データ・ソースのユーザー・マッピングの作成 . . . . . . . . . . . . . . . . 285CREATE SERVER ステートメント - OLE DB ラッパーの例 . . . . . . . . . . . . . . 286CREATE USER MAPPING ステートメント - OLEDB ラッパーの例 . . . . . . . . . . . . 287

第 15 章 Oracle データ・ソース . . . 289Oracle データ・ソースへのアクセスの構成 . . . 289Oracle 環境変数の設定 . . . . . . . . . . 289

Oracle 環境変数 . . . . . . . . . . . 291Oracle クライアント構成ファイルのセットアップおよびテスト . . . . . . . . . . . . . . 294Oracle ラッパーの登録 . . . . . . . . . . 295

Oracle ラッパー・ライブラリー・ファイル . . 296Oracle データ・ソースのサーバー定義の登録 . . . 296Oracle データ・ソースのユーザー・マッピングの作成 . . . . . . . . . . . . . . . . . 297Oracle サーバーへの接続のテスト . . . . . . 298

Oracle データ・ソースの接続に関する問題のトラブルシューティング . . . . . . . . . 298

Oracle 表およびビューのニックネームの登録 . . . 299Oracle データ・ソースの接続に関する問題のトラブルシューティング . . . . . . . . . . . . 300CREATE SERVER ステートメント - Oracle ラッパーの例 . . . . . . . . . . . . . . . . 301CREATE USER MAPPING ステートメント -Oracle ラッパーの例 . . . . . . . . . . . 302CREATE NICKNAME ステートメント - Oracle ラッパーの例 . . . . . . . . . . . . . . 303

第 16 章 スクリプト・データ・ソース 305データ・ソースとしてのスクリプトへのアクセスの構成 . . . . . . . . . . . . . . . . 305スクリプト・ラッパーの概要 . . . . . . . . 305データ・ソースとしてのスクリプトのフェデレーテッド・システムへの追加 . . . . . . . . . . 307スクリプトのカスタム関数の登録 . . . . . . . 308スクリプト・ラッパーのカスタム関数のデータ・タイプ . . . . . . . . . . . . . . . 308

スクリプト・デーモンの構成 . . . . . . . . 309スクリプト・デーモンの開始 . . . . . . . . 311db2script_daemon コマンド - オプションと例 . . . 312

スクリプト・ラッパーの登録 . . . . . . . . 314スクリプト・ラッパー・ライブラリー・ファイル 314

データ・ソースとしてのスクリプトのサーバー定義の登録 (DB2 コマンド行) . . . . . . . . . 315CREATE SERVER ステートメント - スクリプト・ラッパーの例 . . . . . . . . . . . . . 315スクリプトのニックネームの登録 (DB2 コマンド行) . . . . . . . . . . . . . . . . . 316CREATE NICKNAME ステートメント - スクリプト・ラッパーの例 . . . . . . . . . . . . 317スクリプト・ラッパー・ニックネーム・オプション 317スクリプト・ラッパーによる SQL 照会 . . . . 320スクリプト・ラッパー・パフォーマンスの最適化 322

第 17 章 Sybase データ・ソース . . . 323Sybase データ・ソースへのアクセスの構成 . . . 323Sybase 環境変数の設定 . . . . . . . . . . 324

Sybase 環境変数 . . . . . . . . . . . 325Sybase クライアント構成ファイルのセットアップおよびテスト (Windows) . . . . . . . . . . 327Sybase クライアント構成ファイルのセットアップおよびテスト (UNIX) . . . . . . . . . . . 328Sybase ラッパーの登録 . . . . . . . . . . 329

Sybase ラッパー・ライブラリー・ファイル . . 330Sybase データ・ソースのサーバー定義の登録 . . . 331Sybase データ・ソースのユーザー・マッピングの作成 . . . . . . . . . . . . . . . . . 332Sybase サーバーへの接続のテスト . . . . . . 333Sybase 表およびビューのニックネームの登録 . . . 333Sybase ラッパー構成のトラブルシューティング . . 334

Sybase ラッパー・ライブラリーのロード時の問題 . . . . . . . . . . . . . . . . 334欠落している SYBASE 環境変数 . . . . . . 334欠落している Sybase ノード名 . . . . . . 335

CREATE SERVER ステートメント - Sybase ラッパーの例 . . . . . . . . . . . . . . . 336CREATE USER MAPPING ステートメント -Sybase ラッパーの例 . . . . . . . . . . . 337CREATE NICKNAME ステートメント - Sybase ラッパーの例 . . . . . . . . . . . . . . 338

第 18 章 表構造ファイル・データ・ソース . . . . . . . . . . . . . . . 341表構造ファイル・データ・ソースへのアクセスの構成 . . . . . . . . . . . . . . . . . 341表構造ファイル - 概要 . . . . . . . . . . 341表構造ファイルの属性 . . . . . . . . . . 342表構造ファイル・ラッパー . . . . . . . . . 342フェデレーテッド・サーバーへの表構造ファイル・データ・ソースの追加 . . . . . . . . . . 344表構造ファイル・ラッパーの登録 . . . . . . . 344表構造ファイル・ラッパー・ライブラリー・ファイル . . . . . . . . . . . . . . . 345

表構造ファイルのサーバー定義の登録 . . . . . 346CREATE SERVER ステートンメント - 表構造ファイル・ラッパーの例 . . . . . . . . . . . 347

vi フェデレーテッド・データ・ソース 構成ガイド

Page 9: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表構造ファイルのニックネームの登録 . . . . . 347CREATE NICKNAME ステートメント - 表構造ファイル・ラッパーの例 . . . . . . . . . . 348表構造ファイル・ラッパーのファイル・アクセス・コントロール・モデル . . . . . . . . . . 353表構造ファイル・ラッパーの照会パフォーマンス最適化のためのガイドライン . . . . . . . . . 354

第 19 章 Teradata データ・ソース . . 355Teradata データ・ソースへのアクセスの構成 . . . 355Teradata サーバーへの接続のテスト . . . . . . 356Teradata ライブラリーがランタイム・リンクに対応しているかどうかの検査 (AIX) . . . . . . . 356Teradata 環境変数の設定 . . . . . . . . . . 357

Teradata 環境変数 . . . . . . . . . . . 358Teradata サーバー上の文字セットの検査 . . . 360

Teradata ラッパーの登録 . . . . . . . . . . 361Teradata ラッパー・ライブラリー・ファイル . . 362

Teradata データ・ソースのサーバー定義の登録 . . 363Teradata データ・ソースのユーザー・マッピングの作成 . . . . . . . . . . . . . . . . 364フェデレーテッド・サーバーから Teradata サーバーへの接続のテスト . . . . . . . . . . . 365Teradata 表およびビューのニックネームの登録 . . 365フェデレーテッド・サーバーでの Teradata ニックネーム . . . . . . . . . . . . . . 366

CREATE SERVER ステートメント - Teradata ラッパーの例 . . . . . . . . . . . . . . . 367CREATE USER MAPPING ステートメント -Teradata ラッパーの例 . . . . . . . . . . 368CREATE NICKNAME ステートメント - Teradataラッパーの例 . . . . . . . . . . . . . 369データ・ソース接続エラーのトラブルシューティング . . . . . . . . . . . . . . . . . 369

第 20 章 Web サービス・データ・ソース . . . . . . . . . . . . . . . . 371Web サービス・データ・ソースへのアクセスの構成 . . . . . . . . . . . . . . . . . 371Web サービスおよび Web サービス・ラッパー . . 371Web サービス・ラッパーの登録 . . . . . . . 378Web サービス・ラッパー・ライブラリー・ファイル . . . . . . . . . . . . . . . . . 379Web サービス・データ・ソースのサーバー定義の登録 . . . . . . . . . . . . . . . . 380CREATE SERVER ステートメント - Web サービス・ラッパーの例 . . . . . . . . . . . . 380Web サービス・ラッパーを介してセキュリティーを使用できるようにする . . . . . . . . . . 382Web サービス・データ・ソースのニックネームの登録 . . . . . . . . . . . . . . . . 382CREATE NICKNAME ステートメント - Web サービス・ラッパーの例 . . . . . . . . . . . 383Web サービス・ラッパーの TEMPLATE オプション . . . . . . . . . . . . . . . . . 389

Web サービス・ニックネームのフェデレーテッド・ビューの作成 . . . . . . . . . . . . 390Web サービス・データ・ソース - 照会の例 . . . 391

第 21 章 XML データ・ソース . . . . 395XML データ・ソースへのアクセスの構成 . . . . 395XML ラッパー . . . . . . . . . . . . . 395フェデレーテッド・システムへの XML の追加 . . 399XML ラッパーの登録. . . . . . . . . . . 400

XML ラッパー・ライブラリー・ファイル . . . 401CREATE WRAPPER ステートメント - XML ラッパーの例 . . . . . . . . . . . . . 401

XML データ・ソースのサーバー定義の登録 . . . 403CREATE SERVER ステートメント - XML ラッパーの例 . . . . . . . . . . . . . . . . 404プロキシー・サーバーを使用した XML ファイルへのアクセス . . . . . . . . . . . . . . 407XML データ・ソースのニックネーム . . . . . 408ニックネームと XML 文書の間のデータ関連 408XML ラッパーのコスト・モデル機能 . . . . 410XML データ・ソースのネーム・スペース . . . 411XML データ・ソースのニックネームの登録 . . 413

CREATE NICKNAME ステートメント - XML ラッパーの例 . . . . . . . . . . . . . . . 414XML データ・ソースの照会 . . . . . . . . 418XML ラッパー・ニックネームのフェデレーテッド・ビューの作成 . . . . . . . . . . . . 419CREATE VIEW ステートメント - XML ラッパーの例 . . . . . . . . . . . . . . . . 420XML コスト・モデル機能の照会の最適化のヒント 421XML データ・ソース - 照会の例. . . . . . . 422

第 22 章 KEGG ユーザー定義関数 . . 425KEGG ユーザー定義関数 - 概要 . . . . . . . 425機能カテゴリーごとの KEGG ユーザー定義関数 425KEGG ユーザー定義関数の関数引数 . . . . . 426KEGG ユーザー定義関数の登録 . . . . . . 428パスウェイ・データベース関数 . . . . . . 429Sequence Similarity データベース関数 . . . . 435KEGG ユーザー定義関数を使用不可にする . . 444

第 23 章 ライフ・サイエンス・ユーザー定義関数 . . . . . . . . . . . . . 447ライフ・サイエンス・ユーザー定義関数 . . . . 447ライフ・サイエンス・ユーザー定義関数ライブラリー・ファイル . . . . . . . . . . . . 447機能カテゴリーごとのライフ・サイエンス・ユーザー定義関数 . . . . . . . . . . . . 448ライフ・サイエンス・ユーザー定義関数の登録 449ライフ・サイエンス・ユーザー定義関数の使用不可 . . . . . . . . . . . . . . . . 449逆変換ユーザー定義関数 - 概要 . . . . . . 450定義行構文解析のユーザー定義関数 - 概要 . . 454一般化されたパターン・マッチングのユーザー定義関数 - 概要 . . . . . . . . . . . . 460GeneWise ユーザー定義関数 - 概要 . . . . . 464

目次 vii

Page 10: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Motif ユーザー定義関数 - 概要 . . . . . . 467反転ユーザー定義関数 - 概要 . . . . . . . 472変換ユーザー定義関数 - 概要 . . . . . . . 475コドン度数表の形式 . . . . . . . . . . 478変換表の形式 . . . . . . . . . . . . 479

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター. . . 481フェデレーテッド情報を含むグローバル・カタログ表内のビュー . . . . . . . . . . . . . 481フェデレーテッド・システムのニックネーム列オプション . . . . . . . . . . . . . . . . 483フェデレーテッド・システムの関数マッピング・オプション . . . . . . . . . . . . . . . 489フェデレーテッド・システムのニックネーム・オプション . . . . . . . . . . . . . . . . 490フェデレーテッド・システムのサーバー・オプション . . . . . . . . . . . . . . . . . 497SQL ステートメントで有効なサーバーのタイプ 524

BioRS ラッパー . . . . . . . . . . . 524BLAST ラッパー . . . . . . . . . . . 524CTLIB ラッパー . . . . . . . . . . . 525DRDA ラッパー . . . . . . . . . . . 525Entrez ラッパー . . . . . . . . . . . 525Excel ラッパー . . . . . . . . . . . . 525HMMER ラッパー . . . . . . . . . . . 526Informix ラッパー . . . . . . . . . . . 526MSSQLODBC3 ラッパー . . . . . . . . 526NET8 ラッパー . . . . . . . . . . . . 526ODBC ラッパー . . . . . . . . . . . 526OLE DB ラッパー . . . . . . . . . . . 527表構造ファイル・ラッパー . . . . . . . . 527Teradata ラッパー . . . . . . . . . . . 527Web サービス・ラッパー . . . . . . . . 527WebSphere Business Integration ラッパー . . . 527XML ラッパー . . . . . . . . . . . . 527

フェデレーテッド・システムのユーザー・マッピング・オプション . . . . . . . . . . . . . 528フェデレーテッド・システムのラッパー・オプション . . . . . . . . . . . . . . . . . 529

第 25 章 フェデレーテッド・システムとデータ・ソース・マッピング . . . . 533デフォルトの順方向データ・タイプ・マッピング 533

DB2 Database for Linux, UNIX, and Windows データ・ソース . . . . . . . . . . . . 533DB2 for iSeries データ・ソース . . . . . . 534DB2 for VM and VSE データ・ソース . . . . 534DB2 for z/OS データ・ソース . . . . . . . 535

Informix データ・ソース. . . . . . . . . 536Microsoft SQL Server データ・ソース . . . . 537ODBC データ・ソース . . . . . . . . . 538Oracle NET8 データ・ソース . . . . . . . 539Sybase データ・ソース . . . . . . . . . 540Teradata データ・ソース . . . . . . . . . 541

デフォルトの逆方向データ・タイプ・マッピング 542DB2 Database for Linux, UNIX, and Windows データ・ソース . . . . . . . . . . . . 543DB2 for iSeries データ・ソース . . . . . . 543DB2 for VM and VSE データ・ソース . . . . 544DB2 for z/OS データ・ソース . . . . . . . 544Informix データ・ソース. . . . . . . . . 545Microsoft SQL Server データ・ソース . . . . 546Oracle NET8 データ・ソース . . . . . . . 547Sybase データ・ソース . . . . . . . . . 547Teradata データ・ソース . . . . . . . . . 548

Unicode のデフォルト・データ・タイプ・マッピング . . . . . . . . . . . . . . . . . 549

Unicode のデフォルトの順方向データ・タイプ・マッピング - Microsoft SQL Server ラッパー . . 549Unicode のデフォルトの逆方向データ・タイプ・マッピング - Microsoft SQL Server ラッパー . . 550Unicode のデフォルトの順方向データ・タイプ・マッピング - NET8 ラッパー . . . . . . . 550Unicode のデフォルトの逆方向データ・タイプ・マッピング - NET8 ラッパー . . . . . . . 550Unicode のデフォルトの順方向データ・タイプ・マッピング - ODBC ラッパー . . . . . . . 551Unicode のデフォルトの逆方向データ・タイプ・マッピング - ODBC ラッパー . . . . . . . 551Unicode のデフォルトの順方向データ・タイプ・マッピング - Sybase ラッパー . . . . . . . 552Unicode のデフォルトの逆方向データ・タイプ・マッピング - Sybase ラッパー . . . . . . . 552

非リレーショナル・データ・ソースでサポートされるデータ・タイプ . . . . . . . . . . . . 553

IBM に関する情報へのアクセス . . . . 559IBM への連絡 . . . . . . . . . . . . . 559利用できる資料 . . . . . . . . . . . . . 559資料についてのコメントの送付 . . . . . . . 559

特記事項および商標 . . . . . . . . . 561特記事項 . . . . . . . . . . . . . . . 561商標 . . . . . . . . . . . . . . . . 563

索引 . . . . . . . . . . . . . . . 565

viii フェデレーテッド・データ・ソース 構成ガイド

Page 11: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 1 章 データ・ソースへのアクセスの構成の計画

フェデレーテッド・データ・ソースの構成の計画データ・ソースにアクセスするようにフェデレーテッド・サーバーを構成する前に、フェデレーテッド・システムをどのような構成にするかについて計画を立てる必要があります。

フェデレーテッド・オブジェクトの命名規則フェデレーテッド・データベース・オブジェクトに名前を付けるときに、守らなければならない規則があります。

フェデレーテッド・データベース・オブジェクトには、以下のものが含まれます。

v データ・タイプ・マッピング

v 関数マッピング

v 索引仕様

v ニックネーム

v サーバー定義

v ユーザー・マッピング

v ラッパー

これらのオブジェクトを登録する場合は、オブジェクトに名前を付ける必要があります。名前に区切り文字を使用しない場合は、フェデレーテッド・オブジェクトの名前は次のいずれかで始まる必要があります。

v 文字。Ö などの有効なアクセント付き文字も含みます。

v マルチバイト文字。マルチバイト環境のマルチバイト・スペースは除きます。

フェデレーテッド・オブジェクト名は、数字または下線文字で始めることはできません。

オブジェクト名を区切り ID として使用する場合には、名前の中で任意の場所に任意の文字を使用できます。フェデレーテッド・オブジェクトで使用する区切り文字は引用符で、″object_name″ のようにして使用します。SQL ステートメント内などでオブジェクト名を使用するときには、必ず区切り文字を組み込む必要があります。

引用符の付かない名前は、大文字に変換されます。

名前には、次の文字も含めることができます。

v A ~ Z

v 0 ~ 9

v @、#、$、および _ (下線)

フェデレーテッド・オブジェクト名は 128 バイトを超えることはできません。

© Copyright IBM Corp. 1998, 2006 1

Page 12: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

オプション (ラッパー、サーバー、やニックネーム・オプションなど) やオプション設定値は、2048 バイトまでです。

フェデレーテッド・システムで大/小文字が区別される値の保持データ・ソースで大/小文字が区別されている値は、フェデレーテッド・サーバーへの登録時に大/小文字の区別を保持することができます。

フェデレーテッド・システムで、データ・ソースで大/小文字が区別されるユーザーID やパスワードなど値を指定する必要が生ずることがよくあります。これらの値がデータ・ソースに渡された際に大/小文字が正しく伝えられるためには、以下のガイドラインに沿って行ってください。

v その値の大/小文字を正しく指定して、正しい引用符で囲む。二重引用符は、ラッパーやニックネームなどのオブジェクト名の場合はオプションです。REMOTE_AUTHID や REMOTE_PASSWORD ユーザー・マッピング・オプションなどのオプションの値には、単一引用符が必要です。

v ユーザー ID とパスワードの場合、 FOLD_ID と FOLD_PW サーバー・オプションを指定してこれらの値を自動的に正しい大/小文字に変換させることができます。このオプションを使えば、各データ・ソースで必要な大/小文字を覚えている必要はありません。大/小文字を気にせずに入力しても自動的に変換されます。

UNIX オペレーティング・システムのコマンド・プロンプトからの場合

フェデレーテッド・サーバーのオペレーティング・システムのコマンド・プロンプトで大/小文字が区別される値を引用符で囲む場合、引用符が正しく構文解析されるようにする必要があります。

二重引用符を含み、単一引用符を含まない SQL ステートメントSQL ステートメントに二重引用符が含まれるが、単一引用符が含まれない場合、ステートメント全体を単一引用符で囲みます。

たとえば、次の SQL ステートメントを発行するとします。

CREATE NICKNAME my_nickname FOR my_server."owner".my_table"

UNIX コマンド・プロンプトで次のようにテキストを入力します。

DB2 ’CREATE NICKNAME my_nickname FOR my_server."owner".my_table"’

単一引用符を含み、二重引用符を含まない SQL ステートメントSQL ステートメントに単一引用符が含まれるが、二重引用符が含まれない場合、ステートメント全体を二重引用符で囲みます。

たとえば、次の SQL ステートメントを発行するとします。

CREATE USER MAPPING FOR USER SERVER my_serverOPTIONS(REMOTE_AUTHID ’my_id’, REMOTE_PASSWORD ’my_password’)

UNIX コマンド・プロンプトで次のようにテキストを入力します。

DB2 "CREATE USER MAPPING FOR USER SERVER my_serverOPTIONS(REMOTE_AUTHID ’my_id’, REMOTE_PASSWORD ’my_password’)"

二重引用符と単一引用符の両方を含む SQL ステートメントSQL ステートメントに単一引用符と二重引用符の両方が含まれる場合は、以下のようにします。

2 フェデレーテッド・データ・ソース 構成ガイド

Page 13: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v ステートメント全体を二重引用符で囲みます。

v ステートメント内の各二重引用符の前に円記号を付けます。

たとえば、次の SQL ステートメントを発行するとします。

CREATE USER MAPPING FOR "local_id" SERVER my_serverOPTIONS(REMOTE_AUTHID ’my_id’, REMOTE_PASSWORD ’my_password’)

UNIX コマンド・プロンプトで次のようにテキストを入力します。

DB2 "CREATE USER MAPPING FOR \"local_id\" SERVER my_serverOPTIONS(REMOTE_AUTHID ’my_id’, REMOTE_PASSWORD ’my_password’)"

上述の例では、SQL ステートメントを UNIX コマンド・プロンプトから入力し、ステートメントを DB2 コマンドへ -f オプションなしで渡していると仮定しています。 SQL ステートメントを f- オプション付きの DB2 コマンドを使用してファイルから入力する場合は、それぞれの例の最初のかたちでステートメントを入力しなければなりません。

Windows オペレーティング・システムのコマンド・プロンプトからの場合

Windows で大/小文字が区別される値を保持するには、各二重引用符の前に円記号を置きます。たとえば、weekly_salary という Microsoft SQL サーバーの表用に nick1

というニックネームを作りたいとします。この表は、NORBASE データベースにあります。ローカル・スキーマは、my_schema です。

フェデレーテッド・サーバーの Windows コマンド・プロンプトで次のように入力します。

DB2 CREATE NICKNAME nick1FOR NORBASE.¥"my_schema¥".¥"weekly_salary¥"

DB2 CLP またはアプリケーション・プログラムからの場合

DB2 コマンド行プロンプト (CLP) から、またはアプリケーション・プログラムで値を指定する場合、正しい引用符で囲むことによって大/小文字が区別される値を保持することができます。

たとえば、ユーザー ID local_id のためのユーザー・マッピングを作成したいとします。リモート・ユーザー ID が my_id で、リモート・パスワードが my_password

です。これら 3 つの値をみな小文字のまま保持したいとします。 DB2 コマンド・プロンプトで次のように入力します。

CREATE USER MAPPING FOR "local_id" SERVER my_serverOPTIONS(REMOTE_AUTHID ’my_id’, REMOTE_PASSWORD ’my_password’)

データ・ソース統計の更新リレーショナル・データ・ソースへのアクセスを計画する場合、そのデータ・ソースにアクセスするフェデレーテッド・サーバーを構成する前に、リモート・データ・ソースで統計を更新しなければなりません。リモート・データ・ソースの統計を最新にしておくと、照会のパフォーマンスを向上させることができます。

フェデレーテッド・サーバーは、照会処理を最適化するのに、フェデレーテッド・データベースに保存されているデータ・ソース統計に依存します。これらの統計

第 1 章 データ・ソースへのアクセスの構成の計画 3

Page 14: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

は、データ・ソース・オブジェクトにニックネームを作成した時点で収集されます。フェデレーテッド・データベースはデータ・ソース側にオブジェクトが存在するか検査し、次にそのデータ・ソースの既存の統計データを収集しようとします。照会オプティマイザーにとって有用な情報は、データ・ソース・カタログから読み込まれ、フェデレーテッド・データベースのシステム・カタログに追加されます。

照会オプティマイザーはデータ・ソースからのカタログ情報の一部またはすべてを使用することがあるため、ニックネームを作成する前に、データ・ソース側で統計を更新することをお勧めします。 DB2 RUNSTATS コマンドに相当するコマンドをデータ・ソース側で使用して、データ・ソースの統計を更新します。

オブジェクトのニックネームを作成する際に、フェデレーテッド・データベースはデータ・ソース・オブジェクトのリモート統計情報を検索します。ニックネームの作成後に、データ・ソースがオブジェクトのカタログ統計を更新した場合、統計情報の変更はフェデレーテッド・データベースのシステム・カタログには伝搬されません。フェデレーテッド・データベース内のシステム・カタログがリモート・データ・ソース・オブジェクトの現在の統計を反映するようにするには、フェデレーテッド・サーバーが統計を更新するように要求しなければなりません。ニックネーム統計 (NNSTAT) ストアード・プロシージャーを実行して、統計を更新することができます。

ヒント: アクセスしたいデータ・ソース・オブジェクトを識別します。これらはニックネームを作成する対象のオブジェクトです。データ・ソースのうち、どれが統計を更新できるかを判断します。プランニング・チェックリストのデータ・ソース統計表にそれらのデータ・ソースをリストします。

正しいラッパーの選択ほとんどのデータ・ソースの場合、そのデータ・ソースにアクセスするのに使用できるラッパーは 1 つしかありません。しかしながら、データ・ソース内のデータにアクセスするのに、どのラッパーを使用するか選択することができるデータ・ソースもあります。

ODBC API をサポートするデータ・ソース

ODBC API をサポートするデータ・ソースにアクセスするには、これらのデータ・ソース用に設計されたラッパーを使用することも、ODBC ラッパーを使用することもできます。こうしたデータ・ソースの例には、Oracle、Microsoft Excel、Microsoft

SQL Server などがあります。通常は、これらのデータ・ソース専用に設計されたラッパーを使用したほうが、照会のパフォーマンスは向上します。

ODBC ドライバーはあるものの、 WebSphere Federation Server に組み込まれている特定のデータ・ソース・ラッパーではサポートされていないデータ・ソースへのアクセスには、ODBC ラッパーを使用します。たとえば、RedBrick データ・ソースにアクセスするには、ODBC ラッパーを使用します。

DB2 for Linux、UNIX、および Windows のデータ・ソースDB2 for Linux, UNIX, Windows データ・ソースにアクセスするために、ODBC ラッパーは使用しないでください。 DB2 for Linux, UNIX, Windows

データ・ソースにアクセスするために、ODBC ラッパーは使用することは

4 フェデレーテッド・データ・ソース 構成ガイド

Page 15: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

サポートされていません。 DB2 for Linux, UNIX, Windows データ・ソースにアクセスするには、DRDA ラッパーを使用してください。

Excel データ・ソース必要に応じて、Excel ラッパーを使用する代わりに ODBC ラッパーを使用して Excel データにアクセスできます。

Informix データ・ソースInformix データ・ソースにアクセスするには、ODBC ラッパーは使用しないでください。 ODBC ラッパーを使用 して Informix データ・ソースにアクセスすることはサポートされていません。 Informix データ・ソースにアクセスするには、Informix ラッパーを使用します。

ヒント: プランニング・チェックリストのラッパー表にフェデレーテッド・システム用に作成するラッパーを記入します。

Excel データにアクセスする方法Excel ラッパーまたは ODBC ラッパーのどちらかを使用して、Microsoft Excel ワークシートのデータにアクセスできます。

Excel データを照会するには、両方のラッパーとも、Excel ワークブック中のワークシートを開いて読み取れるフェデレーテッド・サーバーが必要です。それで、Excel

ワークブックは、フェデレーテッド・サーバーと同じコンピューター上か、またはネットワーク・アクセス可能なドライブ上になければなりません。

Excel ラッパーを使用する場合は、Excel アプリケーションがフェデレーテッド・サーバー上にインストールされていなければなりません。

ODBC ラッパーを使用する場合は、Excel ODBC ドライバーがフェデレーテッド・サーバー上になければなりません。このドライバーは、自動的に Microsoft

Windows® と共にインストールされます。 Excel アプリケーションをフェデレーテッド・サーバー上にインストールする必要はありません。

各ラッパーには、Excel ワークブック中のデータの場所とレイアウトに関するいくつかの要件があります。 Excel ラッパーを使用する場合は、ワークブック中の最初のワークシート中のデータしかアクセスできません。 ODBC ラッパーを使用する場合は、ワークブック中のどのワークシートのデータでもアクセスできます。

以下の例は、これらの 2 つのラッパーに関するワークシートのレイアウトの要件を示しています。

複数のラベル行と数式があるワークシートの例

この例は、ワークシートの上部に複数のラベル行があり、ブランク行を含み、13 行目に数式がある例を示しています。このワークシートのデータにアクセスするには、アクセスしたいセルの範囲を示さなければなりません。

第 1 章 データ・ソースへのアクセスの構成の計画 5

Page 16: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Excel ラッパーを使用する場合CREATE NICKNAME ステートメント中でセルの範囲を指定するには、RANGE オプションを使用します。指定する範囲には、データだけを含めてください。列ラベルをこの範囲に含めないでください。 SUM などの数式を含むセルは、数式ではなく数式の結果を戻します。数式の結果を戻したいのでなければ、数式を含むセルをこの範囲に含めないでください。この例では、セルの範囲として A4:D11 を RANGE オプションに含めます。

ODBC ラッパーを使用する場合セルの範囲に名前を作成して、ワークシート中のデータの場所を明示的に指定しなければなりません。 Excel は、このセルの範囲を名前付き範囲 として参照します。 Excel ODBC ドライバーは、範囲内の先頭行である 1 行のラベル行のみ認識します。ラベルとデータの間にブランク行は許されません。名前付き範囲には、列ラベルの行を 1 行だけ含めなければなりません。 CREATE NICKNAME ステートメントで名前付き範囲を指定します。名前を付ける範囲中には、列ラベルの行は 1 行だけ含めなければなりません。名前付き範囲内に 1 つの列ラベル行を含めない場合は、最初のデータ行が列ラベルとして扱われます。 SUM などの数式を含むセルは、数式ではなく数式の結果を戻します。数式の結果を戻したいのでなければ、数式を含むセルをこの範囲に含めないでください。この例では、名前を付けるセルの範囲は A3:D11 です。

1 つのラベル行を含むワークシートの例

この例は、ワークシートの上部に 1 つの列ラベル行のみある例を示しています。このレイアウトには、追加のラベル行、ブランク行、数式を含むセルはありません。

図 1. 複数のラベル行と数式を含むワークシート

6 フェデレーテッド・データ・ソース 構成ガイド

Page 17: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Excel ラッパーを使用する場合CREATE NICKNAME ステートメント中でセルの範囲を指定するには、RANGE オプションを使用しなければなりません。この範囲に 1 行目の列ラベルを含めることはできません。セルの範囲として A2:D9 を指定します。

ODBC ラッパーを使用する場合名前付き範囲を作成せずにこのデータにアクセスできます。 CREATE

NICKNAME ステートメント中にワークシート名を指定します。ラッパーは最初の非ブランク行をラベルとして読み取り、その情報をニックネームのための列名として使用します。後続の行はデータとして読み取られます。

データのみを含むワークシートの例

この例は、データのみを含むワークシートを示しています。列ラベルの行、ブランク行、公式を含むセルはありません。

図 2. 1 行目に 1 つの列ラベル行を含むワークシート

第 1 章 データ・ソースへのアクセスの構成の計画 7

Page 18: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Excel ラッパーを使用する場合ワークブック中の最初のワークシート中にデータがある場合は、 RANGE

オプションを使用しなくてもこのラッパーはデータにアクセスできます。ワークブック中のそれ以外のワークシート中にデータがある場合は、CREATE NICKNAME ステートメント中に RANGE オプションを指定しなければなりません。

ODBC ラッパーを使用する場合ODBC ラッパーを使用して Excel データにアクセスする場合は、このラッパーは Excel ODBC ドライバーのサポート内容による制限を受けます。Excel ODBC ドライバーには、特定のワークシートの形式が必要になります。このドライバーは、最初の非ブランク行に列ラベルが含まれていることを想定しています。最初の非ブランク行にデータが含まれている場合は、この行のデータは残りのデータの列ラベルとして扱われます。ワークシートに列ラベルの行が含まれていない場合、最初の行はデータではなくラベルとして使用されます。その結果、最初のデータ行は失われます。ワークシートに変更を加えると、この要件を満たすことができます。データの前に新しい行を挿入し、各データ列のラベルを追加すると、1 つのラベル行を含む例のようになります。

ユーザー・マッピングの計画フェデレーテッド・システムでユーザー・マッピングを指定する方法は、2 通りあります。LDAP などの外部リポジトリーを使用してユーザー・マッピングを保管することもできますし、フェデレーテッド・データベース・カタログにユーザー・マッピングを作成することもできます。

フェデレーテッド・サーバーがデータ・ソースに要求をプッシュダウンする必要がある場合、サーバーはまずデータ・ソースに接続を確立する必要があります。データ・ソースによっては、フェデレーテッド・サーバーはそのデータ・ソースに対して有効なユーザー ID とパスワードを使用して、接続を確立します。こうしたデー

図 3. データのみを含むワークシート

8 フェデレーテッド・データ・ソース 構成ガイド

Page 19: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

タ・ソースの場合、フェデレーテッド・サーバーのユーザー ID とパスワードおよびデータ・ソースのユーザー ID とパスワードの間の関連付けを定義しておく必要があります。分散要求を送信するためにフェデレーテッド・システムを使用するユーザー ID ごとに、この関連付けを必ず作成しておかなければなりません。この関連付けをユーザー・マッピング といいます。

外部リポジトリーの使用

ユーザー・マッピングは、Lightweight Directory Access Protocol (LDAP) サーバーなどの外部リポジトリーに保管することができます。ユーザー・マッピングをそのリポジトリーから取り出して認証情報をフェデレーテッド・サーバーに渡すプラグインを作成する必要があります。フェデレーションには、LDAP リポジトリー用に設計されたサンプルのプラグインが組み込まれています。それ以外の外部リポジトリーと連動させるには、独自にプラグインを作成するか、サンプルの LDAP プラグインを拡張することができます。

データベース・カタログでのマッピングの作成

1 つのデータ・ソースに同じユーザー ID とパスワードでアクセスするユーザーのグループに対して、DB2® コントロール・センターを使用してユーザー・マッピングを作成することができます。

ヒント: フェデレーテッド・サーバーとデータ・ソースとの間のユーザー・マッピングの作成が必要なユーザー ID を洗い出します。プランニング・チェックリストのユーザー・マッピング表に、フェデレーテッド・サーバーのユーザー ID と対応するデータ・ソースのユーザー ID をリストします。

データ・タイプ・マッピングの計画データ・ソースのデータ・タイプとフェデレーテッド・データベースのデータ・タイプの間で使用するマッピングについて考慮することは必要です。使用できるデフォルトのマッピング・セットがすでに備わっているか、マッピング情報を自分で指定する必要があるかは、データ・ソースによって異なります。

データ・ソースのデータ・タイプは、リモート・データ・タイプと呼ばれ、フェデレーテッド・データベースのデータ・タイプは、ローカル・データ・タイプと呼ばれます。

データ・ソースによっては、データ・ソースのデータ・タイプとフェデレーテッド・データベースの間のデフォルト・マッピングがラッパーにあります。データ・ソース・オブジェクトに対するニックネームの作成時に、列に関する情報はフェデレーテッド・データベースのシステム・カタログに保存されます。列のデータ・タイプは、デフォルトの順方向データ・タイプ・マッピングに基づきます。

ある種の非リレーショナル・ラッパーは、データ・ソースにアクセスするために必要なすべての列を作成します。これらは固定列 と呼ばれます。

他のデータ・ソースでは、ニックネーム作成時に列情報とデータ・タイプを指定しなければなりません。

第 1 章 データ・ソースへのアクセスの構成の計画 9

Page 20: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

アプリケーションによっては、デフォルトのマッピングとは異なるデータ・タイプ・マッピングを必要とする場合があります。データ・タイプ・マッピングが指定できるラッパーの場合、デフォルト・マッピングをオーバーライドして以下を行うことができます。

v 特定のサーバーにあるすべてのデータ・ソース・オブジェクトについて、タイプ・マッピングの変更

v 特定のデータ・ソース・オブジェクトのタイプ・マッピングの変更

v 特定のデータ・ソース・タイプのタイプ・マッピングの変更

v 特定のデータ・ソース・タイプおよびバージョンのためのタイプ・マッピングの変更

新しいデータ・タイプ・マッピングを定義するには、CREATE TYPE MAPPING ステートメントを使用します。作成したマッピングは、フェデレーテッド・データベースのグローバル・カタログ SYSCAT.TYPEMAPPINGS ビューに保管されます。

データ・タイプ・マッピングの変更は、データ・ソース・オブジェクトのニックネームを作成する前 に行います。データ・ソース・オブジェクトにニックネームを作成すると、フェデレーテッド・サーバーは表についての情報をグローバル・カタログに入れます。この情報には、ニックネーム、データ・ソースの表名、表のそれぞれの列に定義された列名およびデータ・タイプが含まれます。

マッピングが変更された後に作成されたニックネームのみが、新しいタイプ・マッピングを反映します。マッピングを変更する前に作成されたニックネームは、デフォルトのデータ・タイプ・マッピングを使用します。

ニックネームを作成した後でデータ・タイプ・マッピングを作成した場合は、新しいマッピングを反映するように各ニックネームを変更するか、ニックネームをドロップして再作成する必要があります。

重要: データ・ソース表が特殊データ・タイプまたはユーザー定義データ・タイプの列を含む場合、次の 2 つの選択があります。

v フェデレーテッド・データベースにタイプ・マッピングを作成した後、そのデータ・ソース表のニックネームを作成することができます。ニックネームを作成する前にタイプ・マッピングを作成することにより、フェデレーテッド・サーバーはどのデータ・タイプをこれらの列にマップするべきかを知ることができます。これらの特殊データ・タイプまたはユーザー定義データ・タイプのマッピングを CREATE NICKNAME ステートメントを出す前に作成しておかないなら、エラーになります。

v データ・ソース表の列が以下の条件のいずれかを満たす場合、

– 列は、システムまたは組み込みのデータ・タイプに基づくユーザー定義データ・タイプである

– 列は、データ・タイプ・マッピングでサポートされない属性を持つ

列を基になる組み込みデータ・タイプに関連付けるかキャスト するビューをデータ・ソースに作成することができます。次に、その表ではなくビューに対するニックネームを作成します。

10 フェデレーテッド・データ・ソース 構成ガイド

Page 21: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ヒント: 新しいマッピングを定義したいデータ・タイプ・マッピングを決定します。作成したいデータ・ソースとタイプ・マッピングを、プランニング・チェックリストのデータ・タイプ・マッピング表にリストします。

関数マッピングの計画フェデレーテッド・システムでは、既存の組み込みデータ・ソース関数と組み込みフェデレーテッド・データベース関数の間でデフォルトの関数マッピングがあります。

デフォルトの関数マッピングをオーバーライドする場合や関数マッピングが存在していない場合には、関数マッピングを作成することが必要になることがあります。

ほとんどのデータ・ソースの場合、ラッパー内にデフォルトの関数マッピングがあります。非リレーショナルのデータ・ソースの中には、デフォルトの関数マッピングを変更できないものもあります。

関数マッピングの作成が必要となる理由には、次のようなものがあります。

v 新規の組み込み関数やユーザー定義関数など、新しいデータ・ソース関数を使用するため。この場合、データ・ソース関数とフェデレーテッド・データベースにある対応する関数との間に、マッピングを作成します。

v データ・ソース関数を使用したいが、フェデレーテッド・データベースに対応する関数がないため。この場合、関数マッピングを作成する前に、フェデレーテッド・データベースに関数テンプレートを作成する必要があります。

ヒント: データ・ソースに関数マッピングを作成する必要があるかどうかを判断します。必要な関数マッピングをプランニング・チェックリストの関数マッピング表にリストします。

フェデレーテッド・システム構成の計画のためのチェックリストこのプランニング・チェックリストに沿って計画を立てると、フェデレーテッド・システムを簡単に構成できます。このチェックリストは、フェデレーテッド・システムの構成を最適化するのに役立ちます。

チェックリスト: フェデレーテッド・オブジェクトのネーミング規則

フェデレーテッド・オブジェクトのネーミング規則を知っていますか。

チェックリスト: 大/小文字が区別される値の保持リレーショナル・データ・ソースのみ

データ・ソースに送信するユーザー ID とパスワードの値の大/小文字を保持するために FOLD_ID および FOLD_PW サーバー・オプションを設定しますか。次の表を使用して、これらのオプションをどのサーバー定義に適用するかを示します。

第 1 章 データ・ソースへのアクセスの構成の計画 11

Page 22: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 1. プランニング・チェックリスト: フェデレーテッド・システムに設定する FOLD_IDおよび FOLD_PW サーバー・オプション

データ・ソース このデータ・ソースのサーバー定義で、サーバーにどのような名前を指定しますか?

FOLD_ID サーバー・オプションにどのような設定を指定しますか?

FOLD_PW サーバー・オプションにどのような設定を指定しますか?

チェックリスト: データ・ソース統計リレーショナル・データ・ソースのみ

次の表にフェデレーテッド・システムの一部となるデータ・ソースをリストします。データ・ソースへアクセスするためにフェデレーテッド・サーバーを構成する前に、統計を更新するデータ・ソースを示します。下記の表では、例として DB2 for Linux, UNIX, and Windows がリストされています。

表 2. プランニング・チェックリスト: フェデレーテッド・システム用に更新するデータ・ソース統計

データ・ソース このデータ・ソースはカタログ情報を保守しますか? (Y/N)

このデータ・ソースの統計を更新しますか? (Y/N)

統計を更新するためにデータ・ソースが使用するユーティリティーの名前

DB2 for Linux,

UNIX, and Windows

Y Y RUNSTATS

チェックリスト: ラッパー

次の表には、作成するラッパーを示します。

表 3. プランニング・チェックリスト: フェデレーテッド・システム用に作成するラッパー

データ・ソース デフォルトのラッパー名

ラッパーに付ける名前

BioRS なし

BLAST なし

ビジネス・アプリケーション(WebSphere Business Integration ラッパー)

なし

12 フェデレーテッド・データ・ソース 構成ガイド

Page 23: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 3. プランニング・チェックリスト: フェデレーテッド・システム用に作成するラッパー(続き)

データ・ソース デフォルトのラッパー名

ラッパーに付ける名前

DB2 for Linux, UNIX, and Windows®

DB2 Universal Database for z/OS and OS/390®

DB2 Universal Database for iSeries

DB2 Server for VM and VSE

DRDA

Entrez なし

Excel なし

HMMER なし

Informix INFORMIX

Microsoft® SQL Server MSSQLODBC3

Oracle NET8

ODBC ODBC

OLE DB OLEDB

スクリプト なし

Sybase CTLIB

表構造ファイル なし

Teradata TERADATA

Web サービス なし

XML なし

チェックリスト: ユーザー・マッピング外部リポジトリーに保管するユーザー・マッピング

使用する外部リポジトリーのタイプを決めましたか ?

作成するプラグインの名前は何ですか ?

_________________________________________________________

プラグイン名をどこに指定しますか? ラッパー __________ サーバー定義__________

システム・カタログに保管するユーザー・マッピング次の表には、フェデレーテッド・サーバーのユーザー ID とフェデレーテッド・システムの一部となる各 データ・ソース用の対応するユーザー ID を示します。

第 1 章 データ・ソースへのアクセスの構成の計画 13

Page 24: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 4. プランニング・チェックリスト: フェデレーテッド・システム用に作成するユーザー・マッピング

データ・ソース

__________

データ・ソース

__________

データ・ソース

_________

ユーザー名 フェデレーテッド・サーバーユーザー ID

ユーザー ID ユーザー ID ユーザー ID

チェックリスト: データ・タイプ・マッピング

次の表には、マッピングを作成する必要のあるデータ・ソースのデータ・タイプと対応するフェデレーテッド・サーバーのデータ・タイプを示します。

表 5. プランニング・チェックリスト: フェデレーテッド・システム用に作成するデータ・タイプ・マッピング

データ・ソース このデータ・ソースのサーバー定義で、リモート・サーバーにどのような名前を指定しますか?

データ・ソース・データ・タイプ

フェデレーテッド・サーバーのデータ・タイプ

14 フェデレーテッド・データ・ソース 構成ガイド

Page 25: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 2 章 フェデレーテッド・サーバーおよびデータベース

フェデレーテッド・サーバーのセットアップのチェックフェデレーテッド・サーバーのかぎとなる設定をチェックすることにより、構成についての潜在的な問題を避けられます。

WebSphere® Federation Server のインストール時に、このソフトウェアは、ユーザーに代わってフェデレーテッド・サーバーを構成しようと試みます。インストール中に問題が発生すると、フェデレーテッド・サーバーは正しくセットアップされません。

このタスクについて

フェデレーテッド・サーバーのセットアップをチェックするには、次のようにします。

1. ラッパー・ライブラリー・ファイルのデータ・ソース・クライアント・ソフトウェアへのリンク・エディットを確認する (UNIX®)。

2. FEDERATED パラメーターが YES に設定されていることを確認する。

フェデレーテッド・サーバーのセットアップをチェックした後、フェデレーテッド・データベースを作成する必要があります。

ラッパー・ライブラリー・ファイルのリンク・エディットの確認(UNIX)

UNIX 上で動作するフェデレーテッド・サーバーでは、データ・ソース用のクライアント・ソフトウェアとリンク・エディットする必要のあるラッパーがあります。

このタスクについて

リンク・エディット・ステップは、WebSphere Federation Server のインストール時に試行されます。リンク・エディット・ステップによって、フェデレーテッド・サーバーが通信するデータ・ソースごとにラッパー・ライブラリーが作成されます。

このタスクは次のデータ・ソースにのみ適用されます。

v Informix®

v Microsoft® SQL Server

v Oracle

v Sybase

v Teradata

データ・ソースにアクセスするようにフェデレーテッド・サーバーとデータベースを構成する前に、ラッパー・ライブラリー・ファイルのリンク・エディットが正しく行われていることを確認する必要があります。

手順

© Copyright IBM Corp. 1998, 2006 15

Page 26: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ラッパー・ライブラリー・ファイルのリンク・エディットの確認

リンク・エディットの状況を、次のようにして判別します。

v リンク・エディットが成功した場合、WebSphere Federation Server がインストールされているディレクトリーにラッパー・ライブラリー・ファイルが出力されます。

v リンク・エディットが失敗した場合、WebSphere Federation Server がインストールされているディレクトリーにあるエラー・メッセージ・ファイルを確認してください。

v リンク・エディットが実行されなかった場合、WebSphere Federation Server がインストールされているディレクトリーに、ライブラリー・ファイルもメッセージ・ファイルも出力されません。リンク・スクリプトを手動で実行する必要があります。

ラッパー・ライブラリー・ファイルのチェック (UNIX)アクセスする各データ・ソースのフェデレーテッド・サーバーにラッパー・ライブラリー・ファイルが存在することを確認する必要があります。

このタスクについて

このタスクは次のデータ・ソースにのみ適用されます。

v Informix

v Microsoft SQL Server

v Oracle

v Sybase

v Teradata

手順

ラッパー・ライブラリー・ファイルをチェックするには、次のようにします。

WebSphere Federation Server サーバーがインストールされているデフォルトのディレクトリー・パスに、ライブラリー・ファイルがあることを確認してください。ライブラリー・ファイルがディレクトリーに存在しない場合、ラッパー・ライブラリーを手動でデータ・ソース・クライアント・ソフトウェアにリンクする必要があります。

ラッパー・ライブラリーのディレクトリー・パスは、データ・ソースによって異なります。

ラッパー・ライブラリー・ファイルラッパー・ライブラリー・ファイルは、データ・ソースへのアクセスに必要です。

データ・ソースの中には、WebSphere Federation Server のインストール時にラッパー・ライブラリー・ファイルがフェデレーテッド・サーバーに追加されるものがあります。また、ライブラリー・ファイルを作成するためにリンク・エディット・スクリプトを実行しなければならないデータ・ソースもあります。データ・ソースごとに 3 つのラッパー・ライブラリー・ファイルがあります。

16 フェデレーテッド・データ・ソース 構成ガイド

Page 27: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ラッパー・ライブラリー・ファイルは、データ・ソースに対してラッパーを登録するときに必要です。

デフォルトのディレクトリー・パスにラッパー・ライブラリー・ファイルが追加されます。アクセスするデータ・ソースごとに設定済みラッパー・ライブラリー・ファイルが存在していなければなりません。

リンク・エディット・メッセージ・ファイルのチェック (UNIX)リンク・エディットに失敗すると、ライブラリー・ディレクトリー内のメッセージ・ファイルにエラーがリストされます。

このタスクについて

メッセージ・ファイルの存在は、リンク・エディットの失敗を意味するものではありません。リンク・エディットが成功しても、メッセージ・ファイルはライブラリー・ディレクトリーに存在します。

リンク・エディットが失敗したかどうかを判別するには、メッセージ・ファイルを開く必要があります。

このタスクは次のデータ・ソースでのみ必要です。

v Informix

v Microsoft SQL Server

v Oracle

v Sybase

v Teradata

手順

リンク・エディットが失敗したかどうかを判別するには、以下のようにします。

1. リンク・エディット・メッセージ・ファイルを開くリンク・エディット・メッセージ・ファイルは、WebSphere Federation Server がインストールされているディレクトリーの、lib32 または lib64 サブディレクトリーにあります。

リンク・エディット・メッセージ・ファイルの名前は、次の表にリストされています。

表 6. データ・ソース別のリンク・エディット・メッセージ・ファイル

データ・ソース メッセージ・ファイル名

Informix djxlinkInformix.out

Microsoft SQL Server djxlinkMssql.out

Oracle djxlinkOracle.out

Sybase djxlinkSybase.out

Teradata djxlinkTeradata.out

2. リンク・エディットの失敗を解決する。

フェデレーテッド・サーバーのセットアップ時にリンクが失敗するのにはいくつかの理由があります。

第 2 章 フェデレーテッド・サーバーおよびデータベース 17

Page 28: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v リンク・エディットが試行される前にデータ・ソース・クライアント・ソフトウェアがインストールされていない場合、リンク・エディットは失敗します。たとえば、DB2 サーバー・ソフトウェアをインストールする前に Informix クライアント・ソフトウェアをインストールしないと、リンク・エディットは失敗します。同様に、WebSphere Federation Server をインストールする前にSybase Open Client ソフトウェアをインストールしないと、リンク・エディットは失敗します。このような状況では、リンクを手動で実行する必要があります。

v データ・ソース・クライアント・ソフトウェアのバージョンがサポートされていることを確認します。インストールしたデータ・ソース・クライアント・ソフトウェアのバージョンがサポートされていない場合、リンク・エディットは失敗します。サポートされているクライアント・バージョンをインストールし、その後リンクを手動で実行する必要があります。

データ・ソース・クライアント・ソフトウェアにラッパー・ライブラリーを手動でリンクするラッパー・ライブラリー・ファイルがディレクトリー・パスに存在しない場合、ラッパー・ライブラリーを手動でリンクする必要があります。

始める前に

リンク・スクリプトを実行するためのルート権限が必要です。

フェデレーテッド・サーバー上に、アクセスしたいデータ・ソースのクライアント・ソフトウェアをインストールし、構成する必要があります。

djxlinkxxx スクリプトが母国語でメッセージを発行するには、フェデレーテッド・サーバー上に少なくとも 1 つのデータベース・インスタンスが存在しなければなりません。フェデレーテッド・サーバー上にインスタンスが存在しなくてもスクリプトは機能します。ただし、スクリプトはすべてのメッセージを英語で発行します。

このタスクについて

このタスクは次のデータ・ソースにのみ適用されます。

v Informix

v Microsoft SQL Server

v Oracle

v Sybase

v Teradata

手順

データ・ソース・クライアント・ソフトウェアにラッパー・ライブラリーをリンクするには、次のようにします。

18 フェデレーテッド・データ・ソース 構成ガイド

Page 29: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

1. リンクの実行に次のどちらの方式を使うかを決定します。

方式 ステップ

製品 CD を使用する方式。 v Informix データ・ソースの場合、DB2 for

Linux®, Unix, and Windows® のインストールを再実行し、「カスタム」インストール・オプションを指定します。

v Microsoft SQL Server、Oracle、Sybase、および Teradata データ・ソースの場合、WebSphere Federation Server インストールを再実行します。ランチパッドから「製品のインストール」をクリックし、ウィザードの指示に従います。

リンク・エディット・スクリプトを実行する方式。

1. UNIX コマンド・プロンプトを開き、アクセスするデータ・ソースごとに、リンク・エディット・スクリプトを実行します。リンク・エディット・スクリプトの名前は、次のとおりです。

v djxlinkInformix

v djxlinkMssql

v djxlinkOracle

v djxlinkSybase

v djxlinkTeradata

2. データ・ソースへのフェデレーテッド・アクセスを使用可能にするには、各 フェデレーテッド・データベース・インスタンスで db2iupdt コマンドを発行します。

WebSphere Federation Server によってサポートされるすべてのデータ・ソースに対してラッパー・ライブラリーの作成を試行する、djxlink という別のスクリプトもあります。djxlink スクリプトを実行し、一部のデータ・ソースのクライアント・ソフトウェアのみをインストールしている場合、インストールしていないそれぞれのデータ・ソースに関するエラー・メッセージを受け取ります。

2. リンクを実行した後、ラッパー・ライブラリーの許可をチェックします。データベース・インスタンス所有者によるライブラリーの読み取りと実行が可能であることを確認します。

FEDERATED パラメーターのチェックフェデレーテッド・サーバーのデータ・ソースへのアクセスを使用可能にするには、FEDERATED パラメーターを YES に設定する必要があります。

始める前に

第 2 章 フェデレーテッド・サーバーおよびデータベース 19

Page 30: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v フェデレーテッド・サーバーとして機能するサーバーに、 WebSphere Federation

Server をインストールしておく必要があります。

このタスクについて

フェデレーテッド・サーバーとデータベースにデータ・ソースを追加する前に、FEDERATED パラメーター設定をチェックする必要があります。

手順

FEDERATED パラメーター設定をチェックするには、次のようにします。

1. 次の DB2 コマンドを発行して、すべてのパラメーターとその現行の設定を表示します。

GET DATABASE MANAGER CONFIGURATION

2. CONCENTRATOR パラメーター設定をチェックします。CONCENTRATOR パラメーターと FEDERATED パラメーターを同時に YES に設定することはできません。CONCENTRATOR パラメーターが YES に設定されている場合、設定をNO に変更してください。 設定を変更するには次の DB2 コマンドを発行します。

UPDATE DATABASE MANAGER CONFIGURATION USING CONCENTRATOR NO

3. FEDERATED パラメーター設定をチェックします。FEDERATED パラメーターが NO に設定されている場合、設定を YESに変更してください。設定を変更するには次の DB2 コマンドを発行します。

UPDATE DATABASE MANAGER CONFIGURATION USING FEDERATED YES

フェデレーテッド・データベースの作成フェデレーテッド・サーバーをセットアップした後、インスタンス所有者は、フェデレーテッド・データベースとして機能するフェデレーテッド・サーバー・インスタンス上にデータベースを作成する必要があります。

始める前に

v データベースを作成するには、SYSADM または SYSCTRL 権限が必要です。

v フェデレーテッド・サーバーとして機能するサーバーに、 WebSphere Federation

Server をインストールしておく必要があります。

このタスクについて

フェデレーテッド・サーバーをデータ・ソースにアクセスできるように構成する前に、フェデレーテッド・データベースを作成しておく必要があります。

フェデレーテッド・データベースは、DB2 コントロール・センターを使用するか、または DB2 コマンド行から作成できます。

手順

フェデレーテッド・データベースを作成するには、以下のようにします。

1. フェデレーテッド・データベースを作成するときに指定するコード・セットと照合シーケンスを決定する。

20 フェデレーテッド・データ・ソース 構成ガイド

Page 31: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

2. フェデレーテッド・データベースの作成に使用する方式を決定する。

方式 ステップ

DB2 コントロール・センターの使用 「データベース」フォルダーを右クリックし、「作成」–>「データベース (ウィザードを使用)」をクリックします。「データベースの作成」ウィザードがオープンします。ウィザードのステップを最後まで行います。

DB2 コマンド行からの登録 CREATE DATABASE コマンドを発行します。

例:

CREATE DATABASE federatedUSING CODESET ISO8859-15TERRITORY BR

データベースの作成:

v 新規データベースの初期化

v 3 つの初期表スペースの作成

v システム表の作成

v リカバリー・ログの割り振り

インスタンスが複数のパーティション構成を使用している場合、データベースを作成すると、db2nodes.cfg ファイルにリストされたすべてのパーティションが影響を受けます。このコマンドの発行元データベース・パーティションは、新規データベース用のカタログ・パーティションになります。

フェデレーテッド・データベースのコード・セットおよび照合シーケンス

フェデレーテッド・データベースを作成するときは、保管されるデータの言語と、データベースでの文字データのソート順序を決定する必要があります。

データベースは、テリトリー、コード・セット、照合シーケンスを明示的に指定しない限り、データベースを作成するアプリケーションの設定を使用して作成されます。たとえば、ISO8859-15 コード・セットを使用するクライアントからフェデレーテッド・データベースを作成すると、そのデータベースでは同じコード・セットが使用されます。

推奨事項: 接続先のリモート・データ・ソースが異なるまたは非互換コード・セットを使用している場合、フェデレーテッド・データベースを Unicode データベースとして定義してください。フェデレーテッド・データベースを Unicode データベースとして定義するには、CREATE DATABASE コマンドの中で USING CODESET UTF-8 を指定します。

コード・セット、コード・ページ、およびテリトリー

CREATE DATABASE コマンドに CODESET および TERRITORY オプションを組み込むことによって、フェデレーテッド・データベースの言語を指定できます。

第 2 章 フェデレーテッド・サーバーおよびデータベース 21

Page 32: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

コード・セット は、特定の自然言語に含まれる文字にマップされる固有のビット・パターンを表す ISO 用語です。指定したコード・セットは、データベースを作成した後で変更することはできません。コード・セットを選択するときは、使用する言語に含まれるすべての文字をそのコード・セットでエンコードできることを確認してください。

コード・セットは、IBM が定義したコード・ページ にマップされます。

テリトリー・コード は、指定するコード・セットの地域固有情報を指定するのに使用されます。指定したテリトリーは、データベースを作成した後で変更することはできません。

照合シーケンス

CREATE DATABASE コマンドに COLLATE USING オプションを組み込むことによって、フェデレーテッド・データベースの照合シーケンスを指定します。

たとえば、次のようにします。

CREATE DATABASE federated USING CODESET UTF-8 COLLATE USING UCA400-NO

データベースを作成した後で照合シーケンスを変更することはできません。

リレーショナル・データ・ソースの場合、フェデレーテッド・データベースとデータ・ソースが同じ照合シーケンスを使用する場合、COLLATING_SEQUENCE サーバー・オプションを ’Y’ に設定する必要があります。COLLATING_SEQUENCE サーバー・オプションを ’Y’ に設定すると、フェデレーテッド・サーバーにフェデレーテッド・データベースとデータ・ソースの照合シーケンスが一致していることが通知されます。リレーショナル・データ・ソースに対してサーバー定義を作成するときに COLLATING_SEQUENCE サーバーを設定します。

COLLATING_SEQUENCE サーバー・オプションをサポートするリレーショナル・データ・ソースは次のとおりです。

v DB2 ファミリー

v Informix

v Microsoft SQL Server

v ODBC

v OLE DB

v Oracle

v Sybase

v Teradata

フェデレーテッド・データベースの各国語に関する考慮事項フェデレーテッド・データベースを作成するときに、どのコード・セットとテリトリーを使用するかを決める必要があります。データ・ソースが使用するものと同じ照合シーケンスを使用することにより、パフォーマンスを向上させることができます。

22 フェデレーテッド・データ・ソース 構成ガイド

Page 33: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

多くのデータ・ソースで、ラッパーはデータ・ソースへ接続する際に以下の各国語サポート (NLS) タスクを実行します。

1. フェデレーテッド・データベースのコード・ページおよびテリトリーを判別します。

2. そのコード・ページおよびテリトリーをデータ・ソースのクライアント・ロケール名にマップします (データ・ソースがサポートしている場合)。

3. データ・ソースに応じて、環境変数を設定する、データ・ソース API を呼び出してクライアント・ロケールが何であるかをデータ・ソースに知らせる、コード・セット変換を実行する準備をする、のいずれかを行います。

4. データが、以下のように変換されます。

v コード・ページ変換を実行するデータ・ソースの場合は、データ・ソースがリモート・データベースのコード・ページとフェデレーテッド・データベースのコード・ページの間で文字データを変換します。

v コード・ページの変換を実行しないデータ・ソースの場合、一部のラッパーが変換を実行します。

たとえば、フェデレーテッド・データベースがコード・ページ 819、テリトリーUS を使用する場合、これに相当する Oracle クライアント・ロケールはAmerican_America.WE8ISO8859P1 です。ラッパーは NLS_LANG 変数を Oracle

クライアント・ロケール値に設定します。データが Oracle データベースからラッパーへ送信される場合、Oracle データベースがデータをコード・セットAmerican_America.WE8ISO8859P1 からコード・ページ 819 へ変換します。データが Oracle データベースからラッパーへ送信される場合、Oracle サーバーまたはクライアントがデータを Oracle データベースのコード・ページからコード・ページ 819 へ変換します。データがラッパーから Oracle データベースへ送信される場合、Oracle サーバーまたはクライアントがデータをコード・ページ 819

から Oracle データベースのコード・ページへ変換します。

ヒント: データ・ソースと同じコード・セット、テリトリー、および照合シーケンスを使用するようにフェデレーテッド・データベースを定義すると、パフォーマンスを向上させることができます。データ・ソースと同じコード・セット、テリトリー、および照合シーケンスを使用するようにフェデレーテッド・データベースを定義する場合、コード・ページの変換は必要なくなります。大量の文字データを変換する場合、同じ各国語設定を使用することにより、パフォーマンスを向上させることができます。

フェデレーテッド・データベースでコード・ページおよびテリトリーを指定するには、CREATE DATABASE コマンドで USING CODESET および TERRITORY パラメーターを使用します。

フェデレーテッド・システムの照合シーケンスフェデレーテッド・データベースに指定する照合シーケンスは、文字ソートまたは文字比較を指定した照会がどのように処理されるかに影響を与えます。

フェデレーテッド・サーバーが照会を受け取ると、 SQL コンパイラーはグローバル・カタログ内の情報およびデータ・ソース・ラッパーを検討し、照会の処理に役立てます。SQL コンパイラー処理の一部として、照会オプティマイザー は照会を

第 2 章 フェデレーテッド・サーバーおよびデータベース 23

Page 34: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

分析します。コンパイラーは、アクセス・プラン と呼ばれる、照会を処理するための代替ストラテジーを作成します。アクセス・プランは、照会について次のような処理方法を要求します。

v 照会をデータ・ソースが処理する

v 照会をフェデレーテッド・サーバーが処理する

v 照会の一部をデータ・ソースが処理し、一部をフェデレーテッド・サーバーが処理する

照会が文字ソートおよび文字比較を必要とする場合、SQL コンパイラーは照合シーケンス情報を使用して、使用するアクセス・プランを決定します。一般に、データ・ソースで文字ソートおよび文字比較を実行すると、パフォーマンスは向上します。

デフォルトでは、フェデレーテッド・データベース照合シーケンスには大文字小文字の区別があります。しかし、大文字小文字を区別しない照合シーケンスを使用するフェデレーテッド・データ・ソースもあります。フェデレーテッド・データベースとデータ・ソースの照合シーケンスが異なる場合、文字ソートと文字比較がどこで実行されるかによって、照会の結果が異なる場合があります。操作が文字ソートの場合は通常、同じデータが戻されますが、結果の順序は異なります。操作が文字比較の場合、戻される結果が異なる場合があります。

ソートおよび比較が処理される場所は、いくつかの要因によって決まります。

v フェデレーテッド・データベースの照合シーケンスがデータ・ソース側の照合シーケンスと同じ場合、文字ソートおよび文字比較はデータ・ソース側で行うことができます。照会オプティマイザーは、ローカル操作とリモート操作のどちらがより効率的に照会を完了できるかを判断することができます。データ・ソースによるすべてのタイプの文字比較および文字ソートは、それらのアクションがフェデレーテッド・データベースによって実行されるかのように、同じ結果になることが想定されます。

v フェデレーテッド・データベースの照合シーケンスがデータ・ソース側の照合シーケンスと異なるが、データ・ソース側の照合シーケンスに大文字小文字の区別がある場合、文字ソートまたは文字比較は、フェデレーテッド・データベースで行われます。データ・ソースは、WHERE=、DISTINCT、および GROUP BY 操作の文字データに関して同じ結果になります。しかし、より大またはより小の述部を持つ ORDER BY や WHERE のような他の操作の場合、文字データに関して異なる結果になります。

v フェデレーテッド・データベースの照合シーケンスがデータ・ソース側の照合シーケンスと異なるが、データ・ソース側の照合シーケンスが大文字小文字を区別しない場合、文字ソートまたは文字比較は、フェデレーテッド・データベースで行われます。データ・ソースは大文字小文字を同等のものとみなし、要求された操作で大文字が指定されたか小文字が指定されたかに関係なく、それらの両方を結果に組み込むことが想定されます。WHERE=、より大またはより小の述部を持つ WHERE、ORDER BY、DISTINCT、および GROUP BY 操作は、データ・ソースにプッシュダウンされません。

たとえば、大文字小文字を区別しないデータ・ソースは、″S″ と ″s″ のどちらにも同じウェイトを割り当てます。英語コード・ページの大文字小文字を区別しないデータ・ソースでは、 STEWART、SteWArT、 stewart はすべて同じと見なされます。

24 フェデレーテッド・データ・ソース 構成ガイド

Page 35: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ただし、大文字小文字の区別のある照合シーケンスが使用されると、文字に対して異なるウェイトが割り当てられます。照合シーケンスの大文字小文字の区別によって、文字ソートおよび文字比較の結果セットは異なります。

フェデレーテッド・データベースとデータ・ソースの照合シーケンスが異なる場合、フェデレーテッド・サーバーはデータを取り出します。文字ソートおよび文字比較はローカルで実行されます。これらのタスクをローカルで実行する理由は、フェデレーテッド・サーバー・ユーザーは、フェデレーテッド・サーバーに定義された照合シーケンスにしたがって並べられた照会結果を見ることを期待しているからです。データをローカルで並び替えることにより、結果セットの一貫性が フェデレーテッド・サーバー・ユーザーに保証されます。データをローカルでソートおよび比較するために検索すると、通常はパフォーマンスが低下します。

データ・ソース側の照合シーケンスで並べられた文字データを見る必要がある場合は、照会をパススルー・セッションでサブミットすることができます。

データ・ソースとフェデレーテッド・データベースの照合シーケンスが同じかどうかを判断するには、以下の要因を検討してください。

コード・ページフェデレーテッド・サーバーおよびデータ・ソースによって使用される、ASCII や EBCDIC などのコード・ページ体系は結果に影響を与えます。

各国語サポート (NLS)照合シーケンスは、サーバーでサポートされる言語に関係しています。ご使用のオペレーティング・システムのフェデレーテッド・サーバー NLS 情報とデータ・ソース側の NLS 情報を比較してください。

データ・ソースの特性データ・ソースによっては、大文字小文字を区別しない照合シーケンスを使用して作成されており、その場合、順序に関係する操作では、フェデレーテッド・データベースとは異なる結果になることがあります。

カスタマイズあるデータ・ソースでは、照合シーケンスに複数のオプションを提供したり、照合シーケンスをカスタマイズできたりします。

照合シーケンスの設定のためのオプションがいくつかあります。以下を行うことができます。

v フェデレーテッド・データベースの作成時に照合シーケンスを設定する。

v データ・ソースのサーバー定義の作成時に COLLATING_SEQUENCE オプションを設定する。このオプションは、リレーショナル・データ・ソースでのみ使用できます。

第 2 章 フェデレーテッド・サーバーおよびデータベース 25

Page 36: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

26 フェデレーテッド・データ・ソース 構成ガイド

Page 37: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 3 章 データ・ソースへのアクセスの構成の概要

データ・ソースへのアクセスの構成の概要データ・ソースへアクセスするためにフェデレーテッド・サーバーを構成する基本的なステップは、データ・ソースに関係なく類似しています。

ラッパー、サーバー定義、ニックネームなど一連のオブジェクトを登録する必要があります。データ・ソースによっては、ユーザー・マッピングのセットを登録することが必要になる場合もあります。

データ・ソースの構成の近道データ・ソースへのアクセスを構成するために必要なステップのほとんどは、DB2

コントロール・センターを使用して行うことができます。

DB2 コマンド行または DB2 コマンド・センターは、コマンド行を必要とするステップで使用してください。

データ・ソースへのアクセスを構成する前に フェデレーテッド・サーバーが適切にセットアップされていることを確認してください。

データ・ソースへアクセスするためにフェデレーテッド・サーバーを構成するステップは、データ・ソースに関係なく類似しています。基本的なステップとお勧めするインターフェースを以下に示します。

表 7. お勧めするインターフェースおよび構成ステップ

構成ステップ 推奨インターフェース 注

1. データ・ソース用のフェデレーテッド・サーバーを準備します。

クライアント構成アシスタント

一部のデータ・ソースでのみ必要です。このステップでは、ソフトウェアのインストール、ファイルの構成、または設定の検査が必要になる場合があります。

2. 必要な環境変数を設定します。

DB2 コントロール・センター アクセスに環境変数が必要なものを以下に示します。

v Informix

v Microsoft SQL Server

v Oracle

v Sybase

v Teradata

ODBC など一部のデータ・ソースでは、特定の環境で環境変数が必要になる場合があります。

© Copyright IBM Corp. 1998, 2006 27

Page 38: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 7. お勧めするインターフェースおよび構成ステップ (続き)

構成ステップ 推奨インターフェース 注

2. ラッパーを登録します。 DB2 コントロール・センターの「フェデレーテッド・オブジェクト (Federated

Objects)」ウィザード。

ラッパーは、アクセスするデータ・ソースごとに必要です。

3. サーバー定義を登録します。

DB2 コントロール・センターの「フェデレーテッド・オブジェクト (Federated

Objects)」ウィザード。

サーバー定義はラッパーと関連付けられ、ニックネームを登録する際に使用されます。

4. ユーザー・マッピングを指定します。

v ユーザー・マッピングを作成します。

v ユーザー・マッピング用にLDAP などの外部リポジトリーで使用するプラグインを作成します。

ユーザー・マッピングの作成には、DB2 コントロール・センターの「フェデレーテッド・オブジェクト (Federated

Objects)」ウィザードを使用します。

ユーザー・マッピングに外部リポジトリーを使用する場合は、DB2_UM_PLUGIN オプションを指定します。

ユーザー・マッピングは、一部のデータ・ソースでのみ必要です。

ユーザー・マッピングを作成した場合、ユーザー・マッピングに関連付けられているリモート・パスワードをSYSCAT.USEROPTIONS カタログ・ビューから検索しようとすると、リモート・パスワードの値は暗号化されて表示されます。

5. データ・ソース・サーバーへの接続をテストします。

DB2 コマンド・センター 一部のデータ・ソースでのみ必要です。

6. ニックネームを作成します。

DB2 コントロール・センターの「フェデレーテッド・オブジェクト (Federated

Objects)」ウィザード。

ニックネームは、アクセスするデータ・ソース・オブジェクトごとに必要です。

DB2 コントロール・センターを使用したフェデレーテッド・サーバーへのデータ・ソースの追加

データ・ソースへアクセスするようにフェデレーテッド・サーバーを手早く構成するには、DB2 コントロール・センターを使用します。

アクセスするデータ・ソースとオブジェクトに関する情報をフェデレーテッド・サーバーに提供します。 DB2 コントロール・センターには、フェデレーテッド・サーバーの構成に必要な手順を示すウィザードが含まれています。

手順

DB2 コントロール・センターを使用してデータ・ソースへアクセスするようにフェデレーテッド・サーバーを構成するには、「フェデレーテッド・オブジェクト(Federated Objects)」ウィザードを使用します。ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」 フォルダーを右マウス・ボタンでクリックし、フェデレーテッド・オブジェクトの作成をクリックします。

フェデレーテッド・サーバーを構成するのに必要なステップは、データ・ソースごとに異なります。

28 フェデレーテッド・データ・ソース 構成ガイド

Page 39: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

「アクション出力」ウィンドウを使用して、データ・ソースへアクセスするように複数のフェデレーテッド・サーバーを構成できます。

データ・ソースへアクセスするための複数のフェデレーテッド・サーバーの構成

フェデレーテッド・システムを複数のフェデレーテッド・サーバーで構成することができます。各フェデレーテッド・サーバーを個別に構成するのではなく、DB2 コントロール・センターを使用してフェデレーテッド・サーバーを構成することによって、時間を節約できます。

始める前に

v WebSphere Federation Server が、フェデレーテッド・サーバーとして機能するサーバー上にインストールされている必要があります。

v フェデレーテッド・データベースはフェデレーテッド・サーバー上になければなりません。

このタスクについて

最初のサーバーを構成する際に、フェデレーテッド・オブジェクトの作成時に発行される DDL ステートメントが、「アクション出力」 ウィンドウでキャプチャーされます。これらのステートメントを再利用または変更し、ステートメントを適用することにより、追加のフェデレーテッド・サーバーをすぐに構成できます。

現行セッションでは、「アクション出力」ウィンドウはアクティブのままです。「アクション出力」ウィンドウをクローズしても、現行セッションの DDL ステートメントは引き続き「アクション出力」ウィンドウに保管されます。ただし、DB2

コントロール・センターをクローズすると、現行セッションからのすべての DLL

ステートメントが「アクション出力」ウィンドウから除去されます。

手順

データ・ソースへアクセスするための複数のフェデレーテッド・サーバーを構成するには、以下を行います。

1. DB2 コントロール・センターを使用して、アクセスするデータ・ソース用に最初のフェデレーテッド・サーバーを構成します。これにより、各 DDL ステートメントがキャプチャーされます。

2. 「アクション出力」ウィンドウに「アクション出力」ページが表示されます。「アクション出力」ウィンドウをクローズする場合、「フェデレーテッド・データベース・オブジェクト」フォルダーを右マウス・ボタンでクリックし、「アクションの表示」をクリックして、「アクション出力」ウィンドウをオープンします。

3. 他のフェデレーテッド・サーバーで使用しない DDL ステートメントをすべて削除します。ステートメントを削除するには、そのステートメントを右マウス・ボタンでクリックし、「除去」をクリックします。たとえば、「アクション出力」ページで状況列に「失敗」が表示されているすべてのステートメントを削除することもできます。

4. 他のフェデレーテッド・サーバーで使用するステートメントを「コマンド・エディター」ページにコピーします。

第 3 章 データ・ソースへのアクセスの構成の概要 29

Page 40: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

a. コピーするステートメントを選択します。複数のステートメントを選択するには、Ctrl キーを使用します。

b. 選択したステートメントを右マウス・ボタンでクリックし、「コマンド・エディターにコピー」をクリックします。「コマンド・エディター」ページがオープンします。

5. 他のフェデレーテッド・サーバーで使用する、「コマンド・エディター」 ページ内のすべての DDL ステートメントを変更します。たとえば、ローカル・スキーマを指定するすべてのステートメントを変更することもできます。

ユーザー・マッピングを変更して、フェデレーテッド・サーバーの適切なパスワードを指定しなければなりません。CREATE USER MAPPING ステートメントの DDL が「アクション出力」ウィンドウでキャプチャーされるときには、パスワードはアスタリスクで隠されます。このアスタリスクを適切なパスワードに置き換えなければなりません。

6. 「アクション出力」ウィンドウに生成された DDL ステートメントを変更した後、それらのステートメントを次のフェデレーテッド・サーバーで実行します。

データ・ソース環境変数の設定環境変数は db2dj.ini ファイルに設定されます。

始める前に

このタスクはシステム管理者が実行しなければなりません。

制約事項

db2dj.ini ファイルの制約事項

このタスクについて

以下のデータ・ソースでは、環境変数の設定が必要です。

v Informix

v Microsoft SQL Server

v Oracle

v Sybase

v Teradata

特定の環境では、それ以外のデータ・ソースに環境変数を設定することが必要になる場合もあります。たとえば、ODBC データ・ソースの場合、$HOME ディレクトリーに .odbc.ini 構成ファイルがなければ、ODBCINI 環境変数を設定することが必要です。

WebSphere Federation Server をインストールする場合、インストール・プロセスでは、いくつかのデータ・ソースで必要となる環境変数の設定が試行されます。WebSphere Federation Server をインストールする前にフェデレーテッド・サーバーをにクライアント・ソフトウェアをインストールしていなかった場合など、環境変数を設定できない場合もあります。

手順

30 フェデレーテッド・データ・ソース 構成ガイド

Page 41: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

環境変数を設定するには、以下のようにします。

データ・ソースをフェデレーテッド・サーバーに追加するためのステップに従います。環境変数の検査、およびそれらの設定 (必要な場合) を行えます。環境変数を検査するためのステップは、データ・ソースごとに異なります。

v DB2 コントロール・センターを使用して、データ・ソースをフェデレーテッド・サーバーに追加する場合、環境変数に関する要件が自動的に検査されます。ラッパーを作成または変更する際に、環境変数を設定できます。

v DB2 コマンド行を使用して、データ・ソースをフェデレーテッド・サーバーに追加する場合、環境変数の設定は手動で行わなければなりません。

db2dj.ini ファイルの制約事項db2dj.ini ファイルには、環境変数が入っています。db2dj.ini ファイルの項目には制約事項があります。

db2dj.ini ファイルには、以下の制約事項が適用されます。

v 項目の形式は evname=value でなければならない。

evname は環境変数の名前、 value はその値です。

v 環境変数の名前の最大長は 255 バイト。

v 環境変数の値の最大長は 765 バイト。

v ファイル内の行の最大長はすべて 1021 バイト。その長さを超えるデータは無視されます。

複数パーティション・インスタンス構成での環境変数の適用フェデレーテッド・サーバー・インスタンスが複数パーティション構成を持つ場合、すべてのパーティションにデータ・ソース環境変数を適用する必要があります。

このタスクについて

db2dj.ini ファイルには、データ・ソース環境変数が入っています。このファイルは、WebSphere Federation Server のインストール時にフェデレーテッド・サーバーに追加されます。

db2dj.ini ファイルのデフォルト・パスとファイル名は、DB2_DJ_INI レジストリー変数によってオーバーライドされる可能性があります。

すべてのパーティションまたはパーティションのサブセットに DB2_DJ_INI レジストリー変数を適用できます。

重要: DB2_DJ_INI レジストリー変数を設定する際は、絶対パスに設定する必要があります。FEDERATED パラメーターが YES に設定され、DB2_DJ_INI レジストリー変数が相対パスに設定されると、データベース・エンジンは開始されません。

手順

データ・ソース環境変数をすべてのパーティションに適用するには、以下のようにします。

第 3 章 データ・ソースへのアクセスの構成の概要 31

Page 42: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

1. 同じ db2dj.ini ファイルのコピーを複数パーティション・インスタンス構成のすべてのパーティションに追加する必要があります。ファイルのデフォルト名はdb2dj.ini ファイルです。

v UNIX フェデレーテッド・サーバーでは、db2dj.ini ファイルのデフォルト・パスは、INSTHOME/sqllib/cfg です。INSTHOME は、インスタンス所有者のホーム・ディレクトリーです。

v Windows フェデレーテッド・サーバーでは、ファイルへのデフォルト・パスは、x:\SQLLIB\cfg です。x:\SQLLIB は、DB2PATH レジストリー変数または環境変数で指定されたドライブとディレクトリーです。

2. フェデレーテッド・サーバー上の該当するパーティションに DB2_DJ_INI レジストリー変数を適用するには、 db2set コマンドを使用します。db2set コマンドは、DB2 プロファイル変数を表示、設定、または除去します。

3. 使用する db2set コマンドの構文は、データベース・システムの構造によって異なります。

パーティション コマンド

このインスタンス内のすべてのデータベース・パーティションに DB2_DJ_INI レジストリー変数を適用するには、次のコマンドを発行します。

db2set -gDB2_DJ_INI=$HOME/sqllib/cfg/my_db2dj.ini

現行パーティションにのみ DB2_DJ_INI レジストリー変数を適用するには、次のコマンドを発行します。

db2setDB2_DJ_INI=$HOME/sqllib/cfg/my_db2dj.ini

特定のパーティションに DB2_DJ_INI レジストリー変数を適用するには、次のコマンドを発行します。

db2set -iINSTANCEX3 DB2_DJ_INI=$HOME/sqllib/cfg/partition3.ini

INSTANCEX

インスタンスの名前。

3 db2nodes.cfg ファイルにリストされるパーティション番号。

partition3.ini

db2dj.ini ファイルの変更バージョンおよびリネーム・バージョン。

データ・ソースのラッパーの登録データ・ソースにアクセスするためには、ラッパーを登録する必要があります。ラッパーは、データ・ソースとの通信やデータの検索のためにフェデレーテッド・サーバーによって使用されます。ラッパーは、ライブラリー・ファイルのセットとしてインプリメントされます。

このタスクについて

アクセスするデータ・ソースのタイプごとに、ラッパーを 1 つ登録します。たとえば、3 つの DB2 for z/OS® データベース表、1 つの DB2 for iSeries™ 表、2 つのBLAST 検索タイプにアクセスするには、2 つのラッパーを登録する必要があります。DB2 データベース用に 1 つのラッパー、BLAST 検索タイプ用に 1 つのラッパーを登録する必要があります。

32 フェデレーテッド・データ・ソース 構成ガイド

Page 43: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

手順

ラッパーを登録するには、次のようにします。

ラッパーは、DB2 コントロール・センターまたは DB2 コマンド行から登録できます。

v DB2 コントロール・センターを使用してラッパーを登録するには、「フェデレーテッド・オブジェクト (Federated Objects)」ウィザードを使用するか、または「フェデレーテッド・オブジェクト (Federated Objects)」フォルダーを右クリックし、「ラッパー作成」をクリックします。

v DB2 コマンド行からラッパーを登録するには、CREATE WRAPPER ステートメントを使用します。

フェデレーテッド・データベースにこれらのラッパーが登録されると、それらのラッパーを使用して、これらのデータ・ソースのその他のオブジェクトにアクセスすることができます。たとえば、DB2 for iSeries 表にアクセスするためにラッパーを登録した場合に、その DB2 ラッパーを使用して、すべての DB2 ファミリーのデータ・ソース・オブジェクト (DB2 for Linux, UNIX, and Windows、 DB2 for z/OS

and OS/390®、DB2 for iSeries、および DB2 Server for VM and VSE) からのデータ・ソースにアクセスすることができます。

データ・ソースのサーバー定義の登録ニックネームを作成するすべてのデータ・ソース・オブジェクトを、特定のサーバー定義と関連付けなければなりません。

このタスクについて

サーバー定義の目的は、データ・ソースによって異なります。

通常、リレーショナル・データ・ソースのサーバー定義はリモート・データベース、データベース・パーティション、またはノードを表します。非リレーショナル・データ・ソースの場合、サーバー定義の中には、検索タイプとデーモン、Web

サイト、または Web サーバーへマップするものがあります。他の非リレーショナル・データ・ソースの場合、フェデレーションで必要となる場合にのみサーバー定義が作成されます。

いくつかのデータ・ソースでは、サーバー定義を登録する際にノードを指定しなければなりません。ノードの概念はデータ・ソースによって異なります。リレーショナル・データ・ソースの場合、ノードはデータ・ソースのサーバー・インスタンスを反映します。

手順

データ・ソースのサーバー定義を登録するには、次のようにします。

サーバー定義は、DB2 コントロール・センターまたは DB2 コマンド行を使用することによって登録できます。

第 3 章 データ・ソースへのアクセスの構成の概要 33

Page 44: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v DB2 コントロール・センターを使用してサーバー定義を登録するには、「フェデレーテッド・オブジェクト (Federated Objects)」ウィザードを使用するか、または「サーバー定義(Server Definitions)」フォルダーを右クリックし、「作成(Create)」をクリックします。

v サーバー定義の登録を DB2 コマンド行から行うには、CREATE SERVER ステートメントを使用します。

サーバー定義の登録時に指定するパラメーターとオプションは、データ・ソースごとに異なります。

データ・ソースのユーザー・マッピングの登録データ・ソースによっては、フェデレーテッド・サーバーの許可 ID とデータ・ソースのユーザー ID およびパスワードとの間の関連を定義する必要があります。

このタスクについて

フェデレーテッド・システムを使用する、各ユーザー ID のユーザー・マッピングを作成して、分散要求を送信します。外部リポジトリーを使用してユーザー・マッピングを保管するか、またはフェデレーテッド・データベースのカタログにユーザー・マッピングを登録することができます。

手順

データ・ソースのユーザー・マッピングを登録するには、以下のようにします。

ユーザー・マッピングは、DB2 コントロール・センターまたは DB2 コマンド行から作成できます。

方法 操作

外部リポジトリーを使用してユーザー・マッピングを登録する

ラッパーまたはサーバー定義の登録時に、ユーザー・マッピング・プラグインを作成して、DB2_UM_PLUGIN オプションを指定します。

DB2 コントロール・センターを使用してユーザー・マッピングを登録するには、以下のようにします。

「フェデレーテッド・オブジェクト(Federated Objects)」ウィザードを使用するか、または「ユーザー・マッピング」フォルダーを右マウス・ボタンでクリックし、「作成」をクリックします。

DB2 コマンド行からユーザー・マッピングを登録する

CREATE USER MAPPING ステートメントを使用します。

データ・ソースのニックネームの登録アクセスするデータ・ソース・オブジェクトごとに、ニックネームを登録しなければなりません。

このタスクについて

ニックネームの登録に関するステップおよび要件は、データ・ソースごとに異なります。

34 フェデレーテッド・データ・ソース 構成ガイド

Page 45: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

推奨事項: ニックネームを登録するには、DB2 コントロール・センターを使用してください。ほとんどのデータ・ソースに関して、DB2 コントロール・センターのDiscover ツールを使用できます。 Discover ツールは、ニックネームの登録を必要とする可能性があるデータ・ソース・オブジェクトを素早く識別するのに役立ちます。

手順

データ・ソースにニックネームを登録するには、次のようにします。

ニックネームは、DB2 コントロール・センターまたは DB2 コマンド行から登録できます。

v DB2 コントロール・センターを使用してニックネームを登録するには、「フェデレーテッド・オブジェクト (Federated Objects)」ウィザードを使用するか、または「ニックネーム (Nickname)」フォルダーを右クリックし、「作成 (Create)」をクリックします。 Discover ツールを使用して、ニックネームを作成するオブジェクトを識別します。

v ニックネームの登録を DB2 コマンド行から行うには、CREATE NICKNAME ステートメントを使用します。

同じデータ・ソース・オブジェクトに、複数のニックネームを定義することができます。

非リレーショナル・データ・ソースのニックネーム列の指定いくつかの非リレーショナル・データ・ソースでは、ニックネームを登録する際に列のリストを定義しなければなりません。指定する各列は、データ・ソース・オブジェクト内の特定のフィールド、列、またはエレメントにマップされます。

このタスクについて

いくつかの非リレーショナル・データ・ソースで使用されるラッパーは、固定入出力列のセットを必要とします。ニックネームを登録して、フェデレーテッド・データベース・システム・カタログに追加される時に、固定列が自動的に定義されます。

手順

ニックネームを登録する際に列のリストを定義するには、列名およびデータ・タイプを指定します。ニックネーム列にオプションを指定することが必要な場合もあります。

オプションの構成ステップデータ・ソースへアクセスするためにフェデレーテッド・サーバーを構成する際に、いくつかのオプションのステップを行わなければならない場合があります。

索引仕様

索引がないオブジェクトに索引仕様を定義します。たとえば、表に新しい索引ができた時に、または通常は索引を持たないデータ・ソース・オブジェクト (ビューなど) に索引仕様を作成します。

第 3 章 データ・ソースへのアクセスの構成の概要 35

Page 46: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

データ・タイプ・マッピング

代替データ・タイプ・マッピングを指定できるのは、リレーショナル・データ・ソースだけです。

デフォルトのデータ・タイプ・マッピングを使用せずに、代替のデータ・タイプ・マッピングを指定します。特定のデータ・ソース・オブジェクト (データベース内の特定の表など) にのみ使用するマッピングを指定することができます。

関数マッピング

関数マッピングを指定できるのは、リレーショナル・データ・ソースだけです。

デフォルトの関数マッピングを使用せずに、代替の関数マッピングを定義します。これは、強制的にフェデレーテッド・サーバーにデータ・ソース側でユーザー定義関数を使用させたい場合に特に便利です。

36 フェデレーテッド・データ・ソース 構成ガイド

Page 47: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 4 章 BioRS データ・ソース

BioRS データ・ソースへのアクセスの構成フェデレーテッド・システムを使用すると、BioRS データ・バンクにあるデータと他のソースからの情報を統合させることができます。

手順

BioRS データ・ソースにアクセスするようにフェデレーテッド・サーバーを構成するには、アクセスするデータ・ソースとオブジェクトに関する情報をフェデレーテッド・サーバーに提供します。フェデレーテッド・サーバー構成後は、照会を作成し、カスタム関数を使用して BioRS データ・ソースにアクセスできます。

BioRS ラッパーBioRS は、複数のデータ・ソースから情報を検索するのに使用できる照会および検索システムです。 BioRS ラッパーは、BioRS の Web ベースのインターフェースと同じ API を使用して情報を照会します。

BioRS は、ドイツ Biomax 社が開発した照会および検索システムです。BioRS を使用すると、フラット・ファイルやリレーショナル・データベースを含む、複数のデータ・ソースから情報を検索できます。通常 SwissProt や GenBank のような公用データは、フラット・ファイルとして BioRS システムにダウンロードします。BioRS

は公用データ・ソースと専用データ・ソース (組織独自で保守する専用データベースなど) を共通環境に統合できます。

BioRS システムに統合されたデータ・ソースは、データ・バンク と呼ばれます。各データ・バンクの項目に含まれるエレメントは、まとめてスキーマ と呼ばれます。索引付けされているデータ・バンクのエレメントは、BIORS.CONTAINS、BIORS.CONTAINS_GE、および BIORS.CONTAINS_LE 関数で使用できます。BioRS

関数は SELECT ステートメントの WHERE 文節で指定されます。索引付けされていないエレメントは、SELECT リストおよび WHERE 文節内の他の述部で参照できます。索引付けされていないエレメントは、フェデレーテッド・サーバーによって処理されます。

データ・バンクの項目同士を関連付け、BioRS システムでデータ・バンクを結合することも可能です。

BioRS データ・バンクには、親子関係を指定できます (ネスト可能)。親子関係では、子データ・バンクは PARENT と呼ばれる Reference データ・タイプ・エレメントを持ちます。PARENT エレメントは親データ・バンクの _ID_ エレメントを参照します。ネスト化されたデータ・バンクとネスト化されていないデータ・バンクが収容するデータの違いは、この定義済み PARENT エレメントのみです。

BioRS は BioRS データ・バンクのデータを照会できる Web ベースのインターフェースを提供します。BioRS ラッパーは、BioRS の Web ベースのインターフェース

© Copyright IBM Corp. 1998, 2006 37

Page 48: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

と同じアプリケーション・プログラミング・インターフェース (API) を使用して情報を照会します。BioRS ラッパーは BioRS バージョン 5.0.14 およびバージョン5.2 と連動します。

ユーザーまたはアプリケーションは、クライアントから SQL ステートメントを使用した照会をサブミットします。照会は BioRS ラッパーがインストールされたフェデレーテッド・システムに送信されます。照会の構成の仕方によっては、フェデレーテッド・サーバーと BioRS サーバーの両方が照会の処理に使用される場合があります。BioRS サーバーは、フェデレーテッド・システムとは異なるコンピューター上にある場合もあります。ただし、各照会ごとに、フェデレーテッド・システムから BioRS サーバーに認証情報を提供する必要があります。認証情報は、ユーザーID とパスワードの組み合わせか、非認証標識 (通常はゲスト・アカウント) のいずれかです。

BioRS 製品の詳細については、Biomax の Web サイト http://www.biomax.com を参照してください。

フェデレーテッド・サーバーへの BioRS データ・ソースの追加BioRS データ・ソースにアクセスするようにフェデレーテッド・サーバーを構成するには、アクセスするデータ・ソースとオブジェクトに関する情報をフェデレーテッド・サーバーに提供します。

始める前に

v IBM® WebSphere Federation Server は、フェデレーテッド・サーバーとして機能するサーバーにインストールする必要があります。

v フェデレーテッド・データベースがフェデレーテッド・サーバー上になければなりません。

このタスクについて

図 4. BioRS ラッパーが機能する構造

38 フェデレーテッド・データ・ソース 構成ガイド

Page 49: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

コントロール・センターを使用するか、またはコマンド行で SQL ステートメントを発行することによって、 BioRS データ・ソースに保管されているデータにアクセスするようフェデレーテッド・サーバーを構成することができます。コントロール・センターには、必須フェデレーテッド・オブジェクトを構成するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

BioRS データ・ソースをフェデレーテッド・サーバーに追加するには、次のようにします。

1. BioRS ラッパーのカスタム関数を登録します。

2. BioRS ラッパーを登録します。

3. BioRS サーバー定義を登録します。

4. オプション: BioRS ユーザー・マッピングを作成します。

5. BioRS データ・バンクのニックネームを登録します。

BioRS ラッパーのカスタム関数の登録BioRS ラッパーを登録する前に、BioRS カスタム関数を登録する必要があります。BioRS カスタム関数は、BioRS ラッパーとともに使用され、BioRS 照会エンジンに述部をプッシュダウンします。

このタスクについて

BioRS ラッパーがインストールされている各フェデレーテッド・データベース・インスタンスにカスタム関数をすべて登録する必要があります。

BioRS ラッパーのカスタム関数はすべて、biors というスキーマ名を使用して登録する必要があります。

手順

BioRS カスタム関数を登録するには、次のようにします。

BioRS カスタム関数ごとに、CREATE FUNCTION ステートメントを発行してください。カスタム関数ごとに、2 つのデータ・タイプを指定する必要があります。指定できる最初のデータ・タイプは、索引付けされた列です。指定できる 2 番目のデータ・タイプは、検索語です。 CREATE FUNCTION ステートメントには、AS

TEMPLATE、DETERMINISTIC、および NO EXTERNAL ACTION キーワードを含める必要があります。

BIORS.CONTAINS 関数の構文例は以下のとおりです。

CREATE FUNCTION biors.contains (column_data_type, search_term_data_type)RETURNS INTEGER AS TEMPLATEDETERMINISTIC NO EXTERNAL ACTION;

ヒント: BioRS カスタム関数を登録するには、サンプル・ファイルcreate_function_mappings.ddl を使用します。このサンプル・ファイルはフェデレーテッド・サーバーの sqllib/samples/lifesci/biors ディレクトリーにあります。サンプル・ファイルには、考えられる データ・タイプの組み合わせ

第 4 章 BioRS データ・ソース 39

Page 50: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ごとに CREATE FUNCTION ステートメントが含まれています。カスタム関数を登録するには、create_function_mappings.ddl ファイルを編集して、カスタム関数ごとに索引列および検索語のデータ・タイプを指定します。その後、BioRS ラッパーがインストールされている各フェデレーテッド・データベース・インスタンスで、create_function_mappings.ddl ファイルを実行する必要があります。

BioRS ラッパーのカスタム関数BioRS ラッパーとともに使用されるカスタム関数についての説明と例

フェデレーテッド環境は 2 つの照会エンジンを使用します。BioRS ラッパーの場合、フェデレーテッド・データベース照会エンジンと BioRS 照会エンジンがそれに当たります。 BioRS カスタム関数を使用して、述部を BioRS エンジンにプッシュダウンすることを指定できます。

BioRS ラッパーのカスタム関数は以下のとおりです。

v BIORS.CONTAINS

v BIORS.CONTAINS_LE

v BIORS.CONTAINS_GE

v BIORS.SEARCH_TERM

BioRS カスタム関数を登録するには、CREATE FUNCTION ステートメントを使用します。

以下の表では、4 つの BioRS カスタム関数と、関数を登録する際に指定できる有効なデータ・タイプの例がリストされています。

表 8. BioRS ラッパーのカスタム関数関数 説明

BIORS.CONTAINS (VARCHAR(), VARCHAR())

BIORS.CONTAINS (VARCHAR(), CHAR())

BIORS.CONTAINS (VARCHAR(), DATE)

BIORS.CONTAINS (VARCHAR(), TIMESTAMP)

索引付けされている列を検索して、指定する値と等しい (BioRS 照会セマンティクスに従って) 値を探します。最初の引数は索引付けされている列への参照でなければならず、2 番目の引数は指定する検索値になります。

BIORS.CONTAINS_LE (VARCHAR(), VARCHAR())

BIORS.CONTAINS_LE (VARCHAR(), SMALLINT)

BIORS.CONTAINS_LE (VARCHAR(), BIGINT)

BIORS.CONTAINS_LE (VARCHAR(), DECIMAL)

BIORS.CONTAINS_LE (VARCHAR(), DOUBLE)

BIORS.CONTAINS_LE (VARCHAR(), REAL)

索引付けされている列を検索して、指定する値以下の (BioRS 照会セマンティクスに従って)

値を探します。最初の引数は索引付けされている列への参照でなければならず、2 番目の引数は指定する検索値になります。

BIORS.CONTAINS_GE (CHAR(), CHAR())

BIORS.CONTAINS_GE (CHAR(), DATE)

BIORS.CONTAINS_GE (CHAR(), TIMESTAMP)

BIORS.CONTAINS_GE (CHAR(), INTEGER)

BIORS.CONTAINS_GE (CHAR(), SMALLINT)

BIORS.CONTAINS_GE (CLOB(), DATE)

索引付けされている列を検索して、指定する値以上の (BioRS 照会セマンティクスに従って)

値を探します。最初の引数は索引付けされている列への参照でなければならず、2 番目の引数は指定する検索値になります。

BIORS.SEARCH_TERM (VARCHAR(), VARCHAR())

BIORS.SEARCH_TERM (VARCHAR(), CHAR())

BIORS.SEARCH_TERM (CHAR(), VARCHAR())

BIORS.SEARCH_TERM (CHAR(), CHAR())

BioRS 照会式を BioRS 検索エンジンに渡します。

40 フェデレーテッド・データ・ソース 構成ガイド

Page 51: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

BioRS ラッパーの登録BioRS データ・ソースにアクセスするためには、ラッパーを登録する必要があります。フェデレーテッド・サーバーは、ラッパーを使用して、データ・ソースとの通信、およびデータ・ソースからのデータの取得を行います。ラッパーは、ライブラリー・ファイルのセットとしてインプリメントされます。

このタスクについて

ラッパーは、コントロール・センターを使用するか、またはコマンド行から登録できます。コントロール・センターには、ラッパーを登録するために必要なステップを順番に提供するウィザードが組み込まれています。

プロキシー・サーバーおよび鍵ストアを使用して BioRS ファイルにアクセスする場合は、ラッパーまたはサーバー定義を登録する際に鍵ストア情報をオプションとして指定できます。ラッパー登録時に鍵ストア情報を指定すると、BioRS ファイルを照会するときにはその設定が使用されます。サーバー定義の登録時に異なる設定を指定した場合には、ラッパー設定は使用されません。

手順

BioRS ラッパーを登録するには、次のようにします。

BioRS ラッパーの登録に使用する方式を、以下のように選択します。

方式 手順

コントロール・センターの使用 フェデレーテッド・オブジェクト・ウィザードの開始。「フェデレーテッド・データベース・オブジェクト」フォルダーを右マウス・ボタンでクリックし、「フェデレーテッド・オブジェクトの作成」をクリックします。

コマンド行から CREATE WRAPPER ステートメントを発行します。

CREATE WRAPPER wrapper_nameLIBRARY library_name;

BioRS 文書へのアクセスにプロキシー・サーバーを使用する場合、発行するステートメントは以下のとおりです。

CREATE WRAPPER wrapper_nameLIBRARY library_nameOPTIONS (PROXY_TYPE ’type’,PROXY_SERVER_NAME ’server_name’,PROXY_SERVER_PORT ’port_number’);

CREATE WRAPPER ステートメントに LIBRARY パラメーターを指定する必要があります。指定するラッパー・ライブラリー・ファイルの名前は、フェデレーテッド・サーバーのオペレーティング・システムによって異なります。 CREATEWRAPPER ラッパー・ステートメントで指定する正しいライブラリー名については、『BioRS ラッパー・ライブラリー・ファイル』のリストを参照してください。

第 4 章 BioRS データ・ソース 41

Page 52: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

BioRS ファイルへのアクセスにプロキシー・サーバーまたは鍵ストアを使用する場合は、BioRS ラッパー登録時にいくつかのラッパー・オプションを指定する必要があります。

BioRS ラッパー・ライブラリー・ファイルBioRS ラッパー・ライブラリー・ファイルは、WebSphere Federation Server のインストール時にフェデレーテッド・サーバーに追加されます。

WebSphere Federation Server のインストール時に、デフォルトのディレクトリー・パスに 3 つのライブラリー・ファイルが追加されます。たとえば、フェデレーテッド・サーバーが AIX® 上で実行されている場合、ディレクトリー・パスには、libdb2lsbiors.a、libdb2lsbiorsF.a、および libdb2lsbiorsU.a が追加されます。デフォルトのラッパー・ライブラリー・ファイルは libdb2lsbiors.a です。他のラッパー・ライブラリー・ファイルは特定のラッパー・オプションで使用されます。

CREATE WRAPPER ステートメントに LIBRARY パラメーターを含め、デフォルトのラッパー・ライブラリー・ファイルの名前を指定する必要があります。

以下の表に、デフォルトのディレクトリー・パスとデフォルトのラッパー・ライブラリー・ファイルの名前がリストされています。

表 9. BioRS ラッパーのライブラリーのロケーションおよびファイル名

オペレーティング・システム

ディレクトリー・パス ラッパー・ライブラリー・ファイル名

AIX /usr/opt/<install_path>/lib32/

/usr/opt/<install_path>/lib64/

libdb2lsbiors.a

Linux /opt/IBM/db2/<install_path>/lib32

/opt/IBM/db2/<install_path>/lib64

libdb2lsbiors.so

Solaris /opt/IBM/db2/<install_path>/lib32

/opt/IBM/db2/<install_path>/lib64

libdb2lsbiors.so

Windows %DB2PATH%¥bin db2lsbiors.dll

<install_path> は、IBM WebSphere Federation Server が UNIXまたは Linux 上でインストールされるディレクトリー・パスです。

%DB2PATH% は、 IBM WebSphere Federation Server が Windows 上でインストールされるディレクトリー・パスを指定するのに使用される環境変数です。デフォルトの Windows ディレクトリー・パスは、C:¥Program Files¥IBM¥SQLLIB です。

CREATE WRAPPER ステートメント - BioRS ラッパーの例BioRS ラッパーを登録するには、CREATE WRAPPER ステートメントを使用します。例では、プロキシー・サーバーを介してまたは介さずに BioRS ドキュメントにアクセスするために必要なパラメーターを示します。

ラッパーの登録

XML ドキュメントへのアクセスにプロキシー・サーバーを使用していない場合、ラッパーを登録するために発行するステートメントは以下のようになります。

42 フェデレーテッド・データ・ソース 構成ガイド

Page 53: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CREATE WRAPPER biors_wrapper LIBRARY ’libdb2lsbiors.a’;

biors_wrapper

BioRS ラッパーに割り当てる名前。重複するラッパー名は使用できません。

LIBRARY ’libdb2lsbiors.a’

AIX オペレーティング・システムを使用するフェデレーテッド・サーバーに対応するラッパー・ライブラリー・ファイルの名前。

HTTP プロキシー・サーバーのラッパーの登録

ラッパーを登録して、HTTP プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE WRAPPER biors_proxy LIBRARY ’libdb2lsbiors.a’OPTIONS (PROXY_TYPE ’HTTP’,

PROXY_SERVER_NAME ’proxy.mysite.com’,PROXY_SERVER_PORT ’81’);

PROXY_TYPE ’HTTP’

フェデレーテッド・サーバーがファイアウォールで保護された状態でインターネットにアクセスする際に使用する、プロキシー・タイプを指定します。有効値は ’NONE’、’HTTP’、または ’SOCKS’ です。

PROXY_SERVER_NAME ’proxy.mysite.com’

プロキシー・サーバー名または IP アドレスを指定します。 PROXY_TYPE

サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

PROXY_SERVER_PORT ’81’

プロキシー・サーバーのポート番号を指定します。 PROXY_TYPE サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

SOCKS プロキシー・サーバーのラッパーの登録

ラッパーを登録して、認証情報のない SOCKS プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE WRAPPER biors_wrapper LIBRARY ’libdb2lsbiors.so’OPTIONS (PROXY_TYPE ’SOCKS’,PROXY_SERVER_NAME ’proxy_socks’,PROXY_SERVER_PORT ’1081’);

LIBRARY ’libdb2lsbiors.so’

Linux および Solaris オペレーティング・システムを使用するフェデレーテッド・サーバーに対応するラッパー・ライブラリー・ファイルの名前。

PROXY_TYPE ’SOCKS’

フェデレーテッド・サーバーがファイアウォールで保護された状態でインターネットにアクセスする際に使用する、プロキシー・タイプを指定します。有効値は ’NONE’、’HTTP’、または ’SOCKS’ です。

PROXY_SERVER_NAME ’proxy_socks’

プロキシー・サーバー名または IP アドレスを指定します。 PROXY_TYPE

サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

第 4 章 BioRS データ・ソース 43

Page 54: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

PROXY_SERVER_PORT ’1081’

プロキシー・サーバーのポート番号を指定します。 PROXY_TYPE サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

BioRS データ・ソースのサーバー定義の登録フェデレーテッド・データベース内に、アクセスする BioRS サーバーをそれぞれ登録する必要があります。

このタスクについて

サーバー定義は、コントロール・センターを使用するか、またはコマンド行から登録できます。コントロール・センターには、サーバー定義を登録するために必要なステップを順番に提供するウィザードが組み込まれています。

プロキシー・サーバーおよび鍵ストアを使用して BioRS ファイルにアクセスする場合は、ラッパーまたはサーバー定義を登録する際、プロキシー・サーバー情報をオプションとして指定できます。サーバー定義の登録時にプロキシー・サーバー情報を指定すると、これらの設定がラッパー登録時に指定したプロキシー・サーバー設定よりも優先されます。

手順

BioRS データ・ソースのサーバー定義を登録するには、次のようにします。

サーバー定義の登録に使用する方式を、以下のように選択します。

方式 手順

コントロール・センターの使用

フェデレーテッド・オブジェクト・ウィザードの開始。「フェデレーテッド・データベース・オブジェクト」フォルダーを右マウス・ボタンでクリックし、「フェデレーテッド・オブジェクトの作成」をクリックします。

コマンド行から CREATE SERVER ステートメントを発行します。たとえば、次のようにします。

CREATE SERVER server_definition_nameVERSION version_number WRAPPER wrapper_nameOPTIONS (NODE ’node_name’);

XML ファイルへのアクセスにプロキシー・サーバーまたは鍵ストアを使用する場合は、BioRS ラッパーまたはサーバー定義の登録時にいくつかのオプションを指定する必要があります。 BioRS ラッパーの登録時にプロキシー・サーバー情報を指定する場合は、以下のようなステートメントを発行します。

CREATE SERVER server_definition_nameVERSION version_number WRAPPER wrapper_nameOPTIONS (PROXY_TYPE ’type’,PROXY_SERVER_NAME ’server_name’,PROXY_SERVER_PORT ’port_number’);

44 フェデレーテッド・データ・ソース 構成ガイド

Page 55: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

サーバー定義の登録時に、CREATE SERVER ステートメントにサーバー・オプションを指定します。サーバー・オプションには、必須のオプションと任意指定のオプションとがあります。 BioRS サーバーが IBM WebSphere Federation Server 以外のシステムで稼働している場合は、NODE サーバー・オプションが必須です。

サーバー定義を登録した後、サーバー・オプションを追加またはドロップするには、ALTER SERVER ステートメントを使用します。

CREATE SERVER ステートメント - BioRS ラッパーの例BioRS ラッパーにサーバー定義を登録するには、CREATE SERVER ステートメントを使用します。例には、必須パラメーター、オプション・パラメーター、および指定可能な追加サーバー・オプションが示されています。

必須パラメーターを使用したサーバー定義の登録

次に、CREATE SERVER ステートメントを実行して BioRS ラッパーのサーバー定義を登録する方法の例を示します。

CREATE SERVER biors_server VERSION ’5.2’ WRAPPER biors_wrapperOPTIONS(NODE ’biors.myco.com’);

biors_server

BioRS サーバーに割り当てる名前。重複するサーバー定義名は使用できません。

VERSION ’5.2’

これは、アクセスしたい BioRS サーバーのバージョンです。サポートされている BioRS バージョンは 5.0.14 と 5.2 です。バージョン 5.2 の BioRS

サーバーにアクセスする場合、 VERSION パラメーターの値として ’5.2’

を指定する必要があります。バージョン 5.0.14 を使用している場合は、このオプションを指定する必要はありません。デフォルト値 ’1.0’ は、バージョン 5.0.14 と等価で、ユーザーが値を指定しなかった場合にこのパラメーターに使用されます。

WRAPPER biors_wrapper

CREATE WRAPPER ステートメントで指定したラッパー名。

NODE ’biors_server2.com’

BioRS 照会ツールが使用可能なシステムのホスト名を指定します。デフォルト値は、localhost です。この値は大/小文字の区別があります。

ノード名は CREATE SERVER ステートメントではオプションとなっていますが、BioRS データ・ソースの場合は必要です。

オプション・パラメーターとサーバー・オプションを使用したサーバー定義の登録

以下の例には、BioRS ラッパーにサーバー定義を登録するときに指定できる追加パラメーターとサーバー・オプションが示されています。

CREATE SERVER biors_server TYPE BioRS VERSION ’5.2’ WRAPPER biors_wrapperOPTIONS (NODE ’biors_server2.com’, PORT ’2525’, TIMEOUT 30, CASE_SENSITIVE ’N’);

TYPE BioRS

アクセスを構成するデータ・ソース・サーバーのタイプを指定します。

第 4 章 BioRS データ・ソース 45

Page 56: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

BioRS ラッパーの場合、サーバー・タイプは BioRS でなければなりません。このパラメーターはオプションです。

PORT ’5555’

BioRS サーバーへの接続に使用するポート番号を指定します。デフォルト値は ’5014’ です。

TIMEOUT 30

BioRS ラッパーの BioRS サーバーからの応答待機時間を分単位で指定します。デフォルト値は 10 です。このパラメーターはオプションです。

CASE_SENSITIVE ’N’

BioRS サーバーが大/小文字を区別して名前を扱うかどうかを指定します。有効値は ’Y’ または ’N’ です。デフォルト値は ’Y’ です。

BioRS 製品では、BioRS サーバー・マシンに格納されているデータの大/小文字の区別を構成パラメーターで制御します。CASE_SENSITIVE オプションは、フェデレーテッド・サーバーにおける BioRS システム構成パラメーターに相当します。BioRS システムとフェデレーテッド・サーバーで、BioRS サーバーの大/小文字の区別の構成設定を同期させなければなりません。BioRS サーバーとフェデレーテッド・サーバーの間で大/小文字の区別に関する構成設定を同期させておかないと、フェデレーテッド・サーバーを介した BioRS データへのアクセスを試行した際にエラーが発生します。

重要: 新しい BioRS 定義を作成した後で、CASE_SENSITIVE オプションを変更または削除することはできません。 CASE_SENSITIVE オプションを変更する必要がある場合は、サーバー定義をドロップしてから再作成する必要があります。BioRS サーバー定義をドロップした場合、そのサーバー定義を参照していたすべての BioRS ニックネームも作成する必要があります。フェデレーテッド・サーバーは、ドロップされたサーバーに対応するすべてのニックネームを自動的にドロップします。

プロキシー・サーバーを含むサーバー定義の登録CREATE SERVER biors_proxy_serv VERSION 5.2 WRAPPER biors_proxyOPTIONS (NODE ’biors.mysite.com’,PORT ’5555’,PROXY_TYPE ’HTTP’

PROXY_TYPE ’HTTP’

ファイアウォールで保護された状態でインターネットにアクセスする際に使用する、プロキシー・タイプを指定します。有効値は ’NONE’、’HTTP’、または ’SOCKS’ です。

PROXY_SERVER_NAME ’proxy.mysite.com’

プロキシー・サーバー名または IP アドレスを指定します。 PROXY_TYPE

サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

PROXY_SERVER_PORT ’81’

プロキシー・サーバーのポート番号を指定します。 PROXY_TYPE サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

46 フェデレーテッド・データ・ソース 構成ガイド

Page 57: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

認証情報のあるプロキシー・サーバーを含むサーバー定義の登録

サーバー定義を登録して、認証情報のある SOCKS プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE SERVER biors_proxy_serv VERSION 5.2 WRAPPER biors_proxyOPTIONS (NODE ’biors.mysite.com’,PORT ’5555’,PROXY_TYPE ’SOCKS’PROXY_SERVER_NAME ’proxy_socks’,PROXY_SERVER_PORT ’1081’,PROXY_AUTHID ’argle’PROXY_PASSWORD ’bargle’)

PROXY_AUTHID ’argle’

プロキシー・サーバーのユーザー IDを指定します。 PROXY_TYPE サーバー・オプションの値が ’SOCKS’ の場合、このサーバー・オプションは必須です。

PROXY_PASSWORD ’bargle’

ユーザー名 ’argle’ に関連したプロキシー・サーバー上のパスワードを指定します。PROXY_TYPE サーバー・オプションの値が ’SOCKS’ の場合、このサーバー・オプションは必須です。

BioRS データ・ソースのユーザー・マッピングの作成BioRS サーバーにアクセスする場合、フェデレーテッド・サーバーは BioRS サーバーへの接続を確立します。 BioRS システムで使用しているアカウントへのアクセス方式により、ユーザー・マッピングを作成する必要がない場合があります。

ユーザー・マッピングは、各フェデレーテッド・サーバー・ユーザー ID およびパスワードと、対応するデータ・ソース・ユーザー ID およびパスワードとの間の関連付けです。

ユーザー・マッピングをフェデレーテッド・システムで指定するには 2 つの方式があります。 LDAP などの外部リポジトリーを使用してユーザー・マッピングを保管するか、またはフェデレーテッド・データベース・カタログにユーザー・マッピングを作成することができます。

始める前に

BioRS システムで使用しているアカウント・アクセス方式により、ユーザー・マッピングを作成する必要があるかどうかが決まります。

v BioRS サーバーですべてのユーザー・アカウントにゲスト・アクセスを設定している場合、ユーザー・マッピングを作成する必要はありません。フェデレーテッド・サーバーは、ゲスト・アカウントを使用して BioRS サーバーにアクセスします。

v LDAP など、ユーザー・マッピングを保管できる外部リポジトリーがある場合は、ユーザー・マッピングを作成する必要はありません。 BioRS ラッバーではDB2_UM_PLUGIN オプションを指定する必要があります。このオプションは、ラッパーの登録または変更の際に指定できます。外部リポジトリーのスキーマには、ゲスト・アクセスが含まれている必要があります。

第 4 章 BioRS データ・ソース 47

Page 58: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v BioRS サーバーが、ユーザー・アカウントを ID とパスワードで認証するよう構成されている場合、BioRS データ・ソースへのアクセスに BioRS ラッパーを使用するあらゆるユーザー・アカウントに対応するユーザー・マッピングをフェデレーテッド・データベースに作成する必要があります。

v BioRS サーバーが、ゲストおよび認証ユーザー・アカウントの両方を使用するよう構成されている場合、BioRS データ・ソースへのアクセスに BioRS ラッパーを使用する認証ユーザー・アカウントに対応するユーザー・マッピングを作成する必要があります。

このタスクについて

ユーザー・マッピングは、BioRS ラッパーを使用して BioRS データ・ソースを照会するユーザーまたはアプリケーションのアクセスを認証します。ユーザー・マッピングがユーザーまたはアプリケーションに対して定義されていない場合、フェデレーテッド・サーバーはゲスト・アカウントを使用します。照会対象のデータ・バンクで認証が必要な場合、エラー・メッセージが戻される可能性があります。

正しいユーザー ID とパスワードを確実に BioRS サーバーに渡すには、BioRS データ・ソースの検索を許可されたユーザーのユーザー・マッピングをフェデレーテッド・システムに作成します。ユーザー・マッピングを作成する際、リモート・パスワードは暗号化された形式でフェデレーテッド・データベースのシステム・カタログ表に格納されます。

手順

ローカル・ユーザー ID を BioRS サーバーのユーザー ID とパスワードにマップするには、以下のようにします。

ユーザー・マッピングの作成に使用する方式を、以下のように選択します。

方式 手順

コントロール・センターの使用 フェデレーテッド・オブジェクト・ウィザードの開始。「フェデレーテッド・データベース・オブジェクト」フォルダーを右マウス・ボタンでクリックし、「フェデレーテッド・オブジェクトの作成」をクリックします。

コマンド行の使用 CREATE USER MAPPING ステートメントを発行します。たとえば、次のようにします。

CREATE USER MAPPING FOR local_userIDSERVER server_definition_nameOPTIONS (REMOTE_AUTHID ’remote_userID’,REMOTE_PASSWORD ’remote_password’)PROXY_AUTHID ’proxy_server_userID’,PROXY_PASSWORD ’proxy_server_password’;

サーバー定義とユーザー・マッピングの登録に際してプロキシー・サーバーの認証情報を指定する場合は、CREATE USER MAPPING ステートメントで指定した値がCREATE SERVER ステートメントで指定した値よりも優先されます。

48 フェデレーテッド・データ・ソース 構成ガイド

Page 59: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

たとえば、組織に 10 人の人がいて、サーバー定義を登録する際に認証情報を指定するとします。ユーザー・マッピングは 10 人のうち 3 人について作成します。この 3 人がフェデレーテッド・システムにアクセスするときには、ユーザー・マッピング作成時に指定した認証情報が使用されます。残りの 7 人に関しては、サーバー定義の登録時に指定した認証情報が使用されます。

CREATE USER MAPPING ステートメント - BioRS ラッパーの例CREATE USER MAPPING ステートメントを使用して、フェデレーテッド・サーバーのユーザー ID を BioRS サーバーのユーザー ID およびパスワードにマップしてください。

ゲスト・ユーザー・アカウント、認証ユーザー・アカウント、USER 特殊レジスターまたはプロキシー・サーバーの指定により、ユーザー・マッピングを作成できます。

ゲスト・ユーザー・アカウントのユーザー・マッピングの作成

GUEST ユーザー・オプションでは、BioRS ラッパーが BioRS サーバーにアクセスするのにゲスト・アカウントを使用するかどうかを指定します。

以下の例では、BioRS サーバーへのアクセスにゲスト・ユーザー・アカウントを使用することを指定する方法を示します。

CREATE USER MAPPING FOR charlie SERVER biors_serverOPTIONS (GUEST ’Y’);

charlie BioRS サーバーで定義されたユーザー ID にマップするローカルのユーザー ID を指定します。

SERVER biors_server

CREATE SERVER ステートメントで登録した BioRS サーバーのサーバー定義名を指定します。

GUEST ’Y’

BioRS ラッパーがこのユーザーの認証にゲスト・ユーザー・アカウントを使用することを指定します。

認証ユーザー・アカウントに対応するユーザー・マッピングの作成

以下に示すのは、フェデレーテッド・サーバーのユーザー ID を BioRS サーバーのユーザー ID およびパスワードにマップする方法を示す例です。

CREATE USER MAPPING FOR charlie SERVER biors_serverOPTIONS (REMOTE_AUTHID ’charlene’,REMOTE_PASSWORD ’all4one’);

charlie BioRS サーバーで定義されたユーザー ID にマップするローカルのユーザー ID を指定します。

SERVER biors_server

CREATE SERVER ステートメントで登録した BioRS サーバーのサーバー定義名を指定します。

REMOTE_AUTHID ’charlene’

charlie をマップする BioRS サーバー側のユーザー ID を指定します。この

第 4 章 BioRS データ・ソース 49

Page 60: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

リモート ID は、BioRS サーバーで受け入れ可能な形式でなければなりません。 BioRS サーバーへのアクセスにゲスト・アカウントを使用しない場合に、このオプションは必須です。

REMOTE_PASSWORD ’all4one’

’charlene’ に関連するパスワードを指定します。 BioRS サーバーへのアクセスにゲスト・アカウントを使用しない場合に、このオプションは必須です。

特殊レジスターを使用してのユーザー・マッピングの作成

フェデレーテッド・データベース特殊レジスター USER を使用して、CREATE

USER MAPPING ステートメントを実行する人の許可 ID を、 REMOTE_AUTHID

ユーザー・オプションに指定されるデータ・ソースの許可 ID にマップすることができます。

以下に、特殊レジスター USER を含む CREATE USER MAPPING ステートメントの例を示します。

CREATE USER MAPPING FOR USER SERVER biors_serverOPTIONS (REMOTE_AUTHID ’charlene’, REMOTE_PASSWORD ’all4one’);

プロキシー・サーバーのユーザー・マッピングの作成

以下に示すのは、フェデレーテッド・サーバーのユーザー ID を BioRS サーバーのユーザー ID およびパスワードにマップする方法を示す例です。

サーバー定義を登録して、認証情報のある SOCKS プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE USER MAPPING FOR charlie SERVER biors_proxyOPTIONS (REMOTE_AUTHID ’charlene’,REMOTE_PASSWORD ’all4one’PROXY_AUTHID ’chuck’PROXY_PASSWORD ’them2us’);

PROXY_AUTHID ’chuck’

プロキシー・サーバーのユーザー IDを指定します。プロキシー・サーバーで認証が必要である場合に、このユーザー・マッピング・オプションは必須です。

PROXY_PASSWORD ’them2us’

ユーザー名 ’chuck’ に関連したプロキシー・サーバー上のパスワードを指定します。プロキシー・サーバーで認証が必要である場合に、このユーザー・マッピング・オプションは必須です。

BioRS データ・ソースのニックネームの登録登録するそれぞれの BioRS サーバー定義で、アクセスしたいそれぞれのデータ・バンクごとにニックネームを登録する必要があります。 BioRS サーバーを照会するときには、データ・バンクの名前ではなく、これらのニックネームを使用します。

始める前に

50 フェデレーテッド・データ・ソース 構成ガイド

Page 61: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v CREATE NICKNAME ステートメントが必要とする構文に、BioRS データ・バンク名が準拠していない場合、ニックネームを登録する際に REMOTE_OBJECT ニックネーム・オプションを使用しなければなりません。

v CREATE NICKNAME ステートメントが必要とする構文に、BioRS エレメント名が準拠していない場合、ニックネームを登録する際に ELEMENT_NAME 列オプションを使用しなければなりません。

制約事項

BioRS AllText エレメントをニックネームの 1 列目に使用しないでください。その他の列 (2 列目や 3 列目) では使用できます。

このタスクについて

BioRS システムに統合されたデータ・ソースを、BioRS では データ・バンク と呼びます。BioRS 内のデータ・バンクはフェデレーテッド・システム上のニックネームと同じです。

ニックネームに指定できる名前の長さは 128 文字までです。

ニックネームは、コントロール・センターを使用するか、またはコマンド行から登録できます。コントロール・センターには、ニックネームを登録するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

BioRS データ・バンクにニックネームを登録するには、次のようにします。

ニックネームの登録に使用する方式を、以下のように選択します。

方式 手順

コントロール・センターの使用 フェデレーテッド・オブジェクト・ウィザードの開始。「フェデレーテッド・データベース・オブジェクト」フォルダーを右マウス・ボタンでクリックし、「フェデレーテッド・オブジェクトの作成」をクリックします。

コマンド行の使用 CREATE NICKNAME ステートメントを発行します。たとえば、次のようにします。

CREATE NICKNAME nickname(column_name data_type

OPTIONS (nickname_column_options),column_name data_type

OPTIONS (nickname_column_options),column_name data_type

OPTIONS (nickname_column_options))FOR SERVER server_definition_nameOPTIONS (nickname_options);

BioRS ニックネームを作成する場合、ニックネーム列のリストを定義してください。指定したニックネーム列は、特定の BioRS データ・バンク形式のエレメントに対応する必要があります。BioRS では、エレメントに対して、使用可能な 5 つのデ

第 4 章 BioRS データ・ソース 51

Page 62: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ータ・タイプ (Text、Number、Date、Author、および Reference) を定義しています。BioRS データ・タイプは、フェデレーテッド・データベースによって使用される CHAR、CLOB、または VARCHAR データ・タイプにのみマップできます。

ニックネームを作成する BioRS データ・バンクごとに、このステップを繰り返します。

CREATE NICKNAME ステートメント - BioRS ラッパーの例CREATE NICKNAME ステートメントを使用して、アクセスしたい BioRS データ・バンクのニックネームを登録します。

データ・バンクの簡単なニックネームの作成 (制限あり)

BioRS データ・バンクのニックネームを登録する最も簡単な方法は、BioRS データ・バンクと同じ名前のニックネームを付けることです。

たとえば、次のようにします。

CREATE NICKNAME SwissProt(ID VARCHAR(32) OPTIONS (ELEMENT_NAME ’_ID_’),ALLTEXT VARCHAR(128),ENTRYDATE VARCHAR (64))FOR SERVER biors_server;

ニックネームの名前は SwissProt で、これは対応する BioRS データ・バンクの名前と同じです。

この簡単な CREATE NICKNAME 構文を使用した場合、次の 2 つの制限が生じます。

1. 各フェデレーテッド・データベース・スキーマに対して使用できるニックネームのファミリーは、1 つに制限されます。たとえば、親子関係になっている 2 つのデータ・バンクがあるとします。データ・バンクは SWISSPROT と SPFEAT

です。これらのデータ・バンクはファミリーを形成します。CREATE

NICKNAME ステートメントのデフォルトの構文を使用する場合は、SWISSPROT データ・バンクのニックネームとして SWISSPROT を、SPFEAT

データ・バンクのニックネームとして SPFEAT を持つようになります。スキーマ内で SWISSPROT に複数のニックネーム持つには、ニックネームを登録する際に REMOTE_OBJECT ニックネーム・オプションを使用しなければなりません。

2. 使用できるデータ・バンクは、ニックネーム名として使用できる名前を持つものに限定されます。データ・バンク名は、フェデレーテッド・サーバーによってサポートされている構文に従う必要があります。たとえば、データ・バンク名にピリオドやスペースが含まれている場合、ニックネームの登録に際しては、REMOTE_OBJECT ニックネーム・オプションを使用する必要があります。

同一のデータ・バンクに対する複数のニックネームの作成

REMOTE_OBJECT ニックネーム・オプションでは、ニックネームに関連するBioRS データ・バンク名を指定します。 REMOTE_OBJECT ニックネーム・オプシ

52 フェデレーテッド・データ・ソース 構成ガイド

Page 63: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ョンで指定する名前によって、ニックネームのスキーマと BioRS データ・バンクが決まります。 REMOTE_OBJECT ニックネーム・オプションはニックネーム間の関係も指定します。

以下の例は、前の例と同じニックネーム特性の設定を使用していますが、ニックネームを変えています。例では REMOTE_OBJECT ニックネーム・オプションを使用して、ニックネームを定義する BioRS データ・バンクを指定しています。

CREATE NICKNAME NewSP(ID VARCHAR(32) OPTIONS (ELEMENT_NAME ’_ID_’),ALLTEXT VARCHAR(128),ENTRYDATE VARCHAR (64))FOR SERVER biors_serverOPTIONS (REMOTE_OBJECT ’SwissProt’);

フェデレーテッド構文に適合しないデータ・バンクのニックネームの作成

以下の例は、フェデレーテッド・サーバーが要求する構文に適合しないリモートBioRS データ・バンクのニックネームを作成する方法を示します。

CREATE NICKNAME SwissFT(ID VARCHAR(32) OPTIONS (ELEMENT_NAME ’_ID_’),ALLTEXT VARCHAR (128),ENTRYDATE VARCHAR (64),FtLength VARCHAR (16))FOR SERVER biors1OPTIONS (REMOTE_OBJECT ’SwissProt.Features’);

SwissFT

BioRS データ・バンクを識別するために使用する固有なニックネームです。

ID VARCHAR(32) OPTIONS (ELEMENT_NAME ’_ID_’)表の列の名前とデータ・タイプ。ELEMENT_NAME 列オプションは ID 列に対して指定します。

ELEMENT_NAME 列オプションは BioRS エレメント名を指定します。この名前で大/小文字の区別をするかどうかは、BioRS サーバーで大/小文字の区別をするかどうか、および CASE_SENSITIVE サーバー・オプションの値によって決まります。 BioRS エレメント名と列名が異なる場合のみ、エレメント名を指定する必要があります。列オプション値は、単一引用符で囲む必要があります。

通常、以下のような場合に ELEMENT_NAME 列オプションを使用します。

v BioRS エレメント名に、有効なフェデレーテッド構文に適合しない、ピリオドやスペースなどの文字が含まれている場合。たとえば、データ・バンクに Pub.Date という名前のエレメントが含まれている場合、そのエレメント名は列名として使用できません。ピリオドやスペースなどの文字はサポートされていません。エレメント名は有効な列名にマップする必要があります。

v BioRS エレメント名の構文が、ユーザーあるいはユーザーの属する組織がフェデレーテッド・システムに関して規定した規格に適合していない場合。たとえば、ユーザーの組織で、スキーマ、ニックネーム、列には必ず接頭部をつけるという規則になっていれば、BioRS エレメント名を列名としては使用できないことになります。

第 4 章 BioRS データ・ソース 53

Page 64: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v BioRS エレメント名がフェデレーテッド・ユーザーにとって明白ではない可能性がある場合。

ALLTEXT VARCHAR(128)

表の列の名前とデータ・タイプ。

ENTRYDATE VARCHAR(64)

表の列の名前とデータ・タイプ。

FtLength VARCHAR(16)

表の列の名前とデータ・タイプ。

SERVER biors1

CREATE SERVER ステートメントで BioRS サーバーに割り当てた名前。

OPTIONS (REMOTE_OBJECT ’SwissProt.Features’)ニックネームに関連する BioRS データ・バンク名を指定します。この名前によって、ニックネームのスキーマと BioRS データ・バンクが決まります。この名前によって、そのニックネームと他のニックネームの関係も指定されます。

この名前で大/小文字の区別をするかどうかは、BioRS サーバーで大/小文字の区別をするかどうか、および CASE_SENSITIVE サーバー・オプションの値によって決まります。

重要: ALTER NICKNAME ステートメントではこの名前を変更または削除できません。BioRS データ・バンクの名前を変更した場合、ニックネームを削除してから、再びそれを再作成しなければなりません。

BioRS データ・バンク名が、有効なフェデレーテッド構文の規格に適合しない場合、REMOTE_OBJECT ニックネーム・オプションを指定する必要があります。この例では、データ・バンク名 ″SwissProt.Features″ はいくつかの理由で適合していません。データ・バンク名に、フェデレーテッド構文に適合しない文字、ピリオドが含まれており、大文字と小文字が混在しています。

通常、以下のような場合に REMOTE_OBJECT ニックネーム・オプションを使用します。

v BioRS データ・バンク名に、有効なフェデレーテッド構文に適合しない、ピリオドやスペースのような文字が含まれている場合。データ・バンク名は有効なフェデレーテッド名にマップする必要があります。

v BioRS データ・バンク名の大/小文字の区別が、ユーザーあるいはユーザーの属する組織がフェデレーテッド・システムに関して規定した規格に適合していない場合。たとえば、ユーザーの組織で、スキーマ、ニックネーム、列には必ず接頭部をつけるという規則になっていれば、BioRS データ・バンク名はそれらの名前としては使用できないことになります。

v BioRS データ・バンク名がフェデレーテッド・ユーザーにとって明白ではない可能性がある場合。

54 フェデレーテッド・データ・ソース 構成ガイド

Page 65: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

他の BioRS データ・バンクにリンクされたデータ・バンクのニックネームの作成

以下の例は、他の BioRS データ・バンクにリンクする BioRS データ・バンクを使用する表のニックネームを作成する方法を示します。

CREATE NICKNAME SwissFT2(ID VARCHAR(32) OPTIONS (ELEMENT_NAME ’_ID_’),ALLTEXT VARCHAR (1200),FtKey VARCHAR (32),FtLength VARCHAR (64),FtDescription VARCHAR (128),Parent VARCHAR (32) OPTIONS (REFERENCED_OBJECT ’SwissProt’))FOR SERVER biors1OPTIONS (REMOTE_OBJECT ’SwissProt.Features’);

ニックネームの名前は SwissFT2 です。表列は ID、 ALLTEXT、 FtKey、FtLength、 FtDescription、および Parent です。ELEMENT_NAME 列オプションはID 列に対して指定します。REMOTE_OBJECT オプションは、ニックネームが対応する BioRS データ・バンクの名前の指定にも利用します。

さらに、Parent 列は REFERENCED_OBJECT オプションを使用します。このオプションは BioRS Reference データ・タイプ・エレメントに対応する列に指定する必要があります。REFERENCED_OBJECT オプションは、列が参照する BioRS データ・バンクの名前を指定します。この場合、Parent エレメントは BioRS SwissProt データ・バンクを参照します。

カスタム関数と BioRS 照会BioRS カスタム関数は、BioRS ラッパーとともに使用され、BioRS 照会エンジンに述部をプッシュダウンします。

フェデレーテッド環境は 2 つの照会エンジンを使用します。BioRS ラッパーの場合、照会エンジンはフェデレーテッド・データベースと BioRS です。4 つのBioRS カスタム関数を使用して、述部を BioRS エンジンにプッシュダウンすることを指定できます。

BioRS ラッパーのカスタム関数はすべて、BIORS というスキーマ名を使用して登録する必要があります。この種の関数を使用するときには、常に BIORS スキーマを含める必要があります。

BIORS ラッパーのカスタム関数は以下のとおりです。

v BIORS.CONTAINS

v BIORS.CONTAINS_LE

v BIORS.CONTAINS_GE

v BIORS.SEARCH_TERM

BioRS CONTAINS 関数

カスタム関数 BIORS.CONTAINS、BIORS.CONTAINS_LE、およびBIORS.CONTAINS_GE には検索語列引数と照会テキスト引数が必要です。以下に、BIORS.CONTAINS ステートメントの例を示します。

BIORS.CONTAINS (search_term_column,query_term)

第 4 章 BioRS データ・ソース 55

Page 66: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

検索語列引数の値は、索引付けされた BioRS 列を参照します。索引付けされていない列を使用すると、エラー・メッセージ SQL30090N (「操作がアプリケーション実行環境で無効です。」) が表示されます。

照会語引数の値は、検索語列引数に指定された索引付きエレメントの検索に使用される値です。

照会語引数の値は、リテラル、ホスト変数、または列参照のいずれかになります。演算またはストリング連結は使用できません。また、使用する検索語列が NULL 値を許可するよう定義済みでも、照会語引数値は NULL を取れません。

照会語引数では、大/小文字は区別されません。

有効なデータ・タイプ

照会語引数で有効なデータ・タイプと形式は、使用される検索語列の BioRS データ・タイプによって決まります。BioRS では、使用可能な 5 つのデータ・タイプ(Text、Author、Date、Number、および Reference) を定義しています。

BioRS データ・タイプおよびデータ・タイプごとの有効な関数照会語を、以下の表にリストします。

表 10. BioRS データ・タイプと有効なカスタム関数照会語

検索語列のデータ・タイプ

有効な照会語 形式

Text VARCHAR() または CHAR() BioRS テキスト用語 (ワイルドカードを含む)。

Author VARCHAR() または CHAR() ″<last>, <init>″ 書式の BioRS 作成者参照。 ″<last>″ は作成者の姓です。″<init>″ は作成者のイニシャルですが、ピリオドはつけません。コンマとイニシャルの間には空白文字を挿入できます。

また、コンマやイニシャルを含めずに<last> だけを指定することもできます。

Date VARCHAR()、CHAR()、DATE、または TIMESTAMP

文字ストリングの場合、フェデレーテッド・データベースに有効な日付形式、yyyy/mm/dd

Number VARCHAR() または CHAR()、INTEGER、 SMALLINT、BIGINT REAL、DOUBLE、DECIMAL

フェデレーテッド・データベースに有効な数字フォーマット

Reference VARCHAR() または CHAR() BioRS テキスト用語。

BioRS データ・タイプ検索語列と照会語引数などのその他の組み合わせを使用すると、エラー・メッセージ SQL30090N (「操作がアプリケーション実行環境で無効です。」) が表示されます。

56 フェデレーテッド・データ・ソース 構成ガイド

Page 67: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ワイルドカード文字の使用

Text、Author、および Reference データ・タイプ検索語列の照会語引数は、BioRS

照会言語パターンと一致する必要があります。BioRS では、英数字ストリングとワイルドカードで照会語引数を作成できます。BIORS.CONTAINS は、疑問符 (?) とアスタリスク (*) の 2 つのワイルドカードをサポートします。

? ワイルドカードは英数字 1 文字に相当します。たとえば、述部 BioRS.CONTAINS

(description, ’bacteri?’)=1 は、用語 bacteria (バクテリア) と一致しますが、bacterial (バクテリアの) とは一致しません。

ワイルドカード文字 * は、ゼロまたは複数の文字に相当します。たとえば、述部BioRS.CONTAINS (description, ’bacteri*’)=1 は、用語 bacteri (バクテリ)、bacteria (バクテリア)、および bacterial (バクテリアの) のすべてと一致します。

BioRS 照会言語パターンの詳細については、ご使用の BioRS の資料を参照してください。

照会での BioRS CONTAINS 関数の指定

BIORS.CONTAINS 関数はすべての BioRS 列型に指定できます。

BIORS.CONTAINS_GE と BIORS.CONTAINS_LE カスタム関数は基本 BioRS データ・タイプが Number もしくは Date である列にのみ指定できます。BIORS.CONTAINS_GE 関数は、照会語引数が表す値より大きいか等しい値が含まれている列の行を選択します。BIORS.CONTAINS_LE 関数は、照会語引数が表す値より小さいか等しい値が含まれている列の行を選択します。

BIORS.CONTAINS、BIORS.CONTAINS_GE、および BIORS.CONTAINS_LE 関数は整数の結果を戻します。3 つの CONTAINS 関数のいずれかを述部で使用する場合、戻り値は = または <> 演算子を使用して値 1 と比較されます。たとえば、以下のようになります。

SELECT * FROM s.MySP WHERE BIORS.CONTAINS (s.AllText, ’muscus’) = 1;

表現 NOT (BioRS.Contains (col,value) = 1) は、表現 BioRS.CONTAINS

(col,value) <> 1 と同じです。

BioRS SEARCH_TERM 関数

BIORS.SEARCH_TERM カスタム関数は、検索語列引数および照会語を必要とします。SEARCH_TERM カスタム関数の構文例は以下のとおりです。

BIORS.SEARCH_TERM (search_term_column,query_term)

検索語列引数の値は、_ID_ エレメントに対応する列を参照する必要があります。

照会語引数の値は、複数のエレメントを参照できる式です。

照会語引数の値は、リテラル、ホスト変数、または列参照のいずれかになります。演算またはストリング連結は使用できません。また、使用する検索語列が NULL 値を許可するよう定義済みでも、照会語引数値は NULL を取れません。

照会語引数では、大/小文字は区別されません。

第 4 章 BioRS データ・ソース 57

Page 68: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

照会での BioRS SEARCH_TERM 関数の指定

BIORS.SEARCH_TERM 関数を実行すると、別の方法では実行が難しい照会を実行できます。BioRS 形式を使用した検索語の指定にこの関数を使用できます。BIORS.SEARCH_TERM 関数には 2 つの引数が必要です。最初の引数は、用語が適用されるニックネームの _ID_ 列への参照です。2 番目の引数は、データ・バンク名を持たない用語を含む文字ストリングです。

以下の例では、SeqLength エレメントが 100 以上の値を含む MyEMBL データ・バンクの項目に対する列のすべてを選択しています。

SELECT * FROM MyEMBL s WHEREBIORS.SEARCH_TERM (s.ID, ’[SeqLength GREATER number:100;]’) = 1;

以下の例では、Swiss ニックネームから MolWeight エレメントの値が 100368 以上の MolWeight 列を選択しています。

SELECT s.molweight FROM Swiss s WHEREBIORS.SEARCH_TERM (s.ID, ’[MolWeight GREATER number:100368;]’) = 1;

BioRS 照会における等価演算等価演算子 (=) はリテラル式または結合照会で使用できますが、一定の制限があります。

リテラル式または結合照会で等価演算子を使用する場合、照会が BioRS サーバーにプッシュダウンされるためには、等価演算子が BioRS データ・バンクの _ID_ エレメントを参照している必要があります。等価演算子を含んでいても _ID_ エレメントを参照しない照会は、BioRS サーバーによる処理のためにプッシュダウンされることはありません。

等価演算子は、リテラル式の中で使用できます。たとえば、次のようになります。

ID = ’swissprot:100K_RAT’

等価述部は、BioRS データ・バンクと他のローカル表または nonBioRS ニックネームとの結合の中で使用できます。たとえば、次のようになります。

SELECT n.ID, n.EntryDate, t.C1 FROM w46851_n1 n, w46851_t1 t WHERE t.ID = n.ID

BioRS データ・バンクの間の結合では、一方のデータ・バンクの _ID_ エレメントと、もう一方のデータ・バンクの参照タイプ・エレメントを参照する必要があります。

ただし、等価述部を使用すると、以下のような条件で、予期したものとは異なる結果が戻される場合があります。

大/小文字を区別しないマッチング演算では大/小文字を区別しません。たとえば、ID=’100k_rat’ は以下の両方のストリングに一致します。

v ’100k_rat’

v ’100K_RAT’

58 フェデレーテッド・データ・ソース 構成ガイド

Page 69: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ワイルドカード・マッチングステートメント ID=’100K_R*’ は、’100K_RAT’ と ’100K_RODENT’ の両方に一致します。

データ・バンク・プレフィックシング演算により、ソース・データ・バンクを示すプレフィックスが戻されます。たとえば、SwissProt データ・バンクに対する結合に ID=’100K_RAT’ と指定すると、値 ’swissprot:100K_RAT’ が戻される可能性があります。

注: こうした動作のいずれかに依存するようなアプリケーションは作成しないでください。

以下では、結合での等価述部の振る舞いの例を示します。

ローカル表 w46851_t1 には、以下の値が含まれます。

ID C1------------------------------ -----------swissprot:100K_RAT 0swissprot:RAT 1swissprot:100K_R 2swissprot:100K_R* 3swissprot:100k_rat 4100K_RAT 100RAT 101100K_R 102100K_R* 103100k_rat 104

表 w46851_t1 を SwissProt データ・バンクを基にしたニックネーム w46851_n1 と結合できます。以下のステートメントは、等価演算を含む結合照会を示しています。

SELECT n.ID, n.EntryDate, t.C1 FROM w46851_n1 n, w46851_t1 t WHERE t.ID = n.ID

戻される結果は以下のようになります。

ID ENTRYDATE C1------------------------------ --------------- -----------swissprot:100K_RAT 01-NOV-1997 0swissprot:100K_RAT 01-NOV-1997 3swissprot:100K_RAT 01-NOV-1997 4swissprot:100K_RAT 01-NOV-1997 100swissprot:100K_RAT 01-NOV-1997 103swissprot:100K_RAT 01-NOV-1997 1046 record(s) selected.

ただし、予期された振る舞いは、行 0 のみが戻されるというものです。

BioRS ラッパーの等価結合述部BioRS カスタム関数を使用する場合、BioRS エンジンに対する述部を指定しなければなりません。ただし、例外が 1 つあります。それは、照会中に等価結合操作を行う場合です。

結合操作では、一致する列の値を基にして複数の表からデータを取り出します。等価結合は、式 = 式形式の結合条件をとる結合操作です。 BioRS 照会では、等価結合条件は片方のデータ・バンクの _ID_ エレメントともう一方のデータ・バンクのReference タイプ・エレメントを含む必要があります。

第 4 章 BioRS データ・ソース 59

Page 70: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ニックネーム定義と等価結合照会の例

ここでは、ニックネーム定義のサンプルとサンプルのニックネームを使用した等価結合照会を例示します。

2 つの BioRS データ・バンク、SwissProt と SwissProt.features を照会します。SwissProt.features データ・バンクは SwissProt データ・バンクの子で、Parent と呼ばれるエレメントを含みます。Parent エレメントは SwissProt の _ID_ エレメントが示す項目への参照を含みます。2 つのデータ・バンクに対して 2 つのニックネーム定義を登録します。

SwissProt データ・バンクのニックネーム定義

SwissProt データ・バンクは親データ・バンクです。

CREATE NICKNAME tc600sprot (ID VARCHAR (32) OPTIONS (ELEMENT_NAME ’_ID_’),AllText VARCHAR (128),EntryDate VARCHAR (128),Update VARCHAR (128),Description VARCHAR (1200),Crossreference VARCHAR (32),Authors VARCHAR (256),Journal VARCHAR (256),JournalIssue VARCHAR (64) OPTIONS (IS_INDEXED ’N’),PublicationYear VARCHAR (1024),Gene VARCHAR (20) OPTIONS (IS_INDEXED ’Y’),Remarks VARCHAR (1200),RemarkType CHAR (20),CatalyticActivity VARCHAR (20),CoFactor VARCHAR (64),Disease VARCHAR (128),Function VARCHAR (128),Pathway VARCHAR (128),Similarity VARCHAR (128),Complex VARCHAR (64),FtKey VARCHAR (32),FtDescription VARCHAR (128),FtLength VARCHAR (256),MolWeight VARCHAR (64),ProteinLen VARCHAR (32) OPTIONS (ELEMENT_NAME ’Protein_length’),Sequence CLOB,AccNumber VARCHAR (32),Taxonomy VARCHAR (128),Organelle VARCHAR (128),Organism VARCHAR (128),Keywords VARCHAR (1200),Localization VARCHAR (128),FtKey_count VARCHAR (32))FOR SERVER biors_server_600

OPTIONS (REMOTE_OBJECT ’SwissProt’);

SwissProt.features データ・バンクのニックネーム定義

SwissProt.features データ・バンクは SwissProt データ・バンクの子データ・バンクです。このニックネームには Parent エレメントが含まれています。

CREATE NICKNAME tc600feat (ID VARCHAR (32) OPTIONS (ELEMENT_NAME ’_ID_’),AllText VARCHAR (1200),FtKey VARCHAR (32),FtLength VARCHAR (64),FtDescription VARCHAR (128),

60 フェデレーテッド・データ・ソース 構成ガイド

Page 71: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Parent VARCHAR (32) OPTIONS (REFERENCED_OBJECT ’SwissProt’))FOR SERVER biors_server_600

OPTIONS (REMOTE_OBJECT ’SwissProt.features’);

1 つの等価結合で 2 つのニックネームを参照する照会

この照会では、2 つの述部が tc600sprot ニックネーム (SwissProt データ・バンク)

に適用されます。2 つの述部は用語 anopheles を含み、発行年が 1997 年である行をフィルターに掛けます。1 つの述部が tc600feat ニックネーム (SwissProt.features

データ・バンク) に適用され、用語 signal を含む FtKey エレメントのある行をフィルターに掛けます。2 つのニックネームは条件 f.Parent = s.ID を使用して結合されます。

SELECT s.ID, f.ID, f.FtKey FROM tc600sprot s, tc600feat fWHERE BIORS.CONTAINS (s.AllText, ’anopheles’) = 1AND BIORS.CONTAINS (s.PublicationYear, 1997) = 1AND BIORS.CONTAINS (f.FtKey, ’signal’) = 1AND f.Parent = s.ID;

最終結果セットには、これらの基準に適合する行、および SwissProt データ・バンクの一致する項目を参照する SwissProt.features データ・バンクの項目のみが含まれます。

BioRS AllText エレメントBioRS システムのデータ・バンクにはそれぞれ、AllText と呼ばれるエレメントがあります。AllText エレメントは、BioRS がすべてのデータ・バンクに自動的に作成する、索引付けされたエレメントです。

AllText エレメントを使用することにより、特定の索引付けされたエレメントのみでなく、項目のテキストすべてを検索できます。たとえば、muscus という用語を検索すると、単語 muscus が表題、要約、説明、有機体に使用されている項目を戻せます。

AllText エレメントを フェデレーテッド照会で使用するには、AllText エレメントをニックネーム列にマップする必要があります。CREATE NICKNAME ステートメントで列を指定する場合、AllText エレメントをニックネーム列にマップします。AllText エレメントへマップされているニックネーム列は、SELECT ステートメントで NULL 値を戻します。AllText エレメントとして列を指定する場合、その列をCREATE NICKNAME ステートメントで宣言される最初の列にしてはなりません。

AllText エレメントをニックネーム列に適切にマップすると、そのニックネーム列をBIORS.CONTAINS カスタム関数で使用できます。

BioRS データ・ソース - 照会の例以下の例には、BioRS データ・ソースへのアクセスに使用できるサンプル照会の包括的なセットが含まれており、例の中で使用されるニックネームを作成するのに必要なステートメントも示されます。

以下の例では、次のことを行う方法を示します。

v システム・パフォーマンスを最適化するための照会の構成

第 4 章 BioRS データ・ソース 61

Page 72: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v 照会でのカスタム関数とワイルドカードの使用

v 特定の BioRS データ・タイプ列にアクセスする照会の使用

v 関係述部を使用した、親ニックネームと子ニックネームの間の等価結合の構成

サンプル照会では、ニックネーム swiss と swissft を使用します。

swiss ニックネームのための CREATE NICKNAME ステートメント

親ニックネーム swiss は、以下の CREATE NICKNAME ステートメントを使用して、SwissProt データ・バンクに対して登録されています。

CREATE NICKNAME swiss(ID CHAR (30) OPTIONS (ELEMENT_NAME ’_ID_’),EntryDate VARCHAR (15),Update CLOB (15),Description CLOB (15),Crossreference CLOB (15),Authors CLOB (15),Journal VARCHAR (15),JournalIssue VARCHAR (15),PublicationYear CLOB (15),PublicationTitle CLOB (15),Gene CLOB (15),Remarks CLOB (15),RemarkType VARCHAR (15),CatalyticActivity VARCHAR (15),CoFactor VARCHAR (15),Disease VARCHAR (15),Function CLOB (15),Pathway VARCHAR (15),Similarity CLOB (15),Complex VARCHAR (15),FtKey VARCHAR (15),FtDescription CLOB (15),FtLength VARCHAR (15),MolWeight CHAR (15),Protein_Length VARCHAR (15),Sequence CLOB (15),AccNumber VARCHAR (15),Taxonomy CLOB (15),Organelle VARCHAR (15),Organism VARCHAR (15),Keywords VARCHAR (15),Localization VARCHAR (15),FtKey_count VARCHAR (15),AllText CLOB (15))

FOR SERVER biors_serverOPTIONS (REMOTE_OBJECT ’swissprot’);

swissft ニックネームのための CREATE NICKNAME ステートメント

子ニックネーム swissft は、以下の CREATE NICKNAME ステートメントを使用して、SwissProt.Features データ・バンクに対して登録されています。

CREATE NICKNAME swissft(ID VARCHAR (30) OPTIONS (ELEMENT_NAME ’_ID_’),FtKey VARCHAR (15),FtLength VARCHAR (15),FtDescription VARCHAR (15),

62 フェデレーテッド・データ・ソース 構成ガイド

Page 73: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Parent VARCHAR (30) OPTIONS (REFERENCED_OBJECT ’swissprot’),AllText CLOB (15))

FOR SERVER biors_serverOPTIONS (REMOTE_OBJECT ’swissprot.features’);

照会構造によるフェデレーテッド・サーバーのパフォーマンスへの影響

以下の表の照会と結果は、照会を構造化して、フェデレーテッド・システムとBioRS サーバーとの間のワークロードを最適化する方法を示しています。

表 11. 異なる照会で同じ結果が得られる例

照会 結果

SELECT s.id FROM Swiss s WHERE

BIORS.CONTAINS(s.id, ’100K_RAT’) = 1 FETCH FIRST

3 ROWS ONLY;

ID---------------100K_RAT

1 record(s) selected.

SELECT s.id FROM Swiss s WHERE s.id LIKE

’%100K_RAT%’ FETCH FIRST 3 ROWS ONLY;

ID---------------100K_RAT

1 record(s) selected.

この表に示されている照会は、いずれも同じ結果となります。ただし、1 番目の照会は、2 番目の照会と比べかなり短い時間で実行されます。最初の照会は、入力述部の指定に BIORS.CONTAINS 関数を使用しています。その結果、BioRS サーバーは SwissProt データ・バンクのデータの選択を行い、選択したデータをフェデレーテッド・サーバーに渡します。2 番目の照会では、LIKE 入力述部が swiss ニックネームに直接指定されています。そのため、BioRS サーバーは SwissProt データ・バンク全体をフェデレーテッド・サーバーに転送します。データ・バンクの内容が転送された後で、フェデレーテッド・サーバーがデータを選択します。

通常、処理の述部がデータ・ソースに送られた場合に、照会パフォーマンスは大きく向上します。

BIORS.CONTAINS カスタム関数にワイルドカードを使用した照会

以下の表に、BIORS.CONTAINS カスタム関数にワイルドカード文字を使用した照会と結果の例を示します。使用されているワイルドカード文字はそれぞれ異なりますが、照会結果はすべて同じになります。

表 12. BIORS.CONTAINS カスタム関数にワイルドカードを使用した照会の例

照会 結果

SELECT s.crossreference FROM Swiss s WHERE

BIORS.CONTAINS(s.crossreference, ’MEDLINE’) = 1 FETCH

FIRST 3 ROWS ONLY;

CROSSREFERENCE---------------NCBI_TaxID=1011NCBI_TaxID=5875NCBI_TaxID=4081

3 record(s) selected.

第 4 章 BioRS データ・ソース 63

Page 74: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 12. BIORS.CONTAINS カスタム関数にワイルドカードを使用した照会の例 (続き)

照会 結果

SELECT s.crossreference FROM Swiss s WHERE

BIORS.CONTAINS(s.crossreference, ’?ED?IN?’) = 1 FETCH

FIRST 3 ROWS ONLY;

CROSSREFERENCE---------------NCBI_TaxID=1011NCBI_TaxID=5875NCBI_TaxID=4081

3 record(s) selected.

SELECT s.crossreference FROM Swiss s WHERE

BIORS.CONTAINS(s.crossreference, ’*D*N*’) = 1 FETCH

FIRST 3 ROWS ONLY;

CROSSREFERENCE---------------NCBI_TaxID=1011NCBI_TaxID=5875NCBI_TaxID=4081

3 record(s) selected

BioRS Author データ・タイプ列にアクセスする照会

以下の表の照会と結果は、BIORS.CONTAINS カスタム関数を使用して BioRS

Author データ・タイプ・エレメントの情報にアクセスする方法を示します。すべての照会構文はほとんど同じです。照会語の先頭のイニシャルの有無、および、ファーストネームと最後のイニシャルの間のスペースの数のみが異なります。

表 13. BioRS Author データ・タイプ列にアクセスする照会の例

照会 結果

SELECT s.authors FROM Swiss s WHERE

BIORS.CONTAINS(s.authors, ’Mueller’) = 1 FETCH

FIRST 3 ROWS ONLY;

AUTHORS---------------Mueller D. RehbMayer K.F.X. ScZemmour J. Litt

3 record(s) selected.

SELECT s.authors FROM Swiss s WHERE

BIORS.CONTAINS(s.authors, ’Mueller,D’) = 1 FETCH

FIRST 3 ROWS ONLY;

AUTHORS---------------

0 record(s) selected.

SELECT s.authors FROM Swiss s WHERE

BIORS.CONTAINS(s.authors, ’Mueller,D’) = 1 FETCH

FIRST 3 ROWS ONLY;

AUTHORS---------------

0 record(s) selected.

SELECT s.authors FROM Swiss s WHERE

BIORS.CONTAINS(s.authors, ’Mueller,D’) = 1 FETCH

FIRST 3 ROWS ONLY;

AUTHORS---------------Mueller D. RehbZou P.J. BorovoDavies J.D. Mue

3 record(s) selected.

BioRS Date データ・タイプ列にアクセスする照会

以下の表の照会と結果は、BIORS.CONTAINS カスタム関数を使用して BioRS Date

タイプ・エレメントの情報にアクセスする方法を示します。

BioRS Date タイプのフィールドが日付のシーケンスを含む場合、表の 2 例目に見られるように、結果に余分な情報が含まれます。BioRS Numeric データ・タイプ・

64 フェデレーテッド・データ・ソース 構成ガイド

Page 75: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

エレメント (Date と Number) には、複数の値を含めることができます。そのため、BioRS Date または Number エレメントに対して実行した照会結果も複数の値を含みます。値は常にスペースで区切ります。

表 14. BioRS Date データ・タイプ列にアクセスする照会の例

照会 結果

SELECT e.entrydate FROM embl e WHERE

BIORS.CONTAINS(e.entrydate, date(’11/01/1997’) ) = 1

FETCH FIRST 3 ROWS ONLY;

ENTRYDATE---------------01-NOV-199701-NOV-199701-NOV-1997

3 record(s) selected.

SELECT g.update FROM gen g WHERE

BIORS.CONTAINS(g.update, date(’11/01/1997’) ) = 1 FETCH

FIRST 3 ROWS ONLY;

UPDATE---------------01-NOV-1997 11-01-NOV-1997 12-01-NOV-1997 06-

3 record(s) selected.

BIORS.CONTAINS_LE および BIORS.CONTAINS_GE カスタム関数を使用した照会

以下の表の照会と結果は、BIORS.CONTAINS_LE および BIORS.CONTAINS_GE カスタム関数の使用方法を示します。

表 15. BIORS.CONTAINS_LE および BIORS.CONTAINS_GE カスタム関数を使用した照会の例

照会 結果

SELECT s.molweight FROM Swiss s WHERE

BIORS.CONTAINS_LE(s.molweight, 100368) = 1 FETCH

FIRST 3 ROWS ONLY;

MOLWEIGHT---------------100368105768523

3 record(s) selected.

SELECT s.molweight FROM Swiss s WHERE

BIORS.CONTAINS_GE(s.molweight, 100368) = 1 FETCH

FIRST 3 ROWS ONLY;

MOLWEIGHT---------------100368103625132801

3 record(s) selected.

SELECT s.journalissue FROM Swiss s WHERE

BIORS.CONTAINS_GE(s.journalissue, 172) = 1 FETCH

FIRST 3 ROWS ONLY;

JOURNALISSUE---------------172 21242196

3 record(s) selected.

BIORS.SEARCH_TERM カスタム関数を使用した照会

以下の表の照会と結果は、BioRS 形式を使用した検索語の指定にBIORS.SEARCH_TERM カスタム関数を使用する方法を示します。

第 4 章 BioRS データ・ソース 65

Page 76: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 16. BIORS.SEARCH_TERM カスタム関数を使用した照会の例

照会 結果

SELECT s.publicationyear FROM Swiss s WHERE

BIORS.SEARCH_TERM (s.id, ’[PublicationYear EQ

number:1997;]’)=1 FETCH FIRST 10 ROWS ONLY;

PUBLICATIONYEAR---------------19971997 20001988 1991 19971994 19971997 19981994 1995 19971997 199919971994 1994 19951993 1992 1997

10 record(s) selected.

SELECT s.molweight FROM Swiss s WHERE

BIORS.SEARCH_TERM (s.id, ’[MolWeight EQ

number:100368;]’) = 1 FETCH FIRST 10 ROWS ONLY;

MOLWEIGHT---------------100368100368

2 record(s) selected.

SELECT s.molweight FROM Swiss s WHERE

BIORS.SEARCH_TERM (s.id, ’[MolWeight GREATER

number:100368;]’) = 1 FETCH FIRST 10 ROWS ONLY;

MOLWEIGHT---------------100368103625132801194328130277287022289130135502112715112599

10 record(s) selected.

関係述部を使用して、親子関係のある 2 つのデータ・バンク間で等価結合を構成します。

以下の照会は、関係述部を使用して、親子関係のある 2 つのデータ・バンク間で等価結合を構成する方法を示します。

SELECT s.id, f.id, f.parent FROM Swiss s, Swissft fWHERE (f.parent = s.id) FETCH FIRST 10 ROWS ONLY;

次の照会結果では、100K_RAT レコードが 9 つの子レコードの親になります(100K_RAT.1 から 100K_RAT.9)。

ID ID PARENT-------------------- ------------------ ------------------------------100K_RAT 100K_RAT.1 swissprot:100K_RAT100K_RAT 100K_RAT.2 swissprot:100K_RAT100K_RAT 100K_RAT.3 swissprot:100K_RAT100K_RAT 100K_RAT.4 swissprot:100K_RAT100K_RAT 100K_RAT.5 swissprot:100K_RAT100K_RAT 100K_RAT.6 swissprot:100K_RAT100K_RAT 100K_RAT.7 swissprot:100K_RAT100K_RAT 100K_RAT.8 swissprot:100K_RAT

66 フェデレーテッド・データ・ソース 構成ガイド

Page 77: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

100K_RAT 100K_RAT.9 swissprot:100K_RAT104K_THEPA 104K_THEPA.1 swissprot:104K_THEPA

10 record(s) selected.

BioRS ラッパー・パフォーマンスの最適化BioRS データ・ソースに対する照会のパフォーマンスは、BioRS ラッパーのパフォーマンスを最適化することによって改善できます。

BioRS ラッパー・パフォーマンスの最適化方法照会の構造と BioRS データ・バンクについての統計情報は、照会のパフォーマンスに影響します。

検索エンジン間の転送データ量を最小化する。フェデレーテッド環境は 2 つの検索エンジンを使用します。BioRS ラッパーの場合、検索エンジンはフェデレーテッド・データベースと BioRS です。構成によっては、複数のフェデレーテッド・データベース・エンジンが含まれる場合もあります。フェデレーテッド・データベース・エンジンはニックネーム列に指定された述部 (=、BETWEEN、LIKE、および <> などの関係演算子) を処理します。BioRS エンジンは、BioRS ラッパーの 4 つのカスタム関数を使用して指定された述部を処理します。

2 つの検索エンジン間で転送するデータ量を最小化するには、可能な場合は常にデータ処理を BioRS システムにプッシュダウンするよう照会を構成します。

照会で結合操作を行う必要がある場合、可能な場合は BioRS データ・バンクの既存の親子関係を活用して等価結合操作を行います。等価結合操作はBioRS で処理され、ここでもフェデレーテッド・データベースと BioRS 検索エンジン間のデータ転送量を最小化できます。

重要: BioRS へのフェデレーテッド照会を中断しないでください(たとえば、コマンド行プロセッサーで Ctrl-D または Ctrl-Z を使用する、あるいはアプリケーション・プログラムを停止する、など)。照会を中断すると、BioRS サーバーで実行中の処理がデッド状態になります。これらの「非活動」プロセスは、BioRS サーバーおよびフェデレーテッド・サーバーのパフォーマンスを急激に低下させます。また、「デッド」プロセスの数が増えると、フェデレーテッド照会処理中に予期しないエラーが発生する恐れがあります。例えば、行があると予想される場合に、有効な照会が 0 行を戻す、などです。極端な場合には、BioRS サーバーまたはフェデレーテッド・サーバー、あるいはその両方が停止または異常終了する恐れがあります。

フェデレーテッド環境で BioRS 統計情報を保守する。フェデレーテッド・システムでは、フェデレーテッド・データベースは、ニックネームが付けられたオブジェクトのカタログ統計に基づいて、照会処理を最適化します。BioRS データ・ソースに関する現行統計の保守は、BioRS

ラッパーのパフォーマンス最適化に不可欠です。ニックネームが定義された

第 4 章 BioRS データ・ソース 67

Page 78: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

リモート・オブジェクトの統計データまたは構造の特性を変更した場合、フェデレーテッド・システムで対応するニックネーム列カーディナリティー統計を更新する必要があります。

BioRS ラッパーのパフォーマンスを最適化するには、これらの更新をフェデレーテッド・サーバーで定期的に行う必要があります。

BioRS 統計情報現行の BioRS 統計情報は、BioRS ラッパーのパフォーマンスの最適化には不可欠です。

フェデレーテッド・システムでは、フェデレーテッド・データベースは、ニックネームが付けられたオブジェクトのカタログ統計に基づいて、照会処理を最適化します。これらの統計は、CREATE NICKNAME ステートメントを使用したニックネーム登録時に BioRS データ・ソースから抽出されます。フェデレーテッド・データベースはデータ・ソース側にオブジェクトが存在するかチェックし、次に既存のデータ・ソース統計データを収集します。情報はデータ・ソース・カタログから読み取られ、フェデレーテッド・データベース内のシステム・カタログに置かれます。

BioRS データ・ソースでは、主要な統計情報は以下のものを含みます。

v ニックネームのカーディナリティー。BioRS データ・ソースでは、ニックネーム・カーディナリティーは対応する BioRS データ・バンクの項目数と同じです。

v BioRS _ID_ エレメントに対応する列のカーディナリティー。この列のカーディナリティーは、列を参照するニックネームのカーディナリティーと一致する必要があります。

v BioRS ラッパーが使用する必要があるすべての列のカーディナリティー。

ヒント: BioRS ラッパーのパフォーマンスを最適化するには、BioRS データ・ソースに関する現行の統計を維持するようにします。ニックネームが定義されたリモート・オブジェクトの統計データまたは構造の特性を変更した場合、フェデレーテッド・システムで対応するカーディナリティー統計を更新する必要があります。カーディナリティー統計は SYSSTAT.TABLES ビューおよび SYSSTAT.COLUMNS ビューのフェデレーテッド・データベース・システム・カタログに保管されます。

フェデレーテッド・システムの BioRS カーディナリティー統計を保守するには、以下のようにします。

1. 必要に応じて、ニックネームのカーディナリティー統計を確認します。

2. カタログ・ビューで、ニックネームのカーディナリティー統計を更新します。

3. カタログ・ビューで、列のカーディナリティー統計を更新します。

BioRS データ・バンク・カーディナリティー統計の確認ニックネーム統計を更新、または、BioRS _ID_ エレメントに対応する列のカーディナリティーを更新する前に BioRS データ・バンク・カーディナリティー統計を確定する必要があります。

手順

68 フェデレーテッド・データ・ソース 構成ガイド

Page 79: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

BioRS 内の特定のデータ・バンクのカーディナリティー統計を確認するには、以下のようにします。

BioRS admin_find ユーティリティー・プログラムまたは www_find.cgi ユーティリティー・プログラムのいずれかを使用し、カーディナリティーを有効にする -c オプションを指定します。これら 2 つの BioRS ユーティリティー・プログラムの詳細については、ご使用の BioRS の資料を参照してください。

BioRS ニックネーム・カーディナリティー統計の更新BioRS データ・バンクのコンテンツを大幅に変更する場合、ニックネーム・カーディナリティー統計を更新する必要があります。

始める前に

更新する統計のニックネームに対応する BioRS データ・バンクのカーディナリティー番号を判別してください。

このタスクについて

フェデレーテッド・システムの BioRS ニックネーム・カーディナリティー統計を更新するには、SYSSTAT.TABLES カタログ・ビューを変更する必要があります。

ニックネームの正しいカーディナリティー統計を維持することで、オプティマイザーと BioRS ラッパーが最適なデータ・アクセス・プランを選択できます。

手順

BioRS ニックネーム・カーディナリティー統計を更新するには、以下のようにします。

UPDATE ステートメントを発行して SYSSTAT.TABLES カタログ・ビューを変更し、正しいカーディナリティー番号を指定します。 UPDATE ステートメントの構文は以下のとおりです。

UPDATE SYSSTAT.TABLES SET CARD=cardinality_numberWHERE TABSCHEMA=nickname_schemaAND TABNAME=nickname_name;

たとえば、ニックネームが JONES.SWISS であれば、以下の UPDATE ステートメントを使用して統計を更新します。

UPDATE SYSSTAT.TABLES SET CARD=15312191WHERE TABSCHEMA=’JONES’AND TABNAME=’SWISS’;

SYSSTAT.TABLESニックネーム統計が保管される、フェデレーテッド・データベースのシステム・カタログ・ビュー。

SET CARD=15312191統計を更新するニックネームの BioRS データ・バンク・カーディナリティー番号。

TABSCHEMA= ’JONES’

更新するニックネームのスキーマの名前。

第 4 章 BioRS データ・ソース 69

Page 80: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

TABNAME=’SWISS’

更新するニックネームの名前。

BioRS 列カーディナリティー統計フェデレーテッド・システムの BioRS 列カーディナリティー統計を更新するには、SYSSTAT.COLUMNS カタログ・ビューを変更する必要があります。

BioRS 列カーディナリティー統計の更新は、BioRS ニックネームの作成前に行うことも、BioRS データ・ソースの照会パフォーマンスの向上を図るために行うこともできます。

制約事項

この手順は、BioRS _ID_ エレメントに対応する列のカーディナリティー統計の更新には使用しないでください。BioRS _ID_ エレメントに対応する列のカーディナリティー統計を更新する場合は、別の手順で行う必要があります。

オプティマイザーおよび BioRS ラッパーが照会処理時に最良のデータ・アクセス・プランを選択できるよう、BioRS 列のカーディナリティー統計が最新のものであることを確認してください。

このタスクについて

手順

BioRS 列カーディナリティー統計を更新するには、以下のようにします。

UPDATE ステートメントを発行して、 SYSSTAT.COLUMNS カタログ・ビューを変更します。 UPDATE ステートメントの構文は以下のとおりです。

UPDATE SYSSTAT.COLUMNS SET COLCARD=(SELECT COUNT(DISTINCT column_name)FROM nickname_schema.nickname_name)WHERETABSCHEMA=nickname_schemaAND TABNAME=nickname_nameAND COLNAME=column_name;

SYSSTAT.COLUMNS列統計が保管される、フェデレーテッド・データベースのシステム・カタログ・ビュー。

COLCARD=(SELECT COUNT(DISTINCT column_name

統計を更新するニックネームの列名。

TABSCHEMA= nickname_schema

更新するニックネームのスキーマの名前。

TABNAME=nickname_name

更新するニックネームの名前。

COLNAME=column_name

更新対象のカーディナリティー統計を持つ列の名前。

ニックネームに関連するデータ・バンクの項目をすべて検索するため、照会の実行には数分かかる場合があります。

70 フェデレーテッド・データ・ソース 構成ガイド

Page 81: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

列に複数の値を含む場合 (SwissProt データベース形式の PublicationYear エレメントなど)、SQL 参照を使用するには計算が複雑になり過ぎます。このような列には、カーディナリティー値を手動で計算後、SYSSTAT.COLUMNS カタログ・ビューを更新する必要があります。カーディナリティー値を計算するには、列の別個の値を、行ごとの値の平均値で割ります。計算したカーディナリティー値は、表のカーディナリティーより小さくなります。

たとえば、ニックネームが以下に示す 3 行の値を PublicationYear 列に持つ場合、互いに異なる 9 種類の値があり、1 行あたりの値の個数の平均は 4 です。

v 1997 1992 1985

v 1997 1992 1982

v 1992 1991 1990 1976 1974 1971

PublicationYear 列のカーディナリティーは 9/4 すなわち 3 (2.25 をすぐ上の整数に切り上げ) です。次の UPDATE ステートメントを使用して、SYSSTAT.COLUMNS

カタログ・ビューを更新します。

UPDATE SYSSTAT.COLUMNS SET CARDCOL=3WHERETABSCHEMA=nickname_schemaAND TABNAME=nickname_nameAND COLNAME=column_name;

BioRS _ID_ 列カーディナリティーの更新BioRS _ID_ エレメントにマップする列に対応する BioRS 列カーディナリティー統計を更新するには、SYSSTAT.COLUMNS カタログ・ビューを変更する必要があります。

始める前に

列を参照するニックネームに対応する BioRS データ・バンクのカーディナリティー番号を判別してください。BioRS _ID_ エレメントにマップする列のカーディナリティー番号は、列を参照するニックネームのカーディナリティーと一致する必要があります。

BioRS _ID_ エレメントにマップする列に対応するカーディナリティー統計は、常に最新であることを確認するようにします。オプティマイザーおよび BioRS ラッパーは、これらの統計を、照会処理のための最良のデータ・アクセス・プランを選択するのに使用します。

このタスクについて

BioRS _ID_ 列カーディナリティーを更新するには、ELEMENT_NAME オプションを含む SYSCAT.COLOPTIONS ビュー中の項目を選択する必要があります。 BioRS

ラッパーは、このオプションを、フェデレーテッド・データベースのニックネーム列名と BioRS サーバーのエレメント名のマッピングに使用します。

手順

BioRS _ID_ 列カーディナリティー統計を更新するには、以下のようにします。

第 4 章 BioRS データ・ソース 71

Page 82: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

UPDATE ステートメントを発行してカタログ・ビューを変更します。

たとえば:

UPDATE SYSSTAT.COLUMNS SET COLCARD=cardinality_numberWHERETABSCHEMA=nickname_schemaAND TABNAME=nickname_nameAND COLNAME=column_name

IN (SELECT column_name FROM SYSCAT.COLOPTIONSWHERETABSCHEMA=nickname_schemaAND TABNAME=nickname_nameAND OPTION=’ELEMENT_NAME’;AND SETTING=’_ID_’)

SYSSTAT.COLUMNS列統計が保管される、フェデレーテッド・データベースのシステム・カタログ・ビュー。

SET COLCARD=cardinality_number

統計を更新する列のニックネームに対応する BioRS データ・バンク・カーディナリティー番号。

TABSCHEMA= nickname_schema

更新するニックネームのスキーマの名前。

TABNAME=nickname_name

更新するニックネームの名前。

COLNAME=column_name

更新対象のカーディナリティー統計を持つ列の名前。

IN (SELECT column_name FROM SYSCAT.COLOPTIONSこの SELECT ステートメントは、BioRS _ID_ エレメントにマップする列の名前を決定します。SYSCAT.COLOPTIONS は、列オプションが保管されるフェデレーテッド・データベースのシステム・カタログ・ビューです。

OPTION=’ELEMENT_NAME’

ニックネーム列名が BioRS エレメント名にマップされることを示す、SYSCAT.COLOPTIONS ビューの行の値。

SETTING=’_ID_’

ELEMENT_NAME オプションに対応する列は ’_ID_’ であると指定します。

72 フェデレーテッド・データ・ソース 構成ガイド

Page 83: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 5 章 BLAST データ・ソース

BLAST データ・ソースへのアクセスの構成フェデレーテッド・システムを使用すると、BLAST データ・ソースにあるデータと他のソースからの情報を統合させることができます。

手順

フェデレーテッド・サーバーが BLAST データ・ソースにアクセスするように構成するには、アクセスするデータ・ソースとオブジェクトの情報をフェデレーテッド・サーバーに渡す必要があります。フェデレーテッド・サーバーを構成したら、照会を作成し、カスタム関数を使用して BLAST データ・ソースにアクセスできます。

BLAST ラッパーBLAST は、ヌクレオチドまたはアミノ酸のシーケンス・データベースをスキャンして ″ヒット″ を探すために使用されるユーティリティーです。BLAST ラッパーはBLAST 可能データ・ソースで検索を実行するために使用されます。

BLAST (Basic Local Alignment Search Tool) は、National Center for Biotechnology

Information (NCBI) によってメンテナンスされているユーティリティーです。BLAST は、ヌクレオチドまたはアミノ酸のシーケンス・データベースをスキャンして ″ヒット″ を探すために使用されます。1 つの BLAST ヒットには 1 つ以上の高スコア・セグメント・ペア (HSP) が含まれます。 HSP は、配列が局所的に最大で、類似性スコアが一定のしきい値を超える、シーケンス・フラグメントのペアです。 NCBI は、blastall 実行可能ファイルを提供しています。これは GenBank やSWISS-PROT などの BLAST 可能データ・ソースで BLAST 検索を実行するために使用されます。

BLAST ラッパーは、BLAST 検索の 5 つのタイプすべて、すなわちBLASTn、BLASTp、BLASTx、tBLASTn、および tBLASTx をサポートします。

表 17. BLAST ラッパーによってサポートされている BLAST 検索タイプ

BLAST 検索タイプ 説明

BLASTn BLAST 検索の 1 つのタイプ。ヌクレオチド・シーケンスをヌクレオチド・シーケンス・データベースの内容と比較して、オリジナルのシーケンスの領域と同種の領域をもつシーケンスを検出します。

BLASTp BLAST 検索の 1 つのタイプ。アミノ酸シーケンスをアミノ酸シーケンス・データベースの内容と比較して、オリジナルのシーケンスの領域と同種の領域をもつシーケンスを検出します。

© Copyright IBM Corp. 1998, 2006 73

Page 84: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 17. BLAST ラッパーによってサポートされている BLAST 検索タイプ (続き)

BLAST 検索タイプ 説明

BLASTx BLAST 検索の 1 つのタイプ。ヌクレオチド・シーケンスをアミノ酸シーケンス・データベースの内容と比較して、オリジナルのシーケンスの領域と同種の領域をもつシーケンスを検出します。照会シーケンスは 6 つの読み取りフレームすべてで変換されます。結果の各シーケンスは、シーケンス・データベースを検索するために使用されます。

tBLASTn BLAST 検索の 1 つのタイプ。アミノ酸シーケンスをヌクレオチド・シーケンス・データベースの内容と比較して、オリジナルのシーケンスの領域と同種の領域をもつシーケンスを検出します。シーケンス・データベースの中のシーケンスは 6 つの読み取りフレームすべてで変換されます。結果のシーケンスは、照会シーケンスの領域と同種の領域を検出するために検索されます。

tBLASTx BLAST 検索の 1 つのタイプ。ヌクレオチド・シーケンスをヌクレオチド・シーケンス・データベースの内容と比較して、オリジナルのシーケンスの領域と同種の領域をもつシーケンスを検出します。tBLASTx 検索では照会シーケンスとシーケンス・データベースの両方とも 6 つの読み取りフレームすべてで変換されます。結果のシーケンスは、同種の領域を検出するために比較されます。

次の図は、BLAST が実際のフェデレーテッド・システムでどのように機能するかを示しています。

74 フェデレーテッド・データ・ソース 構成ガイド

Page 85: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

クライアント・サイドで、ユーザーまたはアプリケーションは、標準の BLAST オプションにマップする BLAST 特有のパラメーターを渡す述部を持つ SQL ステートメントをサブミットします。入力述部を持つ SQL ステートメントは、 BLAST

ラッパーがインストールされたフェデレーテッド・システムへ送信されます。

BLAST ラッパーは、照会を BLAST アプリケーションが認識できるフォーマットに変換し、その変換された照会を BLAST サーバーへ送信します。このサーバーをフェデレーテッド・サーバー用のコンピューターとは別のコンピューター上に配置することもできます。特別なデーモン・プログラムが BLAST サーバーで実行されます。このデーモンは、デーモン構成ファイルからの情報を使用して、フェデレーテッド・サーバーからの照会要求を受信し、それを BLAST アプリケーションへ送信します。次に BLAST アプリケーションは、BLAST 可能なデータ・ソースに対して通常の方法で実行されます。

結果は BLAST へ戻され、次にデーモンへ戻されます。デーモンは検索されたデータを BLAST ラッパーへ戻します。ラッパーはデータをリレーショナル表フォーマットへ変換し、この表をユーザーまたはアプリケーションへ戻します。戻されたデータは以下の 2 つの部分で構成されています。

v BLAST ユーザーが見なれている一連の標準の固定列

v ユーザー構成の定義行情報

図 5. BLAST ラッパーがどのように機能するか

第 5 章 BLAST データ・ソース 75

Page 86: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

以下の例は、BLAST 可能なデータ・ソースからリレーショナル情報を抽出する方法を示しています。データは、未加工の FASTA ファイル・フォーマットからBLAST 可能なデータ・セットへ、そして実際のフェデレーテッド・システムで他のデータ・ソースと結合可能なリレーショナル表へと移動します。

次の図は FASTA ファイルのサンプルで、4 つの定義行およびヌクレオチド・シーケンス・レコードが含まれています。

NCBI が提供する標準 formatdb アプリケーションが FASTA ファイルを BLAST

可能データ・セットにトランスフォームします。これで、データを照会する準備ができました。

次の照会は BLAST ラッパーによってトランスフォームされ、BLAST 可能データ・セットに対して照会を実行します。

>7:4986 PMON5744GTTCTTCCCAGTGCCCAAGTCCATTCTGACATCAATGAAGAAGGTAAAATCCCTGCGTGATCCCTCTGCCAAGATGTCGAAATCAGACCCGGATAAACTAGCTGCTGTCAGAATAACAGACAGCCCGGAGGAGATCGTGCAGAAGTTCCGCAAGGCTGTGACGGACTTCACCTCGGAGGTCACCTACGACCCGGCCAGGCGAGGAGGCGTGTCCAACTTGGTGGCCATCCACGCGGCAGTGACCGGACTCCCGGTGGAGGAGGTGGTCCGCCGAAGTGCTGGCATCAACACCGCTGGCTACAAGTTGGTGGTGGCGGAGGCTGTGATTGAGAGATTTGCACCAATTAAGAGTGAAATTGAAAAACTGAAGAGGAACAAGGACCACCTAGAGAAGGTTTTACAAGTTGGGTCGGCAAAAGCCAAAGAATTAGCATATCCCGTGTGCCAGGAGGTGAAGAAATTGGTGGGGTTTCTATAGGCAGTCTCACCTAGTCCCAGAAAATGTTTTTTATCTTGTGGTCTGCTTGCACACTCAGTCTAATAAAGGCAGCTTTCCTAAGACGCCAACAATTCCAGTTTGGGGATGCTTAGTTTACT

>8:9747 PMON5699AAGAAGTTCTTGTTAGAACTTTCCACCTCCGGCTTCCCCTCCACCTCTCTTACTGTCCCAACCTTCTGAGACGCTTTTTCTCCTCCCGAGGATTTATCTCTTTCTCTCTCTCTCTCTCTCTCTCTTTTTTTTTTTCCCCTTTTCCCCCCCCGAGGCTGGTTTTGCTTTGGGGAGGGGGGGTTTTTTAAAGGGGCCGGGGGGGCCCCCTTTCTCCCCCCTAATGGGGTTAATTAATAATGGGGGGGGGGGTTTTTTTTTTTTAAACCCCTATTTGGTCCGGCCCGGGGATTTCCCCCCCCCCCCCCTTGCCCGGTTCCGGGGCCCGGAGGAGGGGGGGAAAAGGGCGGGAACCTTTGGTAGTTTCCCCTCGGAAAAAAATTTTTCGGGGGGGAAAACCTCCCT

>13:6512 PMON5498GATAAGAGGCAGAATAGAAGACTGGACTACTTCTCTCCTAAAAACACATTTAAAACTAAGCCTGAGCAATCTCCACCCAAATGGACCGGAAACCTTAAAAAAGAATCCTACTCCTGAAGAAAAAGAGGAGGACACATCAAGAGGTAGAAGGGGCGATTTCATGATATAAACAACCCCATACCTCCAGAGTGGGAAGCTCCACAGACTGAAAACTAACTGGTTCACAGAAACTCACCTACAGGAGTGAGCCCCACATCAAACCCTCGAATGTGGGGATCTGGCACTGGTAGAAAGAGCCCCTGGAGCATCTGGCATTGAAGGCCAGTGGGGCTTGTGTGCAGGAGATCCACAGGACTAGGGGAAACGGAGACCCCCATTCTTAAAAGGTGCACACAGACTTTTACGTGCACTGGGTCCCAGTGCAAAGCAAAGTCTCCATAGGAATCTGGGTCAAACCTGACTGCAGTTCTTGGAGGACCTCCTGGGAAAGCAAGGGTGAATGTGGCTTCTTGTGGGGAAAGGACATTGGAAGCAAAGCTCTTGGGAATATTCATCAGTGTGC

>15:8924 PMON5426GGAGAAACTGACTCCTGAGCAGCTGCAATTCATGCGGCAGGTGCAGCTCGCCCAGTGGCAGAAGACGCTGCCACAGCGGCGGACCCGGAACATCGTGACCGGCCTGGGCATCGGGGCGCTGGTGTTGGCAATTTGTATCCGTTTGGACTGTAGACTCAGGGAGACCGCATTTAGGGGAACAGGAAGGGCAGCAGGGGCGTGTAGGAGGGCAGTGTGGGGGTGGTAGAAGGAGCCCGAGATATGAAAACCTTGGCTCCTTTTAACTCTGAATCAAGCGTTTGGTGTACCTTACGTTGTCATTTTAAAGGTGTATTTTAGTATAATTGATTAATGATTACGGAGTCGGGTGAGGGCTCCCAGGAGCAGACGGCAGAAGATCGAATTTGGGAGGATGATCAGCAGCGGTGGTTGAGCAAGTGTGGGAAAAGGGAATGCGCACATTCCACGTGGTTTCCTGAACCCACCTCCCCAGATGGTTACACCTTCTACTCGGTGTCCCAGGAGCGTTTCTTGGATGAGCTGGAGGATGAGGCCAAAGCTGCTC

図 6. サンプルの FASTA ファイル nucleo1

76 フェデレーテッド・データ・ソース 構成ガイド

Page 87: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

SELECT Unique_ID, Experiment_Number, Organism_Number, HSP_Info, ScoreFROM nucleo1WHERE BlastSeq = ’ACATTCTTATAGAGTATTGCTACTCCTCCAGGATAGAGTCATCTCTGGTCTCCAGAGCCACCGCTGGCTACAAGTTGGTGGTGGCGGAGGCTGTGATTGAGAGATTTGCACCAATACAGAAACTCACCTACAGGAGTGAGCGGGTGGTAGAAGGAGCCCGAGATATGAAAACCTTGTTTCAAGACCCCATTGTCACCGGGG’;

照会の結果は、BLAST ラッパーによって次の表に示されているリレーショナル表フォーマットにトランスフォームされます。

表 18. フェデレーテッド・システムに組み込まれると、BLAST は、結果をリレーショナル表フォームで戻します。

固有な ID 実験番号 生体番号 HSP_INFO SCORE

PMON5744 4986 7 一致 = 57/201

(28%)、ポジティブ =

57/201 (28%)、ギャップ = 0/201 (0%)

+1.13487000000000E+002

PMON5426 8924 15 一致 = 35/201

(17%)、ポジティブ =

35/201 (17%)、ギャップ = 0/201 (0%)

+6.98754000000000E+001

PMON5498 6512 13 一致 = 26/201

(13%)、ポジティブ =

26/201 (13%)、ギャップ = 0/201 (0%)

+5.20342000000000E+001

データは完全にリレーショナル・フォームになっており、研究所で使用される他のデータ・ソースのデータと結合できます。いくつかのデータ・ソースの結果を結合することによって、フェデレーテッド・システムのインプリメンテーション前には容易にまたは効率的に発見できなかったような点を洞察することができます。

フェデレーテッド・サーバーへの BLAST データ・ソースの追加フェデレーテッド・サーバーが BLAST データ・ソースにアクセスするように構成するには、アクセスするデータ・ソースとオブジェクトの情報をフェデレーテッド・サーバーに渡す必要があります。 BLAST データ・ソースにアクセスするようにフェデレーテッド・サーバーを構成するには、BLAST 検索用に BLAST デーモン、ラッパー、サーバー定義、ニックネームを構成する必要があります。

始める前に

v IBM WebSphere Federation Server が、フェデレーテッド・サーバーとして機能するサーバー上にインストールされていなければなりません。

v フェデレーテッド・データベースがフェデレーテッド・サーバー上になければなりません。

このタスクについて

コントロール・センターを使用するか、またはコマンド行で SQL ステートメントを発行することによって、 BLAST データ・ソースに保管されているデータにアクセスするようフェデレーテッド・サーバーを構成することができます。コントロー

第 5 章 BLAST データ・ソース 77

Page 88: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ル・センターには、必須フェデレーテッド・オブジェクトを構成するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

BLAST データ・ソースをフェデレーテッド・サーバーに追加するには、以下のようにします。

1. blastall 実行可能ファイルおよびマトリックス・ファイルの正しいバージョンがインストールされていることを検証します。

2. BLAST デーモンを構成します。

3. BLAST デーモンを開始します。

4. ラッパーを登録します。

5. ユーザー・マッピングを登録します (オプション)。

6. サーバー定義を登録します。

7. BLAST 検索のニックネームを登録します。

BLAST サーバー・ファイルのバージョンの検査blastall 実行可能ファイルとマトリックス・ファイルの最新バージョンが BLAST サーバーにインストールされている必要があります。

始める前に

以下を検証します。

v blastall 実行可能ファイルの最新バージョンが BLAST サーバー・コンピューターにインストールされていること。

v BLOSUM62、BLOSUM80、PAM30、PAM70 マトリックス・ファイルが BLAST

サーバー・コンピューターにインストールされていること。マトリックス・ファイルは、blastall 実行可能ファイルと同じディレクトリーになければなりません。

手順

blastall 実行可能ファイルとマトリックス・ファイルのバージョン・レベルのチェックは、次のように行います。

コマンド行から BLAST 探索を実行し、出力ファイルに現れるバージョン番号に注目します。

BLAST デーモンの構成BLAST デーモンは BLAST ラッパーで BLAST データ・ソースにアクセスするために使用されます。 BLAST デーモンを構成してから BLAST ラッパーを登録する必要があります。

始める前に

BLAST デーモンは以下の権限を持っている必要があります。

v BLAST 検索の実行のため、blastall 実行可能ファイルに対する実行アクセス権限。

78 フェデレーテッド・データ・ソース 構成ガイド

Page 89: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v 一時ファイルに書き込むことができるディレクトリーに対する書き込みアクセス権限。

v BLAST 検索を実行できる対象となる、少なくとも 1 つの BLAST 可能データ・ソースに対する読み取りアクセス権限。 blastall 実行可能ファイルは、formatdb

プログラムによって生成されたデータ・ファイルと BLAST 索引ファイルの両方に対する読み取りアクセス権限をもっている必要があります。formatdb プログラムは実行可能プログラムで、BLAST ユーティリティーの一部です。

制約事項

実行可能ファイル・パスにスペースが含まれる場合、BLAST デーモンは正常に実行しないことがあります。例えば、BLAST 実行可能ファイルをWindows サーバーのC:¥Program Files にはインストールしないでください。

このタスクについて

BLAST ラッパーには BLAST デーモンが必要です。 BLAST デーモンは、フェデレーテッド・システムから TCP/IP を介してアクセス可能なサーバー上で実行していなければなりません。以下のファイルは、blastall 実行可能ファイルとデーモンが正常に動作するためには、フェデレーテッド・サーバーにあるか、別の BLAST サーバーにあるかのいずれか同じサーバーにある必要があります。

v blastall 実行可能ファイル

v MATRIX ファイル

v デーモン実行可能ファイル

v デーモン構成ファイル

v OSS ランタイム・ライブラリー・ファイル

BLAST デーモンは、BLAST ラッパーおよびフェデレーテッド・データベースとは別個に実行します。 BLAST デーモンは、BLAST ラッパーからの BLAST ジョブ要求を listen します。

手順

BLAST デーモンを構成するには、以下の手順に従います。

1. BLAST デーモンの実行可能ファイルが適切なサーバー上に存在することを確認します。

オペレーティング・システム 手順

UNIX が稼働するフェデレーテッド・サーバーの場合

デーモン・ファイルの名前はdb2blast_daemon です。このファイルは、$DB2PATH/bin ディレクトリーにインストールされます。

Windows が稼働するフェデレーテッド・サーバーの場合

BLAST デーモン実行可能ファイルの名前は、 db2blast_daemon.exe とdb2blast_daemon_svc.exe です。これらのファイルは %DB2PATH%¥bin ディレクトリーにインストールされています。

第 5 章 BLAST データ・ソース 79

Page 90: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

場合により BLAST デーモン実行可能ファイルを別のサーバーにコピーする必要があります。

IBM WebSphere Federation Server のインストール中に、BLAST デーモン実行可能ファイルはフェデレーテッド・サーバーにインストールされます。

別個の BLAST サーバーを使用する場合、BLAST デーモン実行可能ファイルをフェデレーテッド・サーバーから BLAST サーバーにコピーする必要があります。 BLAST デーモン実行可能ファイルは、ディレクトリー・パス内の名前にスペースを含まない、BLAST サーバー上の任意のディレクトリーで実行できます。

2. OSS ライブラリー・ファイルが適切なサーバーにあることを確認します。

オペレーティング・システム 手順

UNIX が稼働するフェデレーテッド・サーバーの場合

BLAST デーモン実行可能ファイルの名前は以下のとおりです。

v libdb2osse.a (AIX オペレーティング・システム)

v libdb2osse.so (Linux または Solaris オペレーティング・システム)

このファイルは、$DB2PATH/bin ディレクトリーにインストールされます。

Windows が稼働するフェデレーテッド・サーバーの場合

OSS ライブラリー・ファイルの名前はdb2osse.dll です。このファイルは%DB2PATH%¥bin ディレクトリーにインストールされています。

3. BLAST デーモンの構成ファイルが適切なサーバー上に存在することを確認します。

オペレーティング・システム 手順

UNIX が稼働するフェデレーテッド・サーバーの場合

デーモン構成ファイルは、$DB2PATH/bin ディレクトリーにインストールされます。$DB2PATH は、IBM WebSphere Federation

Server がインストールされているディレクトリーです。

Windows が稼働するフェデレーテッド・サーバーの場合

デーモン構成ファイルは、%DB2PATH%¥bin

ディレクトリーにインストールされます。%DB2PATH% は、IBM WebSphere

Federation Server がインストールされているディレクトリーです。デフォルト・パスはC:¥Program Files¥SQLLIB¥IBM です。

IBM WebSphere Federation Server がインストールされていると、サンプル・デーモン構成ファイルがフェデレーテッド・サーバーにインストールされます。サンプル・デーモン構成ファイルの名前は BLAST_DAEMON.config です。

構成ファイルは、デーモンを実行しているサーバーと同じサーバー上に置く必要があります。構成ファイルは、別のロケーションにコピーすることができます。

80 フェデレーテッド・データ・ソース 構成ガイド

Page 91: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

BLAST サーバーを使用する場合、デーモン構成ファイルをフェデレーテッド・サーバー上のディレクトリーから BLAST サーバー上のファイルにコピーする必要があります。デーモン構成ファイルは、デーモンがアクセス可能な BLAST サーバー上の任意のディレクトリーにコピーできます。

4. デーモン構成ファイルを編集します。

a. オプション: 構成ファイルを名前変更することができます。

b. 構成ファイルの 1 行目は、等号であることを確認します。等号がないと、デーモンは開始しません。 DAEMON_PORT が指定されなかったことを示すエラー・メッセージが出されます。

c. 構成ファイルの最終行が改行で終了していることを確認します。 IBM

WebSphere Federation Server に付属のサンプル構成ファイルは、改行で終了しています。最終行が改行で終わっていない場合、最終行にリストされたデータ・ソースを使用して BLAST 照会を初めて実行しようとする際に、エラー・メッセージが出されます。

d. 構成ファイルに以下のオプションを指定します。

パスを必要とするオプションについては、相対パスを指定できます。相対パスは、デーモン・プロセスが開始されたディレクトリーに相対しています。

DAEMON_PORTこれは、ラッパーによってサブミットされた BLAST ジョブ要求をデーモンが listen するネットワーク・ポートです。

MAX_PENDING_REQUESTSこれは、任意の一時点でデーモンでブロッキングできる BLAST ジョブ要求の最大数です。この数は、並行して実行されている BLAST ジョブ数を表すものではありません。一時点でブロックできるジョブ要求数のみです。これを 5 より大きい数に設定することをお勧めします。 BLAST デーモンでは、並行して実行できる BLAST ジョブ数の制限はありません。

DAEMON_LOGFILE_DIRこれは、デーモンがそのログ・ファイルを作成するディレクトリーです。このファイルには、BLAST デーモンが生成する有用な状況情報とエラー情報が含まれます。

Q_SEQ_DIR_PATHこれは、デーモンによって一時照会シーケンス・データ・ファイルが作成されるディレクトリーです。この一時ファイルは、BLAST ジョブが完了するとクリーンアップされます。

BLAST_OUT_DIR_PATHこれは、デーモンが BLAST 出力データを保管するための一時ファイルを作成するディレクトリーです。データはこのファイルから読み取られて、ネットワーク接続を介してラッパーに戻されます。データがラッパーに渡されると、デーモンは一時ファイルをクリーンアップします。

BLASTALL_PATHこれは、デーモンを実行しているサーバー上の BLAST 実行可能ファイルの完全修飾名です。

第 5 章 BLAST データ・ソース 81

Page 92: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

データベース指定項目BLAST 可能データ・ソースの場所を指定します。構成ファイルに指定したデータベース data_source_name をメモしてください。デーモンが正しく機能するためには、データ・ソースのニックネームを作成するときに、データベース data_source_name を指定する必要があります。この名前は大文字小文字が区別されます。データベースdata_source_name は、CREATE NICKNAME ステートメントのDATASOURCE オプションに指定されます。

構成ファイルには、少なくとも 1 つの BLAST 可能データ・ソース用の完全修飾パスを指定するデータベース指定項目が含まれている必要があります。例:

data_source_name=data_source_path

UNIX が稼働するフェデレーテッド・サーバーの場合たとえば、GenBank BLAST 可能データ・ソースを指定するには、デーモン構成ファイルに次に示す行を追加します。

genbank=/dsk/1/nucl_data/genbank

Windows が稼働するフェデレーテッド・サーバーの場合たとえば、GenBank BLAST 可能データ・ソースを指定するには、デーモン構成ファイルに次に示す行を追加します。

c:¥vnr_data¥genbank_nonest1.fasta

データベース指定項目に示されるパスには、3 つの索引ファイルが含まれていなければなりません。

v ヌクレオチド・データ・ソースの場合、索引ファイルは以下の拡張子をもっています。

– .nhr

– .nin

– .nsq

v アミノ酸データ・ソースの場合、索引ファイルは以下の拡張子をもっています。

– .phr

– .pin

– .psq

データベース指定項目は、オリジナルの Fasta フォーマットされたデータを含んでいるファイルの名前を示していなければなりません。 3

つの索引ファイルは、オリジナルの Fasta フォーマットされたデータを含んでいるファイルと同じルート名をもっていなければなりません。

BLAST デーモンの構成ファイル - 例この例は、GenBank と SWISS-PROT データ・ソース用の必須設定と仕様を示しています。 UNIX と Windows サーバー両方に対するデーモン構成ファイルの例があります。

82 フェデレーテッド・データ・ソース 構成ガイド

Page 93: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

以下の例は、サンプルの BLAST デーモン構成ファイルの内容を示しています。BLAST デーモンはフェデレーテッド・サーバーまたは別の BLAST サーバーで実行できます。 BLAST デーモン構成ファイルは、BLAST デーモンおよび BLAST

実行可能ファイルと同じサーバーに置く必要があります。

BLAST デーモンの構成ファイル (UNIX)

この例は、必須オプションと、UNIX が稼働するサーバー用の GenBank およびSWISS-PROT についての BLAST 可能データ・ソースの仕様を示しています。

=DAEMON_PORT=4007MAX_PENDING_REQUESTS=10DAEMON_LOGFILE_DIR=/home/blastuser/logsQ_SEQ_DIR_PATH=/tmpBLAST_OUT_DIR_PATH=/tmpBLASTALL_PATH=/home/blastuser/blast/blastallgenbank=/dsk/1/nucl_data/genbankswissprot=/dsk/1/prot_data/swissprot

BLAST デーモンの構成ファイル (Windows)

この例は、必須オプションと、Windows が稼働するサーバー用の GenBank およびSWISS-PROT についての BLAST 可能データ・ソースの仕様を示しています。

=DAEMON_PORT=4007MAX_PENDING_REQUESTS=10DAEMON_LOGFILE_DIR=C:¥blast¥logsQ_SEQ_DIR_PATH=C:¥tempBLAST_OUT_DIR_PATH=C:¥tempBLASTALL_PATH=C:¥blast¥blastall.exegenbank=c:¥vnr_data¥genbank_nonest1.fastaswissprot=c:¥vnr_data¥swissprot

BLAST デーモンの開始BLAST デーモンを開始してから BLAST ラッパーを登録する必要があります。

始める前に

BLAST デーモンを開始する前に、次のようにします。

v BLAST デーモンを構成する必要があります。

v 構成ファイルの次の項目に記載されているすべてのパスに書き込みアクセスを持っている必要があります。

– DAEMON_LOGFILE_DIR

– BLAST_OUT_DIR_PATH

– Q_SEQ_DIR_PATH

このタスクについて

実行可能ファイルは、BLAST デーモンが実行される新規プロセスを開始します。

手順

BLAST デーモンを開始するには、次のようにします。

第 5 章 BLAST データ・ソース 83

Page 94: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

1. デーモン実行可能ファイルが存在するディレクトリーを開きます。

2. db2blast_daemon コマンドを発行して実行可能ファイルを起動します。

このコマンドを発行して実行可能ファイルを起動するとき、場合により 1 つ以上のオプションを組み込みます。

db2blast_daemon コマンド - オプションおよび例db2blast_daemon コマンドは UNIX および Windows サーバーで使用できます。構文内でリストされるオプションの一部は、Windows サーバーでのみ使用できます。

オプション - db2blast_daemon コマンド

db2blast_daemon コマンドのオプションは以下のとおりです。

db2blast_daemon -a action -c config_file -d debug_level-u user_id -p password

-a action

指定したアクティビティーを実行します。有効なアクションは、status、install、start、stop、および remove です。

このオプションは、Windows サーバーでのみ指定できます。

-c config_file

指定した構成ファイルを使用するように、デーモンに指示します。構成ファイルを指定しなかった場合、デーモンは、デーモン実行可能ファイルがインストールされているディレクトリー内で、 BLAST_DAEMON.config ファイルを検索します。

このオプションは、UNIX および Windows サーバーで指定できます。Windows サーバーでは、install や start アクションでのみこのオプションを指定できます。

-d debug_level

デーモンのデバッグ・レベルを、指定した値に設定します。有効な値は1、2、または 3 です。このオプションは、install および start アクションとともに使用できます。

このオプションは、UNIX および Windows サーバーで指定できます。

-u user_id

指定したユーザー ID で実行するように、デーモンを設定します。このオプションは、install アクションとともに使用できます。

このオプションは、Windows サーバーでのみ指定できます。

-p password

指定したユーザー ID のパスワードを指定します。パスワードが有効かつ必要なのは、-u オプションを指定する場合だけです。-u オプションの設定時に -p オプションを指定しなかった場合、パスワードを求めるプロンプトがプログラムによって出されます。このオプションは、install アクションとともに使用できます。

このオプションは、Windows サーバーでのみ指定できます。

84 フェデレーテッド・データ・ソース 構成ガイド

Page 95: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

start アクションで指定されるオプションは、デーモンが停止されるまで適用され、install アクションを使用して指定される値をオーバーライドします。オプションを指定しないでデーモンを停止してから開始した場合、オプションの値はインストール・アクションで指定した値、またはデーモン用の組み込みデフォルト値になります。

たとえば、次の順序でコマンドを発行する場合、BLAST1.config ファイルが install

アクションで指定されます。 BLAST2.config ファイルが start アクションで指定され、デーモンが停止するまで使用されます。デーモンが再び開始されると、BLAST1.config ファイルが使用されます。

[1]db2blast_daemon -a install -c BLAST1.config[2]db2blast_daemon -a start -c BLAST2.config[3]db2blast_daemon -a stop[4]db2blast_daemon -a start

例 - db2blast_daemon コマンド

以下の例は、db2blast_daemon コマンドでオプションを使用する方法を示したものです。

デーモンの開始デーモンを開始するには、次のコマンドを発行します。

db2blast_daemon -a start

このコマンドでは、デーモン構成ファイルが実行可能ファイルと同じディレクトリーにあると想定しています。

デーモン構成ファイルデーモン構成ファイルの名前を変更してしまっているか、構成ファイルがデーモン実行可能ファイルと同じディレクトリーにない場合、-c オプションを実行可能ファイルを起動するときに使用する必要があります。このオプションはデーモン構成ファイルのディレクトリー・パスと名前を指定します。

例えば、デーモン構成情報が UNIX サーバー上のサブディレクトリー cfg

の BLAST_D.config ファイルにある場合、次のコマンドを発行します。

db2blast_daemon -c cfg/BLAST_D.config

デバッグデバッグ・レベル 2 のデバッグ・モードでデーモンを開始する場合、次のコマンドを発行します。

db2blast_daemon -a install -d 2

db2blast_daemon -a start

デーモンの状況 (Windows)Windows サーバーでデーモンの状況をチェックするには、次のコマンドを発行します。

db2blast_daemon -a status

このコマンドでは、デーモン構成ファイルが実行可能ファイルと同じディレクトリーにあると想定しています。

デーモンの停止デーモンを停止するには、次のコマンドを発行します。

第 5 章 BLAST データ・ソース 85

Page 96: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

db2blast_daemon -a stop

このコマンドでは、デーモン構成ファイルが実行可能ファイルと同じディレクトリーにあると想定しています。

デーモンの削除デーモンを実行するサーバーを変更するためなど、サーバーからデーモン・サービスを除去するには、次のコマンドを発行します。

db2blast_daemon -a remove

BLAST ラッパーの登録BLAST データ・ソースにアクセスするには、ラッパーを登録する必要があります。ラッパーを介して、フェデレーテッド・サーバーはデータ・ソースとの通信やデータ検索を行います。ラッパーは、ライブラリー・ファイルのセットとしてインプリメントされます。

手順

BLAST ラッパーを登録するには、次のようにします。

BLAST ラッパーの名前とラッパー・ライブラリー・ファイルの名前を指定して、CREATE WRAPPER ステートメントを発行します。 例えば、AIX オペレーティング・システムを使用するフェデレーテッド・サーバー上にラッパーを blast_wrapper

の名前で登録するには、次のステートメントを発行します。

CREATE WRAPPER blast_wrapper LIBRARY ’libdb2lsblast.a’;

指定するラッパー・ライブラリー・ファイルの名前は、フェデレーテッド・サーバーのオペレーティング・システムによって異なります。CREATE WRAPPER ラッパー・ステートメントで指定する正しいライブラリー名については、『BLAST ラッパー・ライブラリー・ファイル』のリストを参照してください。

BLAST ラッパーのライブラリー・ファイルBLAST ラッパー・ライブラリー・ファイルは WebSphere Federation Server のインストール時にフェデレーテッド・サーバーに追加されます。

IBM WebSphere Federation Server をインストールすると、デフォルトのディレクトリー・パスに 3 つのライブラリー・ファイルが追加されます。たとえば、フェデレーテッド・サーバーが AIX 上で実行されている場合、ディレクトリー・パスには、libdb2lsblast.a、 libdb2lsblastF.a、および libdb2lsblastU.a が追加されます。デフォルトのラッパー・ライブラリー・ファイルは libdb2lsblast.a です。他のラッパー・ライブラリー・ファイルは特定のラッパー・オプションで使用されます。

CREATE WRAPPER ステートメントに LIBRARY パラメーターを含め、デフォルトのラッパー・ライブラリー・ファイルの名前を指定する必要があります。

以下の表に、デフォルトのディレクトリー・パスとデフォルトのラッパー・ライブラリー・ファイルの名前がリストされています。

86 フェデレーテッド・データ・ソース 構成ガイド

Page 97: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 19. BLAST ラッパーのライブラリーのロケーションおよびファイル名

オペレーティング・システム

ディレクトリー・パス ラッパー・ライブラリー・ファイル

AIX /usr/opt/<install_path>/lib32/

/usr/opt/<install_path>/lib64/

libdb2lsblast.a

Linux /opt/IBM/db2/<install_path>/lib32

/opt/IBM/db2/<install_path>/lib64

libdb2lsblast.so

Solaris /opt/IBM/db2/<install_path>/lib32

/opt/IBM/db2/<install_path>/lib64

libdb2lsblast.so

Windows /opt/IBM/db2/<install_path>/lib32

/opt/IBM/db2/<install_path>/lib64

db2lsblast.dll

<install_path> はディレクトリー・パスで、IBM WebSphere Federation Server がUNIX または Linux にインストールされている場所です。

%DB2PATH% は、Windows にインストールされている WebSphere Federation

Server のディレクトリー・パスを指定するのに使用する環境変数です。デフォルトの Windows ディレクトリー・パスは、C:¥Program Files¥IBM¥SQLLIB です。

CREATE WRAPPER ステートメント - BLAST ラッパーの例CREATE WRAPPER ステートメントを使用して BLAST ラッパーを登録します。この例は、プロキシー・サーバーを使用する場合と使用しない場合に、BLAST 文書にアクセスするのに必要なパラメーターを示しています。

ラッパーの登録の例

プロキシー・サーバーを使用しないで BLAST 文書にアクセスする場合は、ラッパーを登録するために以下のステートメントを発行します。

CREATE WRAPPER blast_wrapper LIBRARY ’libdb2lsblast.a’;

blast_wrapper

BLAST ラッパーに割り当てる名前。重複するラッパー名は使用できません。

LIBRARY ’libdb2lsblast.a’

AIX オペレーティング・システムを使用するフェデレーテッド・サーバー用のラッパー・ライブラリー・ファイルの名前。

HTTP プロキシー・サーバー用のラッパーを登録する例

ラッパーを登録して、HTTP プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE WRAPPER blast_proxy LIBRARY ’libdb2lsblast.a’OPTIONS (PROXY_TYPE ’HTTP’,

PROXY_SERVER_NAME ’proxy.mysite.com’,PROXY_SERVER_PORT ’1081’);

PROXY_TYPE ’HTTP’

フェデレーテッド・サーバーがファイアウォールで保護された状態でインタ

第 5 章 BLAST データ・ソース 87

Page 98: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ーネットにアクセスする際に使用する、プロキシー・タイプを指定します。有効なタイプは ’NONE’、’HTTP’、または ’SOCKS’ です。

PROXY_SERVER_NAME ’proxy.mysite.com’

プロキシー・サーバー名または IP アドレスを指定します。 PROXY_TYPE

サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

PROXY_SERVER_PORT ’1081’

プロキシー・サーバーのポート番号を指定します。 PROXY_TYPE サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

SOCKS プロキシー・サーバーのラッパーを登録する例

ラッパーを登録して、認証情報のない SOCKS プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE WRAPPER blast_wrapper LIBRARY ’libdb2lsblast.so’OPTIONS (PROXY_TYPE ’SOCKS’,PROXY_SERVER_NAME ’proxy_socks’,PROXY_SERVER_PORT ’1081’);

LIBRARY ’libdb2lsblast.so’

Linux または Solaris オペレーティング・システムを使用しているフェデレーテッド・サーバー用のラッパー・ライブラリー・ファイルの名前。

PROXY_TYPE ’SOCKS’

フェデレーテッド・サーバーがファイアウォールで保護された状態でインターネットにアクセスする際に使用する、プロキシー・タイプを指定します。有効なタイプは ’NONE’、’HTTP’、または ’SOCKS’ です。

PROXY_SERVER_NAME ’proxy_socks’

プロキシー・サーバー名または IP アドレスを指定します。 PROXY_TYPE

サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

PROXY_SERVER_PORT ’1081’

プロキシー・サーバーのポート番号を指定します。 PROXY_TYPE サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

BLAST データ・ソースのサーバー定義の登録実行する BLAST 検索のタイプごとにサーバー定義を登録する必要があります。

このタスクについて

サーバー定義は、コントロール・センターを使用するか、またはコマンド行から登録できます。コントロール・センターには、サーバー定義を登録するためのステップを順番に提供するウィザードが組み込まれています。

手順

BLAST データ・ソースのサーバー定義を登録するには、次のようにします。

88 フェデレーテッド・データ・ソース 構成ガイド

Page 99: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

1. サーバー定義を登録するために使用する方法を以下の中から選択します。

方法 手順

コントロール・センターの使用 「フェデレーテッド・オブジェクト」ウィザードを使用します。「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。ウィザードのステップに従ってください。

コマンド行の使用 CREATE SERVER ステートメントを発行します。例:

CREATE SERVER server_definition_nameTYPE blast_search_typeVERSION version_numberWRAPPER wrapper_nameOPTIONS (NODE ’node_name’);

サーバー定義を登録するときに、NODE サーバー・オプションを指定する必要があります。サーバー定義を登録するときに組み込める、他のサーバー・オプションもあります。

2. BLAST デーモンがインストールされているコンピューターが複数ある場合、各コンピューターにサーバー定義を登録する必要があります。

サーバー定義を登録した後、サーバー・オプションを追加またはドロップするには、ALTER SERVER ステートメントを使用します。

CREATE SERVER ステートメント - BLAST ラッパーの例BLAST ラッパーにサーバー定義を登録するには、CREATE SERVER ステートメントを使用します。

以下の例では、必須パラメーターの指定、複数検索タイプ用のサーバー定義の登録、追加サーバー・オプションの指定、サーバー定義でのプロキシー・サーバー情報の指定の方法を示します。

必要パラメーターおよびオプション

以下に示すのは、CREATE SERVER ステートメントを発行して、BLAST ラッパーのサーバー定義を登録する方法の例です。

CREATE SERVER server1_blastn TYPE blastn VERSION 2.1.2 WRAPPER blast_wrapperOPTIONS(NODE ’big_rs.company.com’);

server1_blastn

BLAST サーバーに割り当てる名前。重複するサーバー定義名は使用できません。

TYPE blastn

server1_blastn サーバー定義に関連付けられた BLAST 検索のタイプ。TYPE

の有効な値は、blastn、blastp、blastx、tblastn、および tblastx です。

VERSION 2.1.2

これは、アクセスしたい BLAST サーバーのバージョンです。この値を

第 5 章 BLAST データ・ソース 89

Page 100: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

BLAST デーモンがインストールされているサーバーで実行されているblastall 実行可能ファイルのバージョンに設定します。

WRAPPER blast_wrapper

CREATE WRAPPER ステートメントで指定したラッパー名。

NODE ’big_rs.company.com’

BLAST デーモン・プロセスが実行されるシステムのホスト名を指定します。この値は大文字小文字の区別があります。

ノード名は CREATE SERVER ステートメントではオプションとなっていますが、BLAST データ・ソースの場合は必要です。

複数の検索タイプ用のサーバー定義の登録

blastn と blastx 検索を使用するようにサーバー定義を登録するには、次の CREATE

SERVER ステートメントを発行します。

CREATE SERVER server1_blastn TYPE blastn VERSION 2.1.2 WRAPPER blast_wrapperOPTIONS(NODE ’big_rs.company.com’);

CREATE SERVER server1_blastx TYPE blastx VERSION 2.1.2 WRAPPER blast_wrapperOPTIONS(NODE ’big_rs.company.com’);

任意指定のサーバー・オプション

以下の例には、BLAST ラッパーにサーバー定義を登録するときに指定できる追加サーバー・オプションが示されています。

CREATE SERVER server1_blastn TYPE blastn VERSION 2.1.2 WRAPPER blast_wrapperOPTIONS(NODE ’big_rs.company.com’, DAEMON_PORT ’3232’, USE_CLOB_SEQUENCE ’N’);

DAEMON_PORT ’3232’

デーモンが BLAST ジョブ要求を listen するポート番号を指定します。ポート番号は、デーモン構成ファイルの DAEMON_PORT オプションに指定されているものと同じ番号でなければなりません。デフォルトのポート番号は 4007 です。

USE_CLOB_SEQUENCE ’N’

フェデレーテッド・サーバーが BlastSeq 列で使用するデータ・タイプを指定します。デフォルト値は ’Y’ です。 ’N’ に設定すると、BlastSeq 列の値は VARCHAR データ・タイプになります。このオプションを省略する、または ’N’ に設定すると、BlastSeq 列の値は CLOB データ・タイプになります。

プロキシー・サーバーを使用するときのサーバー定義

以下の条件のすべてが真である場合は、CREATE SERVER ステートメントでプロキシー・サーバー・オプションを使用する必要があります。

v URI を使用してデータを検索したい。

v 使用する URI はプロキシーを介してファイアウォールの反対側にあるデータを検索する。

v 使用されるファイアウォールまたはプロキシーは、HTTP、または SOCKS である。

90 フェデレーテッド・データ・ソース 構成ガイド

Page 101: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

指定するオプションは、アクセスしたいプロキシー・サーバーのタイプによって異なります。

使用するプロキシーのタイプ、およびプロキシー・オプションに指定する必要のある設定については、ネットワーク管理者に問い合せてください。

HTTP プロキシー・サーバーのサーバー定義を登録する

サーバー定義を登録して、HTTP プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE SERVER blast_server_httpWRAPPER blast_wrapperOPTIONS (PROXY_TYPE ’HTTP’, PROXY_SERVER_NAME ’proxy_http’,

PROXY_SERVER_PORT ’8080’);

blast_server_http

BLAST サーバー定義に割り当てる名前。重複するサーバー定義名は使用できません。

WRAPPER blast_wrapper

CREATE WRAPPER ステートメントで指定したラッパー名。

PROXY_TYPE ’HTTP’

ファイアウォールで保護された状態でインターネットにアクセスする際に使用する、プロキシー・タイプを指定します。有効なタイプは’NONE’、’HTTP’、または ’SOCKS’ です。

PROXY_SERVER_NAME ’proxy_http’

プロキシー・サーバー名または IP アドレスを指定します。 PROXY_TYPE

サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

PROXY_SERVER_PORT ’8080’

プロキシー・サーバーのポート番号を指定します。 PROXY_TYPE サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

SOCKS プロキシー・サーバーのサーバー定義を登録する

サーバー定義を登録して、認証情報の必要ない SOCKS プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE SERVER blast_server_socksWRAPPER blast_wrapperOPTIONS (PROXY_TYPE ’SOCKS’, PROXY_SERVER_NAME ’proxy_socks’,

PROXY_SERVER_PORT ’1081’);

blast_server_socks

BLAST サーバー定義に割り当てる名前。重複するサーバー定義名は使用できません。

WRAPPER blast_wrapper

CREATE WRAPPER ステートメントで指定したラッパー名。

PROXY_TYPE ’SOCKS’

ファイアウォールで保護された状態でインターネットにアクセスする際に使

第 5 章 BLAST データ・ソース 91

Page 102: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

用する、プロキシー・タイプを指定します。有効なタイプは’NONE’、’HTTP’、または ’SOCKS’ です。

PROXY_SERVER_NAME ’proxy_socks’

プロキシー・サーバー名または IP アドレスを指定します。 PROXY_TYPE

サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

PROXY_SERVER_PORT ’1080’

プロキシー・サーバーのポート番号を指定します。 PROXY_TYPE サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

認証情報のある SOCKS プロキシー・サーバーのサーバー定義の登録

サーバー定義を登録して、認証情報のある SOCKS プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE SERVER blast_server_socksWRAPPER blast_wrapperOPTIONS (PROXY_TYPE ’SOCKS’, PROXY_SERVER_NAME ’proxy_socks’,

PROXY_SERVER_PORT ’1081’, PROXY_AUTHID ’Duncan’,PROXY_PASSWORD ’the1best’);

PROXY_AUTHID ’Duncan’

プロキシー・サーバーのユーザー名を指定します。 PROXY_TYPE サーバー・オプションの値が ’SOCKS’ の場合、このサーバー・オプションは必須です。

PROXY_PASSWORD ’the1best’

ユーザー名 ’Duncan’ に関連付けられたプロキシー・サーバーのパスワードを指定します。 PROXY_TYPE サーバー・オプションの値が ’SOCKS’ の場合、このサーバー・オプションは必須です。

BLAST データ・ソース用のユーザー・マッピングの作成 (オプション)BLAST サーバーにアクセスする場合、フェデレーテッド・サーバーは、BLAST サーバーへの接続を確立します。フェデレーテッド・システムがプロキシー・サーバーを使用して BLAST データ・ソースにアクセスする場合、ユーザー・マッピングを作成する必要があります。

ユーザー・マッピングとは、それぞれのフェデレーテッド・サーバーのユーザー ID

とパスワード、および対応するデータ・ソースのユーザー ID とパスワードの間の関連付けです。

このタスクについて

フェデレーテッド・システムでユーザー・マッピングを指定する 2 つの方法があります。 LDAP などの外部リポジトリーを使用してユーザー・マッピングを格納するか、またはフェデレーテッド・データベース・カタログにユーザー・マッピングを作成できます。

92 フェデレーテッド・データ・ソース 構成ガイド

Page 103: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ユーザー・マッピングを格納するための LDAP などの外部リポジトリーがある場合、ユーザー・マッピングを作成する必要はありません。 BLAST ラッパーではDB2_UM_PLUGIN オプションを指定する必要があります。ラッパーを登録または変更するときにこのオプションを指定できます。

手順

ローカル・ユーザー ID を BLAST サーバーのユーザー ID とパスワードにマップするには、以下を実行します。

ユーザー・マッピングの登録に使用する方法を以下から選択します。

方法 手順

コントロール・センターの使用

「フェデレーテッド・オブジェクト」ウィザードを開始します。「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

コマンド行の使用 CREATE USER MAPPING ステートメントを発行します。例:

CREATE USER MAPPING FOR local_userIDSERVER server_definition_nameOPTIONS (REMOTE_AUTHID ’remote_userID’,REMOTE_PASSWORD ’remote_password’)PROXY_AUTHID ’proxy_server_userID’,PROXY_PASSWORD ’proxy_server_password’;

サーバー定義とユーザー・マッピングを登録するときにプロキシー・サーバーの認証情報を指定する場合、ユーザー・マッピングを登録したときに指定した値が優先されます。

例えば、ユーザーの組織に 10 人所属していて、サーバー定義を登録するとき、認証情報を指定するとします。 10 人のうち 3 人にユーザー・マッピングを作成します。この 3 人のユーザーがフェデレーテッド・システムにアクセスするとき、ユーザー・マッピングを作成するときに指定した認証情報が使用されます。残りの 7 人のユーザーについては、サーバー定義を登録したときに指定した認証情報が使用されます。

CREATE USER MAPPING ステートメント - BLAST ラッパーの例CREATE USER MAPPING ステートメントを使用して、フェデレーテッド・サーバーのユーザー ID を BLAST サーバーのユーザー ID およびパスワードにマップしてください。

プロキシー・サーバーを指定することにより、ユーザー・マッピングを作成できます。

プロキシー・サーバーの例

以下に示すのは、フェデレーテッド・サーバーのユーザー ID を BLAST サーバーのユーザー ID およびパスワードにマップする方法を示す例です。

第 5 章 BLAST データ・ソース 93

Page 104: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

サーバー定義を登録して、認証情報のある SOCKS プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE USER MAPPING FOR groucho SERVER blast_proxyOPTIONS (REMOTE_AUTHID ’grouchom’,REMOTE_PASSWORD ’all4one’PROXY_AUTHID ’marxg’PROXY_PASSWORD ’them2us’);

groucho

BLAST プロキシー・サーバーで定義されたユーザー ID にマップするローカルのユーザー ID を指定します。

SERVER blast_proxy

CREATE SERVER ステートメントで BLAST サーバーに対して登録したサーバー定義の名前を指定します。

REMOTE_AUTHID ’grouchom’

groucho をマップする BioRS サーバー側のユーザー ID を指定します。このリモート ID は、BLAST サーバーで受け入れ可能な形式でなければなりません。

REMOTE_PASSWORD ’all4one’

’grouchom’ に関連するパスワードを指定します。

PROXY_AUTHID ’marxg’

プロキシー・サーバーのユーザー ID を指定します。このユーザー・マッピング・オプションは、プロキシー・サーバーで認証が必要なときに必要です。

PROXY_PASSWORD ’them2us’

ユーザー名 ’marxg’ に関連付けられたプロキシー・サーバーのパスワードを指定します。このユーザー・マッピング・オプションは、プロキシー・サーバーで認証が必要なときに必要です。

BLAST データ・ソースのニックネームの登録登録するそれぞれの BLAST サーバー定義で、所定の BLAST 可能データ・ソースに対して実行する BLAST 検索のタイプごとに別々のニックネームを登録する必要があります。 BLAST サーバーを照会するときにこれらのニックネームを使用します。

例えば、blastp と tblastp 検索タイプ用のサーバー定義を登録し、SWISS-PROT データ・ソースにアクセスする場合、2 つのニックネームを登録する必要があります。 SWISS-PROT データ・ソース用の 1 つのニックネームは、blastp 検索タイプ用サーバー定義を参照し、SWISS-PROT データ・ソース用のもう 1 つのニックネームは、tblastp 検索タイプ用サーバー定義を参照します。

このタスクについて

ニックネームは、コントロール・センターを使用するか、またはコマンド行から登録できます。コントロール・センターには、ニックネームを登録するためのステップを順番に提供するウィザードが組み込まれています。

94 フェデレーテッド・データ・ソース 構成ガイド

Page 105: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

BLAST ニックネームを登録するとき、データ・ソースの定義行部分の列情報を指定します。

固定入出力列のセットもニックネームとともに自動的に作成されます。固定列はニックネームに関する定義の一部であり、フェデレーテッド・データベース・システムのカタログ内に作成されます。SQL 照会で固定列を参照できます。

手順

BLAST 検索タイプのニックネームを登録するには、次のようにします。

1. ニックネームを登録するときに指定する必要がある定義行情報を決定します。

2. ニックネームを登録するときに指定する列(固定入力列を含む)を決定します。

3. ニックネームを登録するために使用する方法を以下の中から選択します。ニックネームの長さは 128 文字までです。

方法 手順

コントロール・センターの使用 「フェデレーテッド・オブジェクト」ウィザードを開始します。「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。ウィザードのステップに従ってください。

コマンド行の使用 CREATE NICKNAME ステートメントを発行します。例:

CREATE NICKNAME nickname(column_name data_typeOPTIONS (nickname_column_options),column_name data_typeOPTIONS (nickname_column_options),column_name data_typeOPTIONS (nickname_column_options))FOR SERVER server_definition_nameOPTIONS (nickname_options);

ニックネームを作成する BLAST 検索タイプごとに、このステップを繰り返します。

定義行の構文解析

定義行は、BLAST 可能データ・ソースの各シーケンスに対するキーのようなもので、各 BLAST ヒットの一部として戻されます。定義行は defline とも呼ばれます。

定義行に関して BLAST ラッパーによって戻され、構文分析される値は、オリジナルの FASTA ファイル内の定義行と同一であるとは限りません。たとえば、BLAST

ヒットの Accession 番号フィールドにデータがある場合、戻される定義行には、Accession 番号データとそれに続く Definition フィールド・データが含まれます。そして、戻されるデータをラッパーが構文解析します。

第 5 章 BLAST データ・ソース 95

Page 106: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ヒント: ラッパーが定義行が戻したり構文解析する方法を判別するために、1 列の定義行があるニックネームを作成してください。次いで、照会を実行し、特定のデータ・ソースに関する定義行のラッパーによって戻される形式を参照してください。

定義行情報を自分の結果表に含めるには、CREATE NICKNAME ステートメントに定義行の列を指定する必要があります。指定する列ごとに、INDEX オプションおよび DELIMITER オプションを含めなければなりません。ただし最後の列は除きます。定義する最後の列には、定義行情報の残りを含めます。最後の列にはDELIMITER オプションを指定しないでください。

定義行の列の有効なデータ・タイプは CLOB、DOUBLE、FLOAT、INTEGER、および VARCHAR です。

BLAST ニックネームの固定入力列BLAST データ・ソースのニックネームを登録するとき、固定入力列のセットは自動的に作成されます。

入力列は、SQL 照会のパラメーター受け渡し述部として使用されます。固定入力列は WHERE 文節で指定されます。入力列は、標準の BLAST スイッチを BLAST

に渡します。次に、これらのスイッチを使用して、指定されたデータ・ソースに対して BLAST が実行されます。固定入力列は、照会の SELECT リストの中で参照することもでき、結果表の一部として戻されます。

ニックネームを作成する場合、列に関するデフォルトのデータ・タイプをオーバーライドできます。たとえば、HSP_H_Seq や HSP_Midline 列など、いくつかの列は大量のデータを戻す可能性があります。列の最初の 50 バイトを戻すために、データ・タイプ VARCHAR(50) を指定して、列を定義することができます。最初の 50

バイトだけが出力列にコピーされます。

以下の表は、WHERE 文節で使用できる固定列をリストしています。

表 20. BLAST ニックネームの固定入力列

名前 データ・タイプ 演算子 説明

BlastSeq VARCHAR

(32000) またはCLOB

= 照会シーケンスを BLAST ラッパーに渡します。

DB_Genetic_Code INTEGER = tblastn および tblastx 照会用の DB

の遺伝暗号はデフォルトとして 1

を使用します。

E_Value DOUBLE < 入力および出力パラメーターの両方。入力パラメーターとしては、この列は、blastall から戻されるべき期待値の上限を BLAST ラッパーに示します。

96 フェデレーテッド・データ・ソース 構成ガイド

Page 107: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 20. BLAST ニックネームの固定入力列 (続き)

名前 データ・タイプ 演算子 説明

ExtendedGapCost INTEGER = 配列の長さを伸ばすことを可能にするために、照会シーケンスまたはヒット・シーケンスのどちらかにすでに導入されているギャップを、ヌクレオチドまたはアミノ酸の 1 つ分だけ拡張する必要がある場合に、配列のスコアから blastall が差し引く値を指定します。

FilterSequence CHAR(1) = 生物学的に関心を引かないセグメントを、照会シーケンスから除去するためのフィルター操作を実行するかどうかを、blastall に指示します。検索タイプが BLASTn の場合、使用するフィルターは DUST です。それ以外の場合、フィルター操作はSEG によって実行されます。

Final_XDropoff INTEGER = 最終のギャップあり配置の Xdropoff

値 (ビット単位で測定)。値 0.0 でデフォルトの動作が起動します。blastn および megablast 照会の場合、デフォルトは 50 ビットです。tblastx 照会の場合、デフォルトは 0

ビットです。これら以外のすべての照会タイプの場合、デフォルトは25 ビット (INTEGER データ・タイプ) です。

GapCost INTEGER = 配列の長さを伸ばすことを可能にするために、照会シーケンスまたはヒット・シーケンスのどちらかにギャップを導入する必要がある場合に、配列のスコアから blastall が差し引く値を指定します。

GapAlign CHAR(1) = BLAST 出力でギャップのある配列が許されるかどうかを、ラッパーに指示します。

Mask_Lower_Case CHAR(1) = FASTA シーケンスで小文字のフィルター操作を使用します。

Matrix VARCHAR(50) = アミノ酸のペアの間での類似性の程度を決定するために、blastall によって使用される置換マトリックスを決定します。アミノ酸をアミノ酸と比較する BLAST 検索タイプのみが、この述部を使用します。

第 5 章 BLAST データ・ソース 97

Page 108: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 20. BLAST ニックネームの固定入力列 (続き)

名前 データ・タイプ 演算子 説明

NMatchReward INTEGER = 同種領域の中の一致するヌクレオチドのペアのそれぞれに対して、配列のスコアに blastall が加える値を指定します。ヌクレオチドをヌクレオチドと比較する BLAST 検索タイプのみが、この述部を使用します。

NMisMatchPenalty INTEGER = 同種領域の中のヌクレオチドのペアの1 つが一致しない場合に、配列のスコアから blastall が差し引く値を指定します。ヌクレオチドをヌクレオチドと比較する BLAST 検索タイプのみが、この述部を使用します。

NumberOfAlignments INTEGER = BLAST 出力に含める HSP 配列の数を指定します。

Query_Genetic_Code INTEGER = 照会の遺伝暗号はデフォルトとして1 を使用します。

QueryStrands INTEGER = BLASTn 検索を実行するときに比較されるべき成分を指定します。 1

の値は、トップの成分を使用すべきことを示します。2 は、ボトムの成分を示し、そして 3 は両方の成分が比較されるべきことを示します。

ThresholdEx INTEGER = BLAST が、そのしきい値より下へはそれ以上ヒットを拡張することをしないというスコアのしきい値を示します。

WordSize INTEGER = blastall が最初にデータベースで検索する初期ヒットの長さを blastall

に示します。

XDropoff_Gapped INTEGER = ギャップあり配置の Xdropoff 値(ビット単位で測定)。値 0.0 でデフォルトの動作が起動します。 blastn

照会の場合、デフォルトは 30 ビットです。 megablast 照会の場合、デフォルトは 20 ビットです。これら以外のすべての照会タイプの場合、デフォルトは 15 ビット (INTEGER

データ・タイプ) です。

XDropoff_Ungapped DOUBLE = ギャップなし拡張の Xdropoff 値(ビット単位で測定)。値 0.0 でデフォルトの動作が起動します。 blastn

照会の場合、デフォルトは 20 ビットです。 megablast 照会の場合、デフォルトは 10 ビットです。これら以外のすべての照会タイプの場合、デフォルトは 7 ビット (REAL データ・タイプ) です。

98 フェデレーテッド・データ・ソース 構成ガイド

Page 109: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

固定入力列の BLAST 検索タイプおよびスイッチBLAST 固定入力列のそれぞれがサポートできる BLAST 検索タイプとスイッチを理解する必要があります。

以下の表では、各固定入力列に対するサポートされている BLAST 検索タイプおよびスイッチがリストされています。

表 21. 入力固定列によってサポートされている BLAST 検索タイプおよびスイッチ

固定入力列 BLAST 検索タイプ BLAST スイッチ

必須 デフォルト

BlastSeq n、p、x、tn、tx -i はい N/A

DB_Genetic_Code tn、tx -D いいえ 1

E_Value n、p、x、tn、tx -e いいえ 10

ExtendedGapCost n、p、x、tn、tx -E いいえ 1

FilterSequence n、p、x、tn、tx -F いいえ T

Final_XDropoff n、p、x、tn、tx -Z いいえ 0

GapAlign n、p、x、tn、tx -g いいえ T

GapCost n、p、x、tn、tx -G いいえ 11

Mask_Lower_Case n、p、x、tn、tx -U いいえ F

Matrix p、x、tn、tx -n いいえ BLOSUM62

NMisMatchPenalty n -q いいえ –3

NMatchReward n -r いいえ 1

NumberOfAlignments n、p、x、tn、tx -b いいえ 250

Query_Genetic_Code n、p、x、tn、tx -Q いいえ 1

QueryStrands n -S いいえ 3

ThresholdEx n、p、x、tn、tx -f いいえ 0

WordSize (Blastn の場合、7 より小さい値は無効)

n、p、x、tn、tx -W いいえ 11 –BLASTn

3 –BLASTp

XDropoff_Ungapped n、p、x、tn、tx -y いいえ 0.0

XDropoff_Gapped n、p、x、tn、tx -X いいえ 0

BLAST ニックネームの固定出力列BLAST データ・ソースのニックネームを登録すると、一連の固定出力列が自動的に作成されます。

第 5 章 BLAST データ・ソース 99

Page 110: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

以下の表は、WHERE 文節で使用できる固定列をリストしています。

表 22. BLAST ニックネームの固定出力列

名前 データ・タイプ 説明

E_value DOUBLE 入力および出力パラメーターの両方。出力パラメーターとして、この列はBLAST 結果に報告されている HSP

の計算スコアを提供します。

HIT_NUM INTEGER 1 から始まる、BLAST 結果に報告されるヒット番号

HSP_ALIGNMENT_LENGTH INTEGER HSP 配列の長さ。

HSP_IDENTITY INTEGER ID の数 / 配列の長さという除算で定義される、配列のパーセント ID。

HSP_Info VARCHAR(100) BLAST によって報告される、与えられた HSP の情報ストリング。このストリングには、照会シーケンスとヒット・シーケンスの間で一致した、ヌクレオチドまたはアミノ酸の数についての情報が含まれています。

HSP_GAPS INTEGER ギャップの数 / 配列の長さという除算で定義される、配列のパーセント・ギャップ。

HSP_H_Start INTEGER ヒット・シーケンス上の最初の同種ヌクレオチドまたはアミノ酸の数字で表した位置。

HSP_H_End INTEGER ヒット・シーケンス上の最後の同種ヌクレオチドまたはアミノ酸の数字で表した位置。

HSP_H_Seq VARCHAR (32000) HSP_H_Start で始まり HSP_H_End で終わるヒット・シーケンスのセグメント。

この列に関するデフォルトのデータ・タイプをオーバーライドし、最大長 5

メガバイトで CLOB を指定できます。

HSP_HIT_FRAME INTEGER ヒット・シーケンス内の配列の読み取りフレーム。

blastx、tblastn、および tblastx タイプのサーバーにのみ使用できます。

100 フェデレーテッド・データ・ソース 構成ガイド

Page 111: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 22. BLAST ニックネームの固定出力列 (続き)

名前 データ・タイプ 説明

HSP_Midline VARCHAR (32000) 照会シーケンスおよびヒット・シーケンスの同種領域における各位置でのアミノ酸間またはヌクレオチド間での相同性の程度を示す BLAST によるストリング出力。

この列に関するデフォルトのデータ・タイプをオーバーライドし、最大長 5

メガバイトで CLOB を指定できます。

HSP_NUM INTEGER 1 から始まる、BLAST 結果に報告される HSP 番号

HSP_Q_Start INTEGER 照会シーケンス上の最初の同種ヌクレオチドまたはアミノ酸の数字で表した位置。

HSP_Q_End INTEGER 照会シーケンス上の最後の同種ヌクレオチドまたはアミノ酸の数字で表した位置。

HSP_Q_Seq VARCHAR (32000) HSP_Q_Start で始まり HSP_Q_End で終わる照会シーケンスのセグメント。

この列に関するデフォルトのデータ・タイプをオーバーライドし、最大長 5

メガバイトで CLOB を指定できます。

HSP_POSITIVE INTEGER 正数の数 / 配列の長さという除算で定義される、配列のパーセント正数。

HSP_QUERY_FRAME INTEGER 照会シーケンスでの配列の読み取りフレーム。

blastx、tblastn、および tblastx タイプのサーバーにのみ使用できます。

HSP_Score DOUBLE FASTA シーケンスで小文字のフィルター操作を使用します。

Length INTEGER BLAST 結果に報告されるヒット・シーケンスの長さ。

Score DOUBLE BLAST 結果に報告されている HSP

の計算スコア。

CREATE NICKNAME ステートメント - BLAST ラッパーの例CREATE NICKNAME ステートメントを使用して、アクセスする BLAST データ・ソース用のニックネームを登録します。

第 5 章 BLAST データ・ソース 101

Page 112: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

genbank ニックネーム用の CREATE NICKNAME ステートメント

次の例は、ニックネーム genbank を定義します。ここでは、BLAST 結果セットの定義フィールドに、以下の情報が含まれているものと想定しています。

>276342 15:8924 PMON5426

276342 BLAST 結果の Accession フィールド。

15:8924 PMON5426BLAST 結果セットの定義フィールドには、有機体番号 (15)、続いて実験番号 (8924)、そして固有 ID (PMON5426) が含まれます。

この情報により、以下のニックネームを作成できます。

CREATE NICKNAME genbank(accession_num INTEGER OPTIONS(INDEX ’1’, DELIMITER ’ ’),organism_num INTEGER OPTIONS(INDEX ’2’, DELIMITER ’:’),experiment_num INTEGER OPTIONS(INDEX ’3’, DELIMITER ’ ’),unique_id VARECHAR(10) OPTIONS(INDEX ’4’))FOR SERVER server_blastn

OPTIONS(DATASOURCE ’genbank’, TIMEOUT ’300’);

この例では、各列は INDEX オプションを使用して次の定義フィールドの部分を参照します。

v INDEX 1 は ACCESSION フィールド 276342 を参照します。

v INDEX 2 は有機体番号 15 を参照します。

v INDEX 3 は実験番号 8924 を参照します。

v INDEX 4 は固有 ID PMON5426 を参照します。

CREATE NICKNAME ステートメントをサブミットした後、genbank ニックネームを使用してフェデレーテッド・システムで照会することができます。フェデレーテッド・システムで、genbank ニックネームを他のニックネームや表と結合することもできます。

BLAST データ・ソースの照会BLAST ニックネームを作成したら、BLAST データ・ソースを照会できます。照会を作成するときに行った各選択項目は、これらのデータ・ソースにアクセスするとき BLAST ラッパーのパフォーマンスに影響します。

BLAST ラッパーで作業するための TurboBlast のセットアップTurboBlast は BLAST プログラムのプロプラエタリー・バージョンです。TurboBlast を BLAST ラッパーとともに使用するには、いくつかの追加構成ステップを完了する必要があります。

制約事項

TurboBlast は、特定の blastall コマンド・オプションをサポートしていません。たとえば、ギャップ付き配列オプション -g F はサポートされていません。BLAST ニ

102 フェデレーテッド・データ・ソース 構成ガイド

Page 113: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ックネームで GapAlign 列に F オプションを指定すると、TurboBlast はエラーを生成します。サポートされないオプションの完全なリストは、「TurboBlast 2.0 User

Guide」を参照してください。

このタスクについて

BLAST ラッパーおよび TurboBlast は、 AIX、 Linux、 Solaris および Windows

オペレーティング・システムをサポートしています。ただし、BLAST デーモンは、Windows オペレーティング・システムでは使用できません。BLAST デーモンがこれらのオペレーティング・システムで利用できる場合、デーモンは Windows オペレーティング・システム上にある TurboBlast と連動します。

手順

BLAST ラッパーで作業できるように TurboBlast をセットアップするには、以下のようにします。

1. BLAST ラッパーをインストールして構成します。

2. BLAST 可能データベースで照会を実行して、セットアップをテストします。

3. 「TurboBlast 2.0 Installation and Reference Guide」に従って、TurboBlast をインストールして構成します。 TurboBlast システムはさまざまな方法で、インストールしてセットアップできます。 BLAST ラッパーが TurboBlast で作業できるようにするには、BLAST デーモンのあるコンピューター上に TurboBlast Client

をインストールしてセットアップすることが必要です。 BLAST デーモンは、tblastall プログラムを呼び出すことができます。TurboBlast をインストールして構成した後に、TurboBlast システムを必ずテストしてください。「TurboBlast 2.0

Installation and Reference Guide」の指示に従ってください。

4. BLAST_DAEMON.config ファイルを編集します。

a. BLASTALL_PATH パラメーターを追加し、tblastall プログラムの実行可能ファイルの完全パスを指定します。

例:

BLASTALL_PATH=/home/blasttst/turboblast/TBlast-2.1/tblastall

b. BLAST 可能データベース仕様項目を追加し、TurboBlast に BLAST 可能データベースをアップロードするのに使用した BLAST 可能データベース名を指定します。これらのデータベース名は、TurboBlast の下で listdatabase -l コマンドを入力すると表示されます。 BLAST 可能データ・ソースへのパスではなく、この TurboBlast データベース名を使用してください。 例:

genbank=genbank_database_name_in_TurboBlast

5. BLAST デーモンを再始動します。

BLAST デーモンは、blastall プログラムではなく tblastall プログラムを呼び出して、BLAST 可能データベースを検索します。

tblastall プログラムに関連したログ・ファイルは、BLAST_DEAMON.config ファイルの DAEMON_LOGFILE_DIR パラメーターに指定されたディレクトリーに書き込まれます。さらに、同じディレクトリーの BLAST デーモンで生成されたSTDERR.log および STDOUT.log もチェックしてください。

第 5 章 BLAST データ・ソース 103

Page 114: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

BLAST SQL 照会の作成ユーザー BLAST 照会の作成方法は、戻される結果の品質に影響を与えます。ここでは、BLAST 照会で述部とカスタム関数を使用する方法を学習します。

入力列と出力列の述部

入力列の述部は、標準の BLAST スイッチを blastall 実行可能プログラムに渡すために使用されます。

出力列の述部は、フェデレーテッド・サーバーによって処理されます。

BlastSeq 入力列述部

有効であるためには、BLAST ラッパーへ渡されるすべての照会は、少なくとも述部に BlastSeq 入力列を含んでいなければなりません。他のすべての述部はオプショナルです。

BlastSeq 固定入力列などの述部を必要とするラッパーは、必須述部が左外部結合になる照会を処理できません。例えば、次の照会は SQL0901N エラーを戻します。

SELECT n1.Score FROM blastNN1 n1LEFT OUTER JOIN myseqs n2 ON N1.BlastSeq = n2.seq

CLOB 列用関数テンプレート

BLAST ニックネーム用の BlastSeq 列が CLOB データ・タイプとして定義されている場合、BLAST データ・ソースを照会する前に、シーケンス一致関数テンプレートを作成する必要があります。フェデレーテッド・データベースでこの関数テンプレートを作成するために発行する SQL ステートメントは次のとおりです。

CREATE FUNCTION lblast.sequence_match (CLOB, CLOB)RETURNS INTEGER AS TEMPLATE DETERMINISTIC NO EXTERNAL ACTION;

CREATE FUNCTION lblast.sequence_match (CLOB, VARCHAR(1))RETURNS INTEGER AS TEMPLATE DETERMINISTIC NO EXTERNAL ACTION;

CREATE FUNCTION lblast.sequence_match (VARCHAR(1), CLOB)RETURNS INTEGER AS TEMPLATE DETERMINISTIC NO EXTERNAL ACTION;

CREATE FUNCTION lblast.sequence_match (VARCHAR(1), VARCHAR(1))RETURNS INTEGER AS TEMPLATE DETERMINISTIC NO EXTERNAL ACTION;

照会での SUBSTR スカラー関数の使用

照会述部で SUBSTR スカラー関数を使用できます。 SUBSTR 関数はストリングの一部を戻します。

例:

SELECT BlastSeq FROM t1, t2WHERE BlastSeq = SUBSTR (t2.sequence, 15, 300);

SUBSTR 関数は、CLOB データ・タイプ用の SEQUENCE_MATCH 関数に使用できます。

例:

104 フェデレーテッド・データ・ソース 構成ガイド

Page 115: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

SELECT BlastSeq FROM t1, t2WHERE LSBlast.SEQUENCE_MATCH (BlastSeq,SUBSTR(t2.sequence, 15, 300))=1;

重要: SUBSTR() 関数を使用すると、コマンド行で blastall プログラムに -L オプションを指定した結果と同じ結果になりません。 -L オプションと同じ結果を得るには、SUBSTR() 関数ではなく SUBSEQUENCE カスタム関数を使用します。

SUBSEQUENCE カスタム関数用の関数テンプレート

コマンド行で blastall プログラムに -L オプションを指定した結果と同じ結果を得るには、SUBSEQUENCE カスタム関数を使用します。 BLAST データ・ソースを照会する前にサブシーケンス関数テンプレートを作成する必要があります。フェデレーテッド・データベースでこの関数テンプレートを作成するために発行する SQL

ステートメントは次のとおりです。

CREATE FUNCTION lsblast.subsequence (CLOB, INTEGER, INTEGER)RETURNS VARCHAR(1) AS TEMPLATE DETERMINISTIC NO EXTERNAL ACTION;

CREATE FUNCTION lsblast.subsequence (VARCHAR (1), INTEGER, INTEGER)RETURNS VARCHAR(1) AS TEMPLATE DETERMINISTIC NO EXTERNAL ACTION;

-L オプションについて詳しくは、blastall の文書を参照してください。

BLAST データ・ソース - 照会の例以下の例では、システム・パフォーマンスを最適化するためにユーザーの照会を構造化する方法を示します。照会でカスタム関数とワイルドカードを使用する方法、特定の BioRS データ・タイプ列にアクセスする方法、親と子ニックネーム間の等価結合を形成する方法を学習します。

BLAST SQL 照会の WHERE 文節で入力述部を使用します。

これらの照会において、各ニックネームに使用される名前は、BLAST 検索のタイプとデータ・ソースを示しています。照会の中には他の仮想のデータ・ソースを使用しているものがあります。これは、これらのサンプルにより、BLAST データが他のデータ・ソースと結合されたときの BLAST ラッパーの動作を示すためです。

入力述部の例

この照会は、部分シーケンスを使用して相同体を GenBank データベースから検索し、3 つの入力述部 BlastSeq、GapCost、および NMisMatchPenalty を示します。

SELECT * FROM genbank bWHEREBlastSeq = ’GTCCAGCC...’ ANDGapCost = -10 ANDNMisMatchPenalty = -4;

すべての選択可能な列を戻す BLASTn 検索

次の SELECT ステートメントを実行すると、ラッパーは示されたシーケンスを使用して GenBank の BLASTn 検索を実行します。ラッパーは、入力パラメーター列および BLAST 結果列の両方を含むすべての選択可能な列を戻します。

第 5 章 BLAST データ・ソース 105

Page 116: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

SELECT * FROM blastn_genbankWHEREBlastSeq = ’caacccctccagccgagttgtcaatggcgaggaagctgttccccac’;

デーモンにパラメーターを渡す GenBank の BLASTn 検索

次の SELECT ステートメントを実行すると、ラッパーは示されたシーケンスを使用して GenBank の BLASTn 検索を実行します。加えて、ラッパーは、GapCost とNmisMatchPenalty パラメーターをデーモンに渡します。これらのパラメーターは続いて blastall コマンド行に渡されます。ラッパーは、入力パラメーター列およびBLAST 結果列の両方を含むすべての選択可能な列を戻します。

SELECT * FROM blastn_genbankWHEREBlastSeq = ’caacccctccagccgagttgtcaatggcgaggaagctgttccccac’AND GapCost = 8AND NmisMatchPenalty = -4;

戻されたシーケンス数を基にした SWISS-PROT の BLASTp 検索

次の SELECT ステートメントを実行すると、ラッパーは仮想タンパク質シーケンス・データベースから戻されたシーケンス数に基づいて、SWISS-PROT の BLASTp

検索をゼロ回以上実行します。このステートメントはフェデレーテッド・データベースによって 2 つの別個の照会に分割されます。 1 つの照会は仮想タンパク質データベースから戻される各行に対して BLASTp 検索を実行します。ラッパーは、入力パラメーター列および BLAST 結果列の両方を含むすべての選択可能な列を戻します。

SELECT blp.* FROM blastp_swissprot blp, protein_db prdbWHERE prdb.keyword = ’malic enzyme’AND blp.BlastSeq = prdb.sequence;

入力シーケンスを基にした SWISS-PROT の BLASTx 検索

次の SELECT ステートメントを実行すると、ラッパーは示されたシーケンスを使用して SWISS-PROT の BLASTx 検索を実行します。この例では、blastall は、6 つのすべての読み取りフレームの中の入力シーケンスを変換し、6 つの新しく作成されたタンパク質シーケンスのそれぞれを使用して、相同性検索を実行します。結果の HSP には、アミノ酸 - アミノ酸の配列が含まれます。ヌクレオチド - ヌクレオチドの配列ではありません。入力パラメーターはデーモンに渡され、続いて blastall

コマンド行に渡されます。ラッパーは、照会の中で特定的に要求されている列だけを戻します。

SELECT Score, E_Value, HSP_Info, HSP_Q_Seq, HSP_H_Seq, HSP_MidlineFROM blastx_swissprotWHERE BlastSeq = ’gagttgtcaatggcgagg’AND GapCost = 8;

戻されたシーケンス数を基にした GenBank の tBLASTx 検索

次の SELECT ステートメントを実行すると、ラッパーは仮想遺伝子発現データベースから戻されたシーケンス数に基づいて、GenBank の tBLASTx 検索をゼロ回以上実行します。このステートメントはフェデレーテッド・データベースによって 2 つの別個の照会に分割されます。 1 つの照会は仮想遺伝子発現データベースから戻される各行に対して tBLASTx 検索を実行します。この場合、blastall は、入力シーケンスおよび 6 つのすべての読み取りフレームにある GenBank のすべてのシーケン

106 フェデレーテッド・データ・ソース 構成ガイド

Page 117: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

スを変換します。さらに、blastall は 6 つの新しく作成された照会タンパク質シーケンスのそれぞれと、新しく作成されたすべてのデータベース・タンパク質シーケンスを使用して相同性検索を実行します。結果の HSP には、アミノ酸 - アミノ酸の配列が含まれます。ヌクレオチド - ヌクレオチドの配列ではありません。入力パラメーターはデーモンに渡され、続いて blastall コマンド行に渡されます。ラッパーは、照会の中で特定的に要求されている列だけを戻します。

SELECT tblx.Score, tblx.E_Value, tblx.HSP_Info tblx.HSP_Q_Seq,HSP_H_Seq, HSP_Midline

FROM tblastx_genbank tblx, gen_exp_database gedbWHERE tblx.BlastSeq = gedb.sequenceAND gedb.organism = ’interesting organism’AND GapCost = 8AND FilterSequence = ’F’;

BLAST 照会パフォーマンスの最適化方法BLAST デーモンのロケーションは照会のパフォーマンスに影響する可能性があります。

照会のパフォーマンスを向上させるには、BLAST デーモン用に個別の BLAST サーバーを使用する必要があります。フェデレーテッド・サーバーと BLAST サーバーとを別のハードウェア上に置く必要があります。 BLAST デーモンは、BLAST

サーバー上に置いてください。

第 5 章 BLAST データ・ソース 107

Page 118: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

108 フェデレーテッド・データ・ソース 構成ガイド

Page 119: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 6 章 ビジネス・アプリケーション・データ・ソース

ビジネス・アプリケーション・データ・ソースへのアクセスの構成フェデレーテッド・システムを使用すると、ビジネス・アプリケーション・データベースにあるデータと他のソースからの情報を統合させることができます。フェデレーテッド・サーバーを構成するには、ビジネス・アプリケーション・データベースに対してラッパー、サーバー定義、およびニックネームを登録する必要があります。

始める前に

v IBM WebSphere Federation Server が、フェデレーテッド・サーバーとして機能するサーバー上にインストールされている必要があります。

v 32 ビット DB2 データベース・インスタンスを使用するフェデレーテッド・データベースがフェデレーテッド・サーバー上になければなりません。

手順

ビジネス・アプリケーション・データ・ソースへのアクセスを構成するには、次のようにします。

1. WebSphere Business Integration Adapter を構成します。

2. WebSphere Business Integration ラッパーを登録します (DB2 コマンド行)。

3. ビジネス・アプリケーション・データ・ソースのサーバー定義を登録します(DB2 コマンド行)。

4. ビジネス・アプリケーション・データ・ソースのニックネームを登録します。

v ビジネス・アプリケーション・データ・ソースのニックネームを登録します(DB2 コントロール・センター)。

v ビジネス・アプリケーション・データ・ソースのニックネームを登録します(DB2 コマンド行)。

WebSphere Business Integration ラッパーWebSphere Business Integration ラッパーは、SAP、Siebel、および PeopleSoft 社作成のビジネス・アプリケーションに対応した SQL インターフェースを提供します。

WebSphere Business Integration ラッパーを使用することにより、フェデレーテッド・システム関数を使用して、ビジネス・アプリケーションからのビジネス・データを他のフェデレーテッド・データ・ソース上のデータと結合させることができます。WebSphere Business Integration ラッパーは、ビジネス・オブジェクト定義を抽出してニックネームの階層に展開します。ラッパーは、複数のビジネス・オブジェクトを戻す結果セットをサポートします。

WebSphere Business Integration ラッパーは読み取り専用ラッパーで、WebSphere

Business Integration Adapter を使用してビジネス・アプリケーションにアクセスしま

© Copyright IBM Corp. 1998, 2006 109

Page 120: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

す。 WebSphere Business Integration ラッパーが複数のビジネス・オブジェクトを含む結果セットを戻すには、WebSphere Business Integration Adapter およびWebSphere Business Integration Framework バージョン 2.6 を必要とします。これ以前のバージョンの WebSphere Business Integration Adapters および Framework を、WebSphere Business Integration ラッパーと共に使用することもできますが、その場合には 111ページの『WebSphere Business Integration Adapter の構成』で説明されているような制限があります。

図 7 は、DB2 データベース環境における WebSphere Business Integration ラッパーとアダプターの関係、および他のフェデレーテッド・データ・ソースに対する関係を示しています。

以下のステップには、フェデレーテッド・システム内のビジネス・アプリケーション・データにアクセスするプロセスが説明されています。

図 7. DB2® Database 環境での WebSphere Business Integration ラッパー

110 フェデレーテッド・データ・ソース 構成ガイド

Page 121: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

1. ユーザーがフェデレーテッド・サーバーに照会を送信して、Siebel アプリケーションなどのデータ・ソースにマップするニックネームにアクセスする。

2. ラッパーが照会をビジネス・オブジェクトにトランスフォームする。

3. ラッパーがこのビジネス・オブジェクトを WebSphere MQ メッセージ要求キューに置く。

4. 特定のアプリケーションの WebSphere Business Integration Adapter が、メッセージ要求キューからビジネス・オブジェクト (これが要求となる) を読み取る。

5. WebSphere Business Integration Adapter がビジネス・アプリケーションと連動して、応答ビジネス・オブジェクトを準備する。

6. WebSphere Business Integration Adapter が応答ビジネス・オブジェクトをメッセージ応答キューに書き込む。

7. ラッパーが応答キューから応答ビジネス・オブジェクトを読み取る。

8. ラッパーは応答ビジネス・オブジェクトを抜き出し、ニックネーム定義に定義されているリレーショナル・スキーマに基づいて結果セットに展開する。

WebSphere Business Integration Adapter の構成フェデレーテッド・ラッパー関数を使用して SQL ステートメントからビジネス・アプリケーションにアクセスしようとする場合、WebSphere Business Integration

Adapter をインストールして構成する必要があります。各アダプターはフェデレーテッド・サーバー定義にマップします。

始める前に

v 各アダプターのインストール情報については、IBM WebSphere Business

Integration Information Center を参照してください。

v 特定のビジネス・アプリケーションに関するヘルプは、WebSphere Business

Integration Adapters 資料を参照してください。

v 使用する特定のアダプターの最新フィックスパックすべてをインストールします。アダプター関連のサポート情報は WebSphere Business Integration Adapters

Support サイトから入手できます。

v メッセージ・キューの構成に関する情報については、IBM WebSphere MQ インフォメーション・センターを参照してください。

v アダプターおよび構成プロパティーについては、IBM WebSphere Business

Integration Information Center でインストール情報を参照してください。

v Object Discovery Agent ツールを構成および使用する方法の詳細については、構成するアダプターの文書を参照してください。

サポートされるアダプターは次のとおりです。

v WebSphere Business Integration Adapter for mySAP.com

v WebSphere Business Integration Adapter for Siebel eBusiness Applications

v WebSphere Business Integration Adapter for PeopleSoft

手順

WebSphere Business Integration Adapter を構成するには、次のようにします。

第 6 章 ビジネス・アプリケーション・データ・ソース 111

Page 122: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

1. Object Discovery Agent ツールと Business Object Designer ツールを構成し、ビジネス・オブジェクト定義を作成する。

2. WebSphere Business Integration Adapter インターフェースから Connector

Configurator ツールを使用して、構成ファイルを定義します。構成ファイルには次の情報が含まれていなければなりません。

a. アダプターによってサポートされるビジネス・オブジェクト。

b. アダプターの構成プロパティー。

3. ラッパーに必要な WebSphere MQ メッセージ・キュー、request_queue、response_queue、および fault_queue を定義する。

4. アダプターに必要な以下の追加メッセージ・キューを定義する。

5. 以下のいずれかの方法で、WebSphere MQ ユーザー許可を定義する。

v DB2 インスタンス所有者 ID を MQManager グループの一部として定義する。

v MQManager 管理者に、ServerConnection チャネルの作成時に MCAUSER 値を設定してもらう。MCAUSER の値は、MQManager グループまたは管理者グループに属するユーザー ID でなければなりません。

WebSphere Business Integration Adapters バージョン 2.6 はビジネス・アプリケーションの結果セットをサポートします。アダプター構成ファイルには、ビジネス・アプリケーションの結果セットを使用可能にするために以下の 2 つのプロパティーが用意されています。

ResultsSetEnabled

結果セットを使用可能にするには、このプロパティーを true にします。デフォルト値は false です。

ResultsSetSize

WebSphere Business Integration ラッパーは実行時に、JMS メッセージ・ヘッダーのプロパティーとして結果セットの最大サイズを設定します。この値は変更しないでください。デフォルト値は 0 です。

アダプターの構成ファイルのこれらのプロパティーは、アダプターを開始する前に構成します。

ビジネス・オブジェクト定義ビジネス・オブジェクト定義は、WebSphere® Business Integration Adapter がビジネス・オブジェクトのインスタンスを作成するときの元になるテンプレートです。ビジネス・オブジェクト定義とはビジネス・アプリケーション・データ・エンティティーのことです。

ビジネス・オブジェクトはビジネス・オブジェクト定義のインスタンスであり、フラット構造または階層構造のどちらにすることもできます。フラット・ビジネス・オブジェクトには属性が 1 つだけ含まれます。階層ビジネス・オブジェクトには 1

つ以上の複合属性が含まれます。ビジネス・オブジェクト定義のリポジトリーは、サポートされている特定のアプリケーション用に各 WebSphere Business Integration

Adapter 内に存在しています。

フラット・ビジネス・オブジェクトの例を以下に示します。

112 フェデレーテッド・データ・ソース 構成ガイド

Page 123: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CustomerGomezJuanitaApt 2C123 Main StreetBig CityCalifornia912348881111111

以下の例は、複数の複合属性を持つ階層ビジネス・オブジェクトを示しています。

Contact (Parent)IDCustomer IDDateTextAuthorizationLine items (there are 0 or more Line item elements)(Child elements)Business object 1Business object 2Business object 3

ビジネス・オブジェクト定義は、各 WebSphere Business Integration Adapter とともにパッケージされている Object Discovery Agent ツールを使用して生成することが必要です。 Object Discovery Agent ツールは、ビジネス・オブジェクト定義用にXML スキーマ定義ファイルを生成します。定義されているビジネス・オブジェクトが階層構造を持っている場合、Object Discovery Agent ツールは複数のスキーマ・ファイルを生成することがあります。

XML スキーマ定義は、ファイル・タイプ XSD のファイルで、WebSphere Business

Integration 構成に指定されたディレクトリーにあります。WebSphere Business

Integration ラッパーのニックネームを作成する前に、ビジネス・オブジェクト定義を生成する必要があります。

ニックネームを作成するには、Object Discovery Agent ツールが作成する XSD ファイルを使用します。ニックネームは、ビジネス・オブジェクト定義のリレーショナル・スキーマ表記を提供します。WebSphere Business Integration ラッパーは、階層ビジネス・オブジェクトをリレーショナル・ニックネームにマップします。たとえば、カーディナリティー「n」の子ビジネス・オブジェクトはそれぞれ、外部キー制約により、親ビジネス・オブジェクトのニックネームにリンクされている個別のニックネームにマップされます。

フェデレーテッド・サーバーにアクセス可能な WebSphere Business Integration ビジネス・オブジェクトは、次の表に示されている特定のアプリケーション・エンティティーにマップされます。

表 23. ビジネス・オブジェクトおよび関連付けられているアプリケーション・エンティティー

ビジネス・オブジェクト アプリケーション・エンティティー

Siebel ビジネス・コンポーネント

PeopleSoft コンポーネント・インターフェース

SAP BAPI

第 6 章 ビジネス・アプリケーション・データ・ソース 113

Page 124: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ビジネス・オブジェクト定義の構成プロパティービジネス・オブジェクト定義には、標準構成プロパティーとアプリケーション固有の構成プロパティーがあります。

以下の構成プロパティーは、ビジネス・オブジェクト定義を行う際に構成ファイルに入っている必要があります。

標準構成プロパティーフェデレーテッド・システムでアダプターを使用するには、一部のプロパティー値をカスタマイズする必要があります。構成対象となる具体的なプロパティーのいくつかをあげると、以下のようなものがあります。

v Integration Broker の値を WMQI に指定する。

v アダプターが所有するメタデータ・リポジトリーのロケーションを指定する。ビジネス・オブジェクト定義を含む XML スキーマ定義ファイルは、このロケーションに保管されます。

v デリバリー・トランスポートのタイプを WMQI-MQ に指定する。

v アダプターが使用するキューを管理するキュー・マネージャーの名前を指定する。

v アダプターを実行するために必要なキューの名前を指定する。

アプリケーション固有の構成プロパティーこのプロパティーは、特定のアプリケーション固有のコンポーネントの値を指定します。指定した値は、アプリケーションとのセッションの確立に役立ちます。プロパティーはまた、アプリケーション固有のコンポーネントの処理動作を指示します。

WebSphere Business Integration ラッパーおよびアダプター用の WebSphere MQ メッセージ・キュー

WebSphere MQ は、アダプターとラッパーの間のメッセージングおよびトランスポートの層です。 WebSphere Business Integration ラッパーおよびアダプターに必要なキューを定義する必要があります。

WebSphere Business Integration ラッパーを使用するには、8 つのキューを定義する必要があります。ラッパーはこれらの静的キューのうち以下の 3 つを使用して、アダプターとラッパーとの間でメッセージ (データ・オブジェクトやエラー・メッセージを含む) を交換します。

request_queueフェデレーテッド・サーバーからアダプターに要求メッセージを配信します。

response_queueアダプターからフェデレーテッド・サーバーに応答メッセージを配信します。

fault_queueアダプターからフェデレーテッド・サーバーに障害メッセージを配信します。アダプターは、応答キューにメッセージを置けないときに、このキューにメッセージを置きます。

114 フェデレーテッド・データ・ソース 構成ガイド

Page 125: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

以下の図は、Siebel アプリケーションとフェデレーテッド・サーバーの間のメッセージ・キューでのメッセージの流れを示しています。

WebSphere Business Integration Adapter には、WebSphere MQ Integrator ブローカーでアダプターが使用されるときに使う、5 つの追加のキューが必要です。以下の追加メッセージ・キューを作成および構成すると、アダプターを開始することができます。

v AdminInQueue

v AdminOutQueue

v SynchronousRequestQueue

v SynchronousResponseQueue

v DeliveryQueue

結果セットが WebSphere Business Integration ラッパーで使用可能になっていると、WebSphere MQ ログ・ファイルが非常に大きくなる可能性があります。必要に応じて、より多くのログ・ファイル、またはより大きなログ・ファイルを構成してください。

ビジネス・アプリケーション・データ・ソースのフェデレーテッド・システムへの追加

WebSphere Business Integration ラッパーの登録 (DB2 コマンド行)

WebSphere Business Integration データ・ソースにアクセスするためには、ラッパーを登録する必要があります。ラッパーを介して、フェデレーテッド・サーバーはデータ・ソースとの通信やデータ検索を行います。

始める前に

1. 適切なアダプターをインストールして構成する。

2. WebSphere MQ バージョン 5.3 (CSD レベル 5) 以降をインストールして構成する。

図 8. Siebel ビジネス・アプリケーションとフェデレーテッド・サーバーとの間で情報をトランスポートするWebSphere メッセージ・キューのトポロジー

第 6 章 ビジネス・アプリケーション・データ・ソース 115

Page 126: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

3. WebSphere MQ メッセージ・キューを作成する。

4. WebSphere MQ マネージャーがフェデレーテッド・サーバーと同じシステムにインストールされていない場合、フェデレーテッド・サーバー・インスタンスがインストールされているのと同じシステムに WebSphere MQ バージョン 5.3

(CSD レベル 5) クライアントをインストールしてください。

このタスクについて

ラッパーは、DB2 コントロール・センターまたは DB2 コマンド行から登録できます。DB2 コントロール・センターには、ラッパーを登録するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

ラッパーを登録するには、次のようにします。

ラッパーの名前とラッパー・ライブラリー・ファイルの名前を指定して、CREATE

WRAPPER ステートメントを発行します。 たとえば、Windows を使用するフェデレーテッド・サーバーに wbi_wrapper という名前のラッパーを登録するには、次のステートメントを発行します。

CREATE WRAPPER wbi_wrapper LIBRARY ’db2wbi.dll’;

指定するラッパー・ライブラリー・ファイルの名前は、フェデレーテッド・サーバーのオペレーティング・システムによって異なります。

WebSphere Business Integration ラッパー・ライブラリー・ファイルWebSphere Business Integration ラッパー・ライブラリー・ファイルは、WebSphere

Federation Server のインストール時にフェデレーテッド・サーバーに追加されます。

WebSphere Federation Server をインストールすると、表にリストされているディレクトリー・パスにライブラリー・ファイルが追加されます。たとえば、フェデレーテッド・サーバーが AIX 上で稼働している場合、ディレクトリー・パスに追加されるラッパー・ライブラリー・ファイルは libdb2wbi.a、libdb2wbiF.a、およびlibdb2wbiU.a です。

CREATE WRAPPER ステートメントに LIBRARY パラメーターを含め、デフォルトのラッパー・ライブラリー・ファイルの名前を指定する必要があります。ラッパーを登録する場合、表にリストされているライブラリー・ファイル名だけを指定してください。

表 24. WebSphere Business Integration ラッパー・ライブラリーのロケーションとファイル名

オペレーティング・システム

デフォルトのディレクトリー・パス デフォルトのラッパー・ライブラリー・ファイル

AIX /usr/opt/install_path/lib/ libdb2wbi.a

Linux /opt/IBM/db2/install_path/lib libdb2wbi.so

Solaris /opt/IBM/db2/install_path/lib libdb2wbi.so

Windows %DB2PATH%¥bin db2wbi.dll

116 フェデレーテッド・データ・ソース 構成ガイド

Page 127: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v install_path は、WebSphere Federation Serverがインストールされる UNIX またはLinux 上のディレクトリー・パスです。

v %DB2PATH% は、Windows にインストールされている WebSphere Federation

Server Information Integrator のディレクトリーを指定するのに使用する環境変数です。デフォルトの Windows ディレクトリー・パスは、C:¥Program

Files¥IBM¥SQLLIB です。

ビジネス・アプリケーション・データ・ソースのサーバー定義の登録 (DB2 コマンド行)

サーバー定義は、DB2 コマンド行から登録できます。

制約事項

サーバー・オプションには、WebSphere MQ Series キュー定義が含まれている必要があります。

v MQ_SVRCONN_CHANNELNAME オプションの指定は、MQ_CONN_NAME オプションを指定している場合にのみ行います。

v MQ_CONN_NAME オプションのドロップは、MQ_SVRCONN_CHANNELNAME

オプションをドロップするまで行わないでください。

v MQ_CONN_NAME が指定されていない場合、フェデレーテッド・システムはMQSERVER 環境変数の値を使用します。

WebSphere Business Integration ラッパーは、結果セットをサポートするために、WebSphere Business Integration Adapters および Framework バージョン 2.6 を必要とします。ラッパーは、CREATE SERVER ステートメントで指定される VERSION

パラメーターの値 2.6 をサポートします。結果セットを使用可能にするには、CREATE SERVER ステートメントの VERSION パラメーターにバージョン 2.6 を指定する必要があります。

このタスクについて

ラッパーを登録した後、対応するサーバーを登録する必要があります。

サーバー・オプションによって、結果セットを使用可能にできます。結果セットを使用可能にするには、RESULTSET_ENABLED オプションを Yes にします。結果セットを使用不可にするには、RESULTSET_ENABLED オプションを No にします。このサーバー・オプションのデフォルト値は No です。結果セットを使用可能にするには、VERSION パラメーター値を 2.6 以降に設定する必要があります。RESULTSET_ENABLED オプションを Yes に設定する前に、アダプター構成ファイルの ResultsSetEnabled プロパティーが true に設定されていることを確認してください。値が一致しない場合はエラーの結果になります。

手順

ビジネス・アプリケーションのサーバー定義を登録するには、次のようにします。

CREATE SERVER ステートメントを発行します。 たとえば、Siebel ビジネス・アプリケーションのサーバー定義を登録するには、次のようにします。

第 6 章 ビジネス・アプリケーション・データ・ソース 117

Page 128: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CREATE SERVER siebel_serverVERSION 2.6WRAPPER wbi_wrapperOPTIONS ( App_Type ’siebel’,

Request_Queue ’myqueue3’,Response_Queue ’myqueue4’,Fault_Queue ’myqueue5’,MQ_Manager ’mymq’MQ_REPONSE_TIMEOUT ’55000’,MQ_CONN_NAME ’9.30.76.151(1420)’,MQ_SVRCONN_CHANNELNAME ’SYSTEM.DEF.SVRCONN’RESULTSET_ENABLED ’Y’

)

この例の場合、ビジネス・アプリケーションは Siebel アプリケーションで、APP_TYPE オプションによって識別されています。有効値は SIEBEL、PSOFT、および SAP です。VERSION オプションは、使用している WebSphere Business

Integration Adapter のバージョンを表します。有効な値は、2.3、2.4、および 2.6 ですが、結果セットを使用可能にするにはバージョン 2.6 を指定する必要があります。 MQ_RESPONSE_TIMEOUT のデフォルト値は 50000 ミリ秒に設定されています。値 -1 を指定すると、タイムアウト制限はなしとなります。

ビジネス・アプリケーション・データ・ソースのニックネームの登録ニックネームは、DB2 コントロール・センターまたは DB2 コマンド行から登録できます。DB2 コントロール・センターには、ニックネームを登録するために必要なステップを順番に提供するウィザードが組み込まれています。

ビジネス・オブジェクト定義の構造階層に対応したニックネームを作成する必要があります。親ニックネームには少なくとも 1 つの子ニックネームが含まれます。子ニックネームは、1 より大きいカーディナリティーを含み、かつ親ニックネームのエレメント内でネストされているエレメントに対応します。 DB2 コントロール・センターは、XML スキーマ文書からの列名を使用して、部分名またはエレメント名をグループ化することによって固有のニックネームを生成します。

手順

ビジネス・アプリケーション・データ・ソースのニックネームを登録するには、次のようにします。

次の方法のいずれかを選択します。

v 119ページの『ビジネス・アプリケーション・データ・ソースのニックネームの登録 (DB2 コントロール・センター)』

v 121ページの『ビジネス・アプリケーション・データ・ソースのニックネームの登録 (DB2 コマンド行)』

118 フェデレーテッド・データ・ソース 構成ガイド

Page 129: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ビジネス・アプリケーション・データ・ソースのニックネームの登録 (DB2コントロール・センター)

登録する WebSphere Business Integration サーバー定義ごとに、アクセスする各データ・ソースに対応するニックネームを登録する必要があります。 Web サービス・データ・ソースを照会するときには、データ・ソースの名前ではなく、これらのニックネームを使用します。

始める前に

結果セットが使用可能でない場合、DB2 コントロール・センターを使用してニックネーム定義を生成する前に、必要な入力列を識別する必要があります。

手順

ビジネス・アプリケーション・データ・ソースのニックネームを DB2 コントロール・センターから登録するには、次のようにします。

1. 「フェデレーテッド・データベース・オブジェクト」フォルダーを展開します。

2. ニックネームを登録するラッパー・フォルダーを展開します。

3. 「サーバー定義」フォルダーを展開します。

4. ニックネームを登録するサーバー・フォルダーを展開します。

5. 「ニックネーム」フォルダーを右クリックして、「作成」を選択します。

6. 「ニックネームの作成」ウィンドウで「ディスカバー」をクリックして、データ・ソースからオブジェクトを選択するのに役立つ検索条件を定義します。

7. フェデレーテッド・システム・ユーザーがアクセスするビジネス・オブジェクトの定義を含む、XML スキーマ定義ファイルを指定する。

8. 「OK」をクリックして、選択した XML スキーマ定義ファイルに基づいてニックネームを作成する。

DB2 コントロール・センターは、スキーマ・ファイルを抽出して、適切な親子関係定義を保って、複数の CREATE NICKNAME ステートメントに展開します。作成されるニックネームは、XML スキーマ定義ファイルに定義されているビジネス・オブジェクト階層を表します。

DB2 コントロール・センターで、ニックネーム定義を生成する前にビジネス・オブジェクト内の必須入力列を識別する

照会から 1 つのビジネス・オブジェクトだけを取り出すには、ラッパーによって必要な述部がすべて送信されていることを確認する必要があります。結果セットが使用可能な場合、複数のビジネス・オブジェクトの結果セットを取り出すことができます。

始める前に

WebSphere Business Integration Adapter Version 2.4 以前を使用している場合、ビジネス・オブジェクト内の必須入力列を識別する必要があります。

WebSphere Business Integration Adapter Version 2.6 以降を使用しており、結果セットが使用可能でない場合には、必須入力列を識別することができます。

第 6 章 ビジネス・アプリケーション・データ・ソース 119

Page 130: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

WebSphere Business Integration ラッパーは、複数のビジネス・オブジェクトの結果セットをサポートしているため、PeopleSoft および Siebel アプリケーション用のビジネス・オブジェクト内で必須入力列を識別する必要はありません。ただし、WebSphere Business Integration Adapters は、全照会において入力列の等価述部のみをサポートします。それで、入力列にすべきではない列を選択解除することによって、不等価述部を使用して照会を行うことができます。

オプションとして、必須入力列を識別して、ある照会への応答を単一のビジネス・オブジェクトに制限することもできます。

手順

ビジネス・オブジェクト内の必須入力列を識別するには、以下のようにします。

1. SAP、Siebel、または PeopleSoft アプリケーション・リポジトリー内にあり、マップ対象のアプリケーション・エンティティーのユニーク・キーを表す列を識別する。

アプリケーション ツール

SAP SAP Business Object Repository を使用して BAPI 用の必須入力パラメーターを識別します。BAPI は、WebSphere Business Integration

Object Discovery Agent ツールにより、WebSphere Business

Integration ビジネス・オブジェクト定義にマップされます。

Siebel 以下の方法のいずれかを使用します。

v Siebel アプリケーションには、各ビジネス・コンポーネントに関連付けられた固有 ID 列があり、ビジネス・コンポーネントの各インスタンスごとにこの列に対して 16 進値を生成します。このID 列はビジネス・コンポーネント階層の最上位に存在しており、生成された XSD ファイル内のエレメントの XML 注釈のappSpecificInfo セクションにすでに isKey=″true″ の指定でフラグが立っています。

結果セットが使用可能な場合、各列はルート・レベルで入力列としてマークされます。

v Siebel ツールを使用して、マップ対象のビジネス・コンポーネントの複合ユニーク・キーを表すデータベース列を識別することができます。これらの列はすべて、ビジネス・オブジェクト階層の最上位またはルート・レベルにある必要があります。

PeopleSoft Application Designer ツールを使用して、WebSphere Business

Integration ビジネス・オブジェクト定義にマップされる階層の最上位レベル用のコンポーネント・インターフェース内で、getKey 列を識別します。

結果セットが使用可能な場合、findKey 列は入力列として使用できます。

2. WebSphere Business Integration Object Discovery Agent ツールによってビジネス・オブジェクト定義用に生成された XSD ファイルを編集して、必須入力列にフラグを立てる。

3. DB2 コントロール・センターからビジネス・オブジェクト定義用にニックネーム DDL ステートメントを生成する。

120 フェデレーテッド・データ・ソース 構成ガイド

Page 131: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ビジネス・アプリケーション・データ・ソースのニックネームの登録 (DB2コマンド行)

登録する WebSphere Business Integration サーバー定義ごとに、アクセスする各データ・ソースに対応するニックネームを登録する必要があります。 Web サービス・データ・ソースを照会するときには、データ・ソースの名前ではなく、これらのニックネームを使用します。

手順

ビジネス・アプリケーション・データ・ソースを DB2 コマンド行から登録するには、CREATE NICKNAME ステートメントを発行します。

たとえば、sieb_ssa_Contact_Contact という名前の Siebel ビジネス・オブジェクト定義のニックネームを登録するには、次のステートメントを発行します。

CREATE NICKNAME sieb_ssa_Contact_Contact_NN(Id VARCHAR(15) OPTIONS(XPATH ’./ns1:Id/text()’,

TEMPLATE ’<ns1:Id>&column</ns1:Id>’),FirstName VARCHAR(50) OPTIONS(XPATH ’./ns1:FirstName/text()’,

TEMPLATE ’<ns1:FirstName>&column</ns1:FirstName>’),LastName VARCHAR(50) OPTIONS(XPATH ’./ns1:LastName/text()’,

TEMPLATE ’<ns1:LastName>&column</ns1:LastName>’),AccountId VARCHAR(255) OPTIONS(XPATH ’./ns1:AccountId/text()’),PrimaryAccountName VARCHAR(100)

OPTIONS(XPATH ’./ns1:PrimaryAccountName/text()’),PrimaryPostalCode VARCHAR(30)

OPTIONS(XPATH ’./ns1:PrimaryPostalCode/text()’),PrimaryStreetAddress VARCHAR(200)

OPTIONS(XPATH ’./ns1:PrimaryStreetAddress/text()’),SalesRep VARCHAR(255) OPTIONS(XPATH ’./ns1:SalesRep/text()’),State VARCHAR(255) OPTIONS(XPATH ’./ns1:State/text()’))FOR SERVER siebel_serverOPTIONS(XPATH ’//ns1:sieb_ssa_Contact_Contact’,TEMPLATE ’<ns1:sieb_ssa_Contact_Contact>

&Id[1,1] &FirstName[0,1] &LastName[0,1]</ns1:sieb_ssa_Contact_Contact>’,

BUSOBJ_NAME ’sieb_ssa_Contact_Contact’,NAMESPACES ’ns1="http://www.ibm.com/websphere/

crossworlds/2002/BOSchema/sieb_ssa_Contact_Contact"’

REQUIRE_PREDICATE ’N’,RESULTSET_SIZE ’50’);

BUSOBJ_NAME ニックネーム・オプションは、ビジネス・オブジェクト定義を表すXML スキーマ定義 (XSD) ファイルの名前です。

CREATE NICKNAME ステートメント - WebSphere BusinessIntegration ラッパーの例

このセクションの例は、CREATE NICKNAME ステートメントの使い方を示しています。

例 1: フラット・ビジネス・オブジェクト

122ページの図 9 は、Siebel Business Component 用の WebSphere Business

Integration ビジネス・オブジェクト定義を表す XSD ファイルの一部です。ビジネス・オブジェクト定義階層は単一レベルから成り、ルート・ビジネス・オブジェク

第 6 章 ビジネス・アプリケーション・データ・ソース 121

Page 132: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

トだけが含まれています。DB2 コントロール・センターは、このビジネス・オブジェクト定義を表す単一のリレーショナル・ニックネームを作成します。

XSD ファイル内では、注釈セクションに isRequired=″true″ フラグが追加されることにより、ID エレメントには必須入力列のフラグが立てられています。FirstName および LastName 列は、isRequired=″false″ フラグが追加されることにより、オプション入力列として設定されています。

<?xml version="1.0" encoding="utf-8" standalone="no"?><xsd:schema elementFormDefault="qualified"

targetNamespace="http://www.ibm.com/websphere/crossworlds/2002/BOSchema/sieb_ssa_Contact_Contact"

...<xsd:element name="sieb_ssa_Contact_Contact"><xsd:annotation>

<xsd:appinfo><bx:boDefinition version="1.0.0"><bx:appSpecificInfo>ON=Contact;CN=Contact</bx:appSpecificInfo></bx:boDefinition></xsd:appinfo></xsd:annotation>

<xsd:complexType><xsd:sequence>

<xsd:element name="Id" minOccurs="0"><xsd:annotation><xsd:appinfo><bx:boAttribute><bx:appSpecificInfo>FN=Id</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false"

isKey="true" isRequired="true" /></bx:boAttribute></xsd:appinfo></xsd:annotation>...</xsd:simpleType></xsd:element>

<xsd:element name="FirstName" minOccurs="1"><xsd:annotation>...<bx:appSpecificInfo>FN=First Name</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false"

isKey="false" isRequired="false" />...</xsd:annotation>...

</xsd:element><xsd:element name="LastName" minOccurs="1">

<xsd:annotation>...<bx:appSpecificInfo>FN=Last Name</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false"

isKey="false" isRequired="false" />...</xsd:annotation>...</xsd:element>

<xsd:element name="AccountId" minOccurs="0"><xsd:annotation>...

図 9. フラット・ビジネス・オブジェクト用の XML スキーマ・ファイル

122 フェデレーテッド・データ・ソース 構成ガイド

Page 133: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

<bx:appSpecificInfo>FN=Account Id</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false"

isKey="false" />...</xsd:annotation>

...</xsd:element><xsd:element name="PrimaryAccountName" minOccurs="0"><xsd:annotation>...

<bx:appSpecificInfo>FN=Primary Account Name</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false" isKey="false" />...</xsd:annotation>...</xsd:element>

<xsd:element name="PrimaryPostalCode" minOccurs="0"><xsd:annotation>...<bx:appSpecificInfo>FN=Primary Postal Code</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false" isKey="false" />...</xsd:annotation></xsd:element><xsd:element name="PrimaryStreetAddress" minOccurs="0"><xsd:annotation>...<bx:appSpecificInfo>FN=Primary Street Address</bx:appSpecificInfo>

<bx:attributeInfo isForeignKey="false" isKey="false" />...</xsd:annotation>...</xsd:element>

<xsd:element name="SalesRep" minOccurs="0"><xsd:annotation>...<bx:boAttribute><bx:appSpecificInfo>FN=Sales Rep</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false" isKey="false" />...</xsd:annotation>...</xsd:element><xsd:element name="State" minOccurs="0"><xsd:annotation>...<bx:boAttribute><bx:appSpecificInfo>FN=State</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false" isKey="false" />...</xsd:annotation>...</xsd:element><xsd:element name="ObjectEventId"

type="xsd:string" minOccurs="0" /></xsd:sequence>...</xsd:schema>

DB2 コントロール・センターは、 122ページの図 9 に示されている XSD ファイルから、次の CREATE NICKNAME ステートメントを生成します。各入力列にTEMPLATE オプション値が指定されます。列オプション・テンプレートはニックネーム・オプション・テンプレートに関連付けられます。入力列も、ニックネーム・レベル TEMPLATE で参照されます。ニックネーム・オプション・テンプレートは

第 6 章 ビジネス・アプリケーション・データ・ソース 123

Page 134: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

入力ビジネス・オブジェクトの構造を指定します。ニックネーム・テンプレート値の各入力列参照の minOccurs 属性の値は、入力列が必須列かオプション列かを判別します。ID 列の参照は &Id[1,1] と指定されます。 FirstName 列と LastName 列の参照は &FirstName [0,1] および &LastName [0,1] と指定されます。すべての出力列には XPATH 列オプション値が組み込まれています。ニックネームは、子をまったく含まないフラット・ビジネス・オブジェクト用です (カーディナリティー「n」のエレメント)。

CREATE NICKNAME sieb_ssa_Contact_Contact_NN(Id VARCHAR(15) OPTIONS(XPATH ’./ns1:Id/text()’,

TEMPLATE ’<ns1:Id>&column</ns1:Id>’),FirstName VARCHAR(50) OPTIONS(XPATH ’./ns1:FirstName/text()’,

TEMPLATE ’<ns1:FirstName>&column</ns1:FirstName>’),LastName VARCHAR(50) OPTIONS(XPATH ’./ns1:LastName/text()’,

TEMPLATE ’<ns1:LastName>&column</ns1:LastName>’),AccountId VARCHAR(255)

OPTIONS(XPATH ’./ns1:AccountId/text()’),PrimaryAccountName VARCHAR(100)

OPTIONS(XPATH ’./ns1:PrimaryAccountName/text()’),PrimaryPostalCode VARCHAR(30)

OPTIONS(XPATH ’./ns1:PrimaryPostalCode/text()’),PrimaryStreetAddress VARCHAR(200)

OPTIONS(XPATH ’./ns1:PrimaryStreetAddress/text()’),SalesRep VARCHAR(255) OPTIONS(XPATH ’./ns1:SalesRep/text()’),State VARCHAR(255) OPTIONS(XPATH ’./ns1:State/text()’))FOR SERVER siebel_serverOPTIONS(XPATH ’//ns1:sieb_ssa_Contact_Contact’,TEMPLATE ’<ns1:sieb_ssa_Contact_Contact>

&Id[1,1] &FirstName[0,1] &LastName[0,1]</ns1:sieb_ssa_Contact_Contact>’,

BUSOBJ_NAME ’sieb_ssa_Contact_Contact’,NAMESPACES ’ns1="http://www.ibm.com/websphere/

crossworlds/2002/BOSchema/sieb_ssa_Contact_Contact"’);

例 2: 階層ビジネス・オブジェクト

この例では、ビジネス・オブジェクト定義は、ルート・ビジネス・オブジェクトと2 つの子ビジネス・オブジェクト (つまり合計 3 つの XSD ファイル) からなる 2

つのレベルの階層で構成されます。2 つのニックネームのみが生成されて、ビジネス・オブジェクト定義階層を表します。sap_customeraddress 子ビジネス・オブジェクトはカーディナリティーが 1 であり、そのことはエレメント定義に maxOccurs

属性指定がないことによって示されています。sap_customeraddress のすべての列は、ルート・ニックネーム sap_bapi_customer_getdetail2_NN に含まれています。sap_customerbankdetail 子ビジネス・オブジェクトはカーディナリティーが n であり、そのことはエレメント定義の maxOccurs=″unbounded″ 指定によって示されています。sap_customerbankdetail 子ビジネス・オブジェクトは、別個の子ニックネームsap_bapi_customer_getdetail2_sap_customerbankdetail_NN にマップされます。子ニックネームは、特殊な主キーと外部キーの関係によってルート・ニックネームに関連付けられています。

...<xsd:element name="sap_bapi_customer_getdetail2">

<xsd:annotation><xsd:appinfo>

図 10. SAP 階層ビジネス・オブジェクト: customer_getdetail2

124 フェデレーテッド・データ・ソース 構成ガイド

Page 135: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

<bx:boDefinition version="3.0.0" /></xsd:appinfo></xsd:annotation>

...<xsd:element name="COMPANYCODE" minOccurs="0"><xsd:annotation><xsd:appinfo><bx:boAttribute><bx:appSpecificInfo>ICOMPANYCODE:</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false" isKey="true" /></bx:boAttribute></xsd:appinfo>

</xsd:annotation>

...</xsd:element><xsd:element name="CUSTOMERNO" minOccurs="1"><xsd:annotation><xsd:appinfo><bx:boAttribute><bx:appSpecificInfo>ICUSTOMERNO:</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false" isKey="false" /></bx:boAttribute></xsd:appinfo></xsd:annotation>...</xsd:element>

<xsd:element name="sap_customeraddress" minOccurs="0"><xsd:annotation><xsd:appinfo><bx:boAttribute><bx:appSpecificInfo>:ECUSTOMERADDRESS</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false" isKey="false" /><bx:childObjectInfo relationship="Containment" version="3.0.0" /></bx:boAttribute></xsd:appinfo></xsd:annotation>...

<xsd:element ref="sap_customeraddress:sap_customeraddress" /></xsd:sequence>

</xsd:complexType></xsd:element><xsd:element name="sap_customerbankdetail" minOccurs="0"><xsd:annotation><xsd:appinfo><bx:boAttribute><bx:appSpecificInfo>

ICUSTOMERBANKDETAIL:ECUSTOMERBANKDETAIL</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false" isKey="false" /><bx:childObjectInfo relationship="Containment" version="3.0.0" /></bx:boAttribute></xsd:appinfo></xsd:annotation>

<xsd:complexType><xsd:sequence><xsd:element ref="sap_customerbankdetail:sap_customerbankdetail"

maxOccurs="unbounded" /></xsd:sequence><xsd:attribute name="size" type="xsd:positiveInteger"

default="1" /></xsd:complexType></xsd:element>

第 6 章 ビジネス・アプリケーション・データ・ソース 125

Page 136: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

<xsd:element name="ObjectEventId" type="xsd:string"minOccurs="0" />

</xsd:sequence>...<xsd:annotation><xsd:appinfo><bx:boVerb><bx:appSpecificInfo>

bapi.client.Bapi_customer_getdetail2</bx:appSpecificInfo></bx:boVerb></xsd:appinfo></xsd:annotation></xsd:enumeration><xsd:enumeration value="Update" /></xsd:restriction></xsd:simpleType></xsd:attribute></xsd:complexType></xsd:element>...

DB2 コントロール・センターは、図 11 および 121ページの『CREATE

NICKNAME ステートメント - WebSphere Business Integration ラッパーの例』 に示されているように、3 つの SAP XSD ファイルから 2 つのニックネームを生成します。列 customerno は、customerno エレメントの XSD ファイル仕様のために、sap_bapi_customer_getdetail2_NN ニックネームのニックネーム・レベル・テンプレートで必須入力列としてマークされています。Customerno は ″I″ 接頭部とminOccurs=1 属性値でフラグが立てられています。

<xsd:element name="sap_customeraddress"><xsd:annotation><xsd:appinfo><bx:boDefinition version="3.0.0"><bx:appSpecificInfo>:ECUSTOMERADDRESS</bx:appSpecificInfo></bx:boDefinition></xsd:appinfo></xsd:annotation><xsd:complexType><xsd:sequence><xsd:element name="CUSTOMER" minOccurs="0"><xsd:annotation><xsd:appinfo><bx:boAttribute><bx:appSpecificInfo>:ECUSTOMER</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false" isKey="true" /></bx:boAttribute></xsd:appinfo></xsd:annotation>...

</xsd:element><xsd:element name="NAME" minOccurs="0"><xsd:annotation><xsd:appinfo><bx:boAttribute><bx:appSpecificInfo>:ENAME</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false" isKey="false" /></bx:boAttribute></xsd:appinfo>

図 11. getdetail2 ニックネーム

126 フェデレーテッド・データ・ソース 構成ガイド

Page 137: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

</xsd:annotation>...</xsd:element><xsd:element name="CITY" minOccurs="0"><xsd:annotation><xsd:appinfo><bx:boAttribute><bx:appSpecificInfo>:ECITY</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false" isKey="false" /></bx:boAttribute></xsd:appinfo></xsd:annotation>...</xsd:element>

<xsd:element name="POSTL_CODE" minOccurs="0"><xsd:annotation><xsd:appinfo><bx:boAttribute><bx:appSpecificInfo>:EPOSTL_CODE</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false" isKey="false" /></bx:boAttribute></xsd:appinfo></xsd:annotation>...

</xsd:element><xsd:element name="STREET" minOccurs="0"><xsd:annotation><xsd:appinfo><bx:boAttribute><bx:appSpecificInfo>:ESTREET</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false" isKey="false" /></bx:boAttribute>

</xsd:appinfo></xsd:annotation>

...</xsd:element><xsd:element name="REGION" minOccurs="0"><xsd:annotation><xsd:appinfo><bx:boAttribute><bx:appSpecificInfo>:EREGION</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false" isKey="false" /></bx:boAttribute></xsd:appinfo></xsd:annotation>...</xsd:element></xsd:sequence>...

例 3: 主キーおよび外部キー

PRIMARY_KEY および FOREIGN_KEY 列は、親ニックネームと子ニックネームの間の関係を定義するために使用されます。各親ニックネームは、主キー列オプションをもっていなければなりません。ある親ニックネームの子は、親ニックネームの主キー列を参照する外部キー列オプションによって定義します。 1 つのニックネームに対して複数の子は可能ですが、親については 1 つのみ可能です。

WebSphere Business Integration ラッパーの主キー値と外部キー値は、単一の照会内でのみ有効であり固有です。主キーと外部キーは、2 次照会を含む行の検索には使

第 6 章 ビジネス・アプリケーション・データ・ソース 127

Page 138: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

用できません。表に複数の照会のデータを追加されている場合には、値が固有であることが保証されないため、それらの値が保持されないのです。

以下の CREATE NICKNAME ステートメントは、 124ページの図 10、 121ページの『CREATE NICKNAME ステートメント - WebSphere Business Integration ラッパーの例』、および 121ページの『CREATE NICKNAME ステートメント -

WebSphere Business Integration ラッパーの例』 に示されている XML スキーマ定義ファイルから派生したものです。外部キー nn_fkey は子ニックネームsap_bapi_customer_getdetail2_sap_customerbankdetail_nn を親ニックネームsap_bapi_customer_getdetail2_nn と一意に関連付けます。親ニックネームも、ニックネーム・オプション・テンプレート構造内の子ニックネームへの参照を使用します。

CREATE NICKNAME sap_bapi_customer_getdetail2_NN(CUSTOMER VARCHAR(10)OPTIONS(XPATH ’./ns3:sap_customeraddress/ns1:sap_customeraddress/ns1:CUSTOMER/text()’),NAME VARCHAR(35)OPTIONS(XPATH ’./ns3:sap_customeraddress/ns1:sap_customeraddress/ns1:NAME/text()’),...NN__PKEY VARCHAR(16) FOR BIT DATA NOT NULLOPTIONS(PRIMARY_KEY ’YES’),...TEMPLATE ’<ns3:sap_bapi_customer_getdetail2>&sap_bapi_customer_getdetail2_sap_customerbankdetail_NN[0,1]&COMPANYCODE[0,1]&CUSTOMERNO[1,1]</ns3:sap_bapi_customer_getdetail2>’,...

CREATE NICKNAME sap_bapi_customer_getdetail2_sap_customerbankdetail_NN(CUSTOMER VARCHAR(10) OPTIONS(XPATH ’./ns2:CUSTOMER/text()’,TEMPLATE ’<ns2:CUSTOMER>&column</ns2:CUSTOMER>’),BANK_KEY VARCHAR(15) OPTIONS(XPATH ’./ns2:BANK_KEY/text()’,TEMPLATE ’<ns2:BANK_KEY>&column</ns2:BANK_KEY>’),BANK_ACCT VARCHAR(18) OPTIONS(XPATH ’./ns2:BANK_ACCT/text()’,TEMPLATE ’<ns2:BANK_ACCT>&column</ns2:BANK_ACCT>’),CTRL_KEY VARCHAR(2) OPTIONS(XPATH ’./ns2:CTRL_KEY/text()’,TEMPLATE ’<ns2:CTRL_KEY>&column</ns2:CTRL_KEY>’),BANK_REF VARCHAR(20) OPTIONS(XPATH ’./ns2:BANK_REF/text()’,TEMPLATE ’<ns2:BANK_REF>&column</ns2:BANK_REF>’),NN__FKEY VARCHAR(16) FOR BIT DATA NOT NULLOPTIONS(FOREIGN_KEY ’SAP_BAPI_CUSTOMER_GETDETAIL2_NN’))FOR SERVER sap_serverOPTIONS(XPATH ’./ns3:sap_customerbankdetail/ns2:sap_customerbankdetail’,TEMPLATE ’<ns3:sap_customerbankdetail><ns2:sap_customerbankdetail>&CUSTOMER[0,1]&BANK_KEY[0,1]&BANK_ACCT[0,1]&CTRL_KEY[0,1]&BANK_REF[0,1]</ns2:sap_customerbankdetail></ns3:sap_customerbankdetail>’,...

例 4: XPath 式接頭部を解決するネーム・スペース

NAMESPACES オプションはコンマ区切りの名前と値の対のリストです。このオプションは、XPath 式に使用される接頭部を、XML スキーマに定義されているネーム・スペース URI を使用して解決します。これらの XPath 式は、WebSphere

128 フェデレーテッド・データ・ソース 構成ガイド

Page 139: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Business Integration Adapter から戻されるビジネス・オブジェクト (XML 文書) 上で適用されます。以下の例には、ネーム・スペース接頭部とその接頭部の定義が組み込まれています。

CREATE NICKNAME sap_customer(sap_customeraddress_CUSTOMER VARCHAR(10)OPTIONS(XPATH ’./ns5:sap_customeraddress/ns2:sap_customeraddress/ns2:CUSTOMER/text()’),sap_customeraddress_NAME VARCHAR(35)OPTIONS(XPATH ’./ns5:sap_customeraddress/ns2:sap_customeraddress/ns2:NAME/text()’),...sap_bapi_customer_getdet1_PKEY VARCHAR(16) FOR BIT DATA NOT NULLOPTIONS(PRIMARY_KEY ’YES’),COMPANYCODE VARCHAR(4)OPTIONS(XPATH ’./ns5:COMPANYCODE/text()’,TEMPLATE ’<ns5:COMPANYCODE>&column</ns5:COMPANYCODE>’),CUSTOMERNO VARCHAR(10)OPTIONS(XPATH ’./ns5:CUSTOMERNO/text()’,TEMPLATE ’<ns5:CUSTOMERNO>&column</ns5:CUSTOMERNO>’),ObjectEventId VARCHAR(48)OPTIONS(XPATH ’./ns5:ObjectEventId/text()’))FOR SERVER SAP_SOURCEOPTIONS (XPATH ’//ns5:sap_bapi_customer_getdetail2’,TEMPLATE’<ns5:sap_bapi_customer_getdetail2>&customerbankdetail_NN[0,1] &COMPANYCODE[0,1] &CUSTOMERNO[1,1]</ns5:sap_bapi_customer_getdetail2>’,BUSOBJ_NAME ’sap_bapi_customer_getdetail2’,NAMESPACES ’ns2="http://www.ibm.com/websphere/crossworlds/2002/BOSchema/sap_customeraddress",...ns5="http://www.ibm.com/websphere/crossworlds/2002/BOSchema/sap_bapi_customer_getdetail2",ns6="http://www.ibm.com/websphere/crossworlds/2002/BOSchema/sap_return"’);

WebSphere Business Integration ラッパーの TEMPLATE オプションWebSphere® Business Integration ラッパーは、ニックネームの作成時に CREATE

NICKNAME ステートメントに TEMPLATE オプションを必要とします。

列が必須かオプションかは、アプリケーションおよび関連付けられているアダプターによって異なります。列に適したテンプレート・オプション値を指定することによって、必須およびオプションの入力列を識別してください。DB2® コントロール・センターを使用してニックネームを作成する前に、XMLスキーマ定義ファイルを変更して、必須およびオプション入力列にフラグを立てなければなりません。

SAP BAPIDB2 コントロール・センターは、XML スキーマ定義 (XSD) ファイル内にあるビジネス・オブジェクト定義を表す固有のフラグの値に基づいて、必須およびオプション入力列を判別します。

どのレベルのビジネス・オブジェクト階層 (親または子ビジネス・オブジェクト) でも、エレメントの注釈セクションで、 appSpecificInfo 値に "I" 接頭部があれば、それはビジネス・オブジェクト定義のマップ先である SAP

第 6 章 ビジネス・アプリケーション・データ・ソース 129

Page 140: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

BAPI のインポート・パラメーターであることを表します。 "E" 接頭部は、SAP BAPI のエクスポート・パラメーターを表します。一部のエレメントは、BAPI のインポートおよびエクスポートの両方のパラメーターとなることができます。次の例は、インポートおよびエクスポートの両方のパラメーターであるエレメントを示しています。

<bx:appSpecificInfo>ICOMPANYCODE:ECOMPANYCODE</bx:appSpecificInfo>

SAP ビジネス・オブジェクト・リポジトリーから抽出された情報に基づいて、接頭部は WebSphere Business Integration Object Discovery Agent ツールにより自動的に生成されます。

インポート・パラメーター (appSpecificInfo 値に ″I″ 接頭部が指定されている) を表すエレメントに属性 minOccurs=1 が指定されている場合、DB2 コントロール・センターはそのエレメントを必須入力パラメーターとして識別し、エレメントを必須入力列としてニックネーム定義にフラグを立てます。WebSphere Business Integration Object Discovery Agent ツールは、SAP

BAPI の必須入力パラメーターに対して自動的に minOccurs の値 1 を設定することはありません。ユーザー自身が SAP Business Object Repository を参照して、アクセスする BAPI 用の必須入力パラメーターすべてを判別する必要があります。次いで、XML スキーマ・ファイル内の対応するエレメントについて、手動で属性を minOccurs=1 に設定して編集する必要があります。 入力パラメーターの minOccurs 属性値がデフォルト値である 0 のままであると、DB2 コントロール・センターは生成されるニックネーム階層に列をオプション入力列として指定します。

次の例は、オプション入力列を示しています。

<xsd:element name="Company_code" minOccurs="0"><xsd:annotation><xsd:appinfo><bx:boAttribute><bx:appSpecificInfo>ICOMPANYCODE:</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false" isKey="true" /></bx:boAttribute></xsd:appinfo></xsd:annotation><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4" /></xsd:restriction></xsd:simpleType></xsd:element>

次の例は、必須入力列を示しています。

<xsd:element name="Company_id" minOccurs="1"><xsd:annotation><xsd:appinfo><bx:boAttribute><bx:appSpecificInfo>ICOMPANYID:</bx:appSpecificInfo><bx:attributeInfo isForeignKey="true" isKey="true" /></bx:boAttribute></xsd:appinfo></xsd:annotation><xsd:simpleType><xsd:restriction base="xsd:string">

130 フェデレーテッド・データ・ソース 構成ガイド

Page 141: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

<xsd:maxLength value="4" /></xsd:restriction></xsd:simpleType></xsd:element>

SAP ビジネス・アプリケーション用の必須およびオプション入力列は、次の表に示されている構文によって指定されます。

表 25. SAP 入力列情報のフラグ設定スキーマ

SAP XSD ファイルで使用されるフラグ 必須入力列 ニックネーム・テンプレート内の列参照

接頭部 = ’I’ および minOccurs=1 が指定された、階層の任意の場所にあるエレメント

はい &columnname[1,1]

接頭部 = ’I’ および minOccurs=0 が指定された、階層の任意の場所にあるエレメント

いいえ &columnname[0,1]

Siebel および PeopleSoft

DB2 コントロール・センターは、エレメントの注釈の attributeInfo セクションにおけるisRequired フラグの有無およびその値に基づいて、必須およびオプション入力列を判別します。isRequired フラグがない場合、その列は入力列ではありません。WebSphere Business Integration Object Discovery

Agent ツールは、XSD ファイルにこれらのフラグを自動的に生成することはありません。ユーザー自身が必須およびオプション入力列を識別し、DB2

コントロール・センターを使用してニックネーム DDL ステートメントを生成する前に、XSD ファイル内でそれらの列について適切にフラグを立てる必要があります。

次の例は、Siebel または PeopleSoft ビジネス・オブジェクト定義用の XSD

ファイル内での必須入力列およびオプション入力列のフラグを示しています。

第 6 章 ビジネス・アプリケーション・データ・ソース 131

Page 142: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Siebel および PeopleSoft ビジネス・アプリケーション用の必須およびオプション入力列は、次の表に示されている構文によって指定されます。

<xsd:element name="sieb_ssa_Contact_Contact"><xsd:annotation><xsd:appinfo><bx:boDefinition version="1.0.0"><bx:appSpecificInfo>ON=Contact;CN=Contact</bx:appSpecificInfo></bx:boDefinition></xsd:appinfo></xsd:annotation><xsd:complexType><xsd:sequence><xsd:element name="Id" minOccurs="0"><xsd:annotation><xsd:appinfo><bx:boAttribute><bx:appSpecificInfo>FN=Id</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false"isKey="true" isRequired="true" /></bx:boAttribute></xsd:appinfo></xsd:annotation>...</xsd:element>...

...<xsd:element name="FirstName" minOccurs="1"><xsd:annotation><xsd:appinfo><bx:boAttribute><bx:appSpecificInfo>FN=First Name</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false" isKey="false"isRequired="false" /></bx:boAttribute></xsd:appinfo></xsd:annotation><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="50" /></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="LastName" minOccurs="1"><xsd:annotation><xsd:appinfo><bx:boAttribute><bx:appSpecificInfo>FN=Last Name</bx:appSpecificInfo><bx:attributeInfo isForeignKey="false" isKey="false"isRequired="false" /></bx:boAttribute></xsd:appinfo></xsd:annotation>...

図 12. Siebel ビジネス・オブジェクト定義の一部分

132 フェデレーテッド・データ・ソース 構成ガイド

Page 143: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 26. Siebel および PeopleSoft 入力列情報のフラグ設定スキーマ

Siebel および PeopleSoft

XSD ファイルで使用されるフラグ

必須入力列 ニックネーム・テンプレート内の列参照

isRequired=″true″ はい &columnname[1,1]

isRequired=″false″ いいえ &columnname[0,1]

次の例は、 132ページの図 12 の XSD ファイルに基づいて、DB2 コントロール・センターが作成する DDL を示しています。この図の XSD ファイルでは、isRequired 属性の値が false に指定されて組み込まれています。

CREATE NICKNAME sieb_ssa_Contact_Contact_NN(Id VARCHAR(15) OPTIONS(XPATH ’./ns1:Id/text()’,TEMPLATE ’<ns1:Id>&column</ns1:Id>’),FirstName VARCHAR(50) OPTIONS(XPATH ’./ns1:FirstName/text()’,TEMPLATE ’<ns1:FirstName>&column</ns1:FirstName>’),LastName VARCHAR(50) OPTIONS(XPATH ’./ns1:LastName/text()’,TEMPLATE ’<ns1:LastName>&column</ns1:LastName>’),AccountId VARCHAR(255) OPTIONS(XPATH ’./ns1:AccountId/text()’),PrimaryAccountName VARCHAR(100)OPTIONS(XPATH ’./ns1:PrimaryAccountName/text()’),PrimaryPostalCode VARCHAR(30)OPTIONS(XPATH ’./ns1:PrimaryPostalCode/text()’),PrimaryStreetAddress VARCHAR(200)OPTIONS(XPATH ’./ns1:PrimaryStreetAddress/text()’),SalesRep VARCHAR(255) OPTIONS(XPATH ’./ns1:SalesRep/text()’),State VARCHAR(255) OPTIONS(XPATH ’./ns1:State/text()’))FOR SERVER siebel_serverOPTIONS(XPATH ’//ns1:sieb_ssa_Contact_Contact’,TEMPLATE ’<ns1:sieb_ssa_Contact_Contact>&Id[1,1] &FirstName[0,1] &LastName[0,1]</ns1:sieb_ssa_Contact_Contact>’,BUSOBJ_NAME ’sieb_ssa_Contact_Contact’,NAMESPACES ’ns1="http://www.ibm.com/websphere/crossworlds/2002/BOSchema/sieb_ssa_Contact_Contact"’);

結果セットのためのニックネーム要件WebSphere Business Integration ラッパーは、複数のビジネス・オブジェクトが含まれる結果セットをサポートします。各ビジネス・アプリケーションごとの制約事項に従って、ニックネームを作成する必要があります。

mySAP.com から結果セットを使用可能にするための設定

SAP Business API (BAPI) は結果セットをサポートしていません。しかし、複数の要求を SAP に送信するラッパー・ビジネス・オブジェクト定義を作成して、結果セットを戻すことができます。

ラッパー・ビジネス・オブジェクトが機能するのは、getlist*() および getdetail*()

BAPI を提供する SAP ビジネス・オブジェクトがあり、getdetail*() BAPI に必須入力パラメーターが 1 つだけ含まれる場合のみです。

Object Discovery Agent (ODA) ツールを使用して生成されるラッパー・ビジネス・オブジェクトの場合には、verb 値を指定する必要はありません。ODA ツールは、RetrieveByContent verb 値をラッパー・ビジネス・オブジェクトに自動的に割り当てます。

第 6 章 ビジネス・アプリケーション・データ・ソース 133

Page 144: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

mySAP.com で結果セットを使用可能にするには、アダプターとともにパッケージされている ODA Business Object ウィザードを使用して、以下の設定でラッパー・ビジネス・オブジェクト定義を作成します。

v ResultSet プロパティーの値を true に設定します。

v 「ソースの選択 (Select Source)」ウィンドウで、アクセスする getlist*() およびgetdetail*() BAPI を選択します。

v ResultSet Name プロパティーの名前を指定し、UseFieldName プロパティーをYes に設定します。

v Query オブジェクトに対して getlist*() BAPI を選択します。残った BAPI は自動的に Result オブジェクトとして選択されます。

v ResultSet 関係を作成するためのキー値またはフィールドを選択します。キー・フィールドが Query オブジェクトの子ビジネス・オブジェクトに含まれている場合、子ビジネス・オブジェクトを表す表構造を選択します。

v Result オブジェクト内の入力パラメーター (getdetail*() BAPI) を選択して、キー値にマップします。

v SAP アプリケーションで、getlist*() BAPI の必須パラメーターにマップするQuery オブジェクトのすべての入力パラメーターおよびフィールドで、「必須(Required)」を選択します。

v ニックネーム生成には、トップレベルのラッパー・ビジネス・オブジェクト XSD

ファイルのみを使用します。

たとえば、以下の照会では、郵便番号に該当するすべてのカスタマーの名前および銀行口座番号を検索します。

SELECT a.NAME, c.BANK_ACCT FROM Customer_resultset a, Idrange b, CustomerBankDetailc where b.SIGN=’I’, b.OPTION=’BT’, b.LOW=’000000000’, b.HIGH=’999999999’ anda.POSTL_CODE IN (’95141’, ’95123’, ’95136’);

Siebel ビジネス・アプリケーションから結果セットを使用可能にするための設定

結果セットが使用可能になっている場合、必須列を識別するためにビジネス・オブジェクト XSD ファイル内のエレメントを手動で指定する必要はありません。ただし、入力列としてフラグが立てられている列は、それが必須かオプションかどうかにかかわらず、全照会において等価述部だけをサポートします。ニックネーム階層において入力列として宣言されない列では、不等価述部を使用できます。

DB2 コントロール・センターの「ニックネームの発見 (Discover Nicknames)」ウィザードでは、デフォルトで、オプションの入力列としてルート・ビジネス・オブジェクト・レベルにあるすべてのエレメントにマークが付けられます。入力列を出力列に変換するには、TEMPLATE 列のオプション指定およびニックネーム・レベルTEMPLATE オプション内の列の参照を削除します。

結果セットをサポートするには、Object Discovery Agent のビジネス・オブジェクトに対して RetrieveByContent の verb 値を指定する必要があります。

以下の照会では、指定された郵便番号に該当し、かつ給料が 100,000 ドルを超える全従業員が戻されます。以下の照会にあるすべての列は、ルート・ビジネス・オブ

134 フェデレーテッド・データ・ソース 構成ガイド

Page 145: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ジェクト内のエレメントにマップされますが、自動的にオプションの入力列として宣言されています。この場合、salary 列を出力のみの列としてニックネーム定義でフラグを立てておく必要があり、そうでなければラッパーは照会をリジェクトしてしまいます。

SELECT Lastname, Address FROM siebel_nickname WHERE zipcode=95141 AND salary>100000

PeopleSoft ビジネス・アプリケーションから結果セットを使用可能にするための設定

結果セットが使用可能になっている場合、必須列を識別するためにビジネス・オブジェクト XSD ファイル内のエレメントを指定する必要はありません。ただし、入力列としてフラグが立てられている列は、それが必須かオプションかどうかにかかわらず、全照会において等価述部だけをサポートします。ニックネーム階層において入力列として宣言されない列では、不等価述部を使用できます。

DB2 コントロール・センターの「ニックネームの発見 (Discover Nicknames)」ウィザードでは、デフォルトで、ニックネーム階層のオプションの入力列として、関連した PeopleSoft コンポーネント・インターフェース内のすべての「キーの検索(Find Key)」列にマークが付けられます。入力列を出力列に変換するには、TEMPLATE 列のオプション指定およびニックネーム・レベル TEMPLATE オプション内の列の参照を削除します。

PeopleSoft アダプターを使用すると、WebSphere Business Integration ビジネス・オブジェクト定義は、PeopleSoft コンポーネント・インターフェース (PeopleSoft コンポーネントに関連した API) にマップされます。

結果セットをサポートするには、Object Discovery Agent のビジネス・オブジェクトに対して RetrieveByContent の verb 値を指定する必要があります。

PeopleSoft コンポーネント・インターフェースにおいて、「キーの検索 (Find

Key)」列は行を一意に識別しないため、この列で照会を実行すると複数の結果が戻される可能性があります。「キーの検索 (Find Key)」列以外の PeopleSoft コンポーネント・インターフェース列を入力列として宣言しないでください。さらに、「キーの検索 (Find Key)」列での照会では、ニックネーム階層において列が入力列として宣言された場合に、等価述部のみを含める必要があります。

PeopleSoft コンポーネント・インターフェースにおいて、「キーの取得 (Get Key)」列は行を一意に識別するため、この列で照会を実行すると固有の結果が戻されます。通常、「キーの取得 (Get Key)」列は「キーの検索 (Find Key)」列としても識別されますが、常にそうであるとは限りません。「キーの検索 (Find Key)」ではなく、「キーの取得 (Get Key)」としてのみ、列を正しく照会するには、アダプターにおいて verb プロパティーを Retrieve にする必要があり、そうすることによって固有 ID に基づいた単一のビジネス・オブジェクトが検索されます。

「キーの検索 (Find Key)」ではなく、「キーの取得 (Get Key)」でなく、列を照会で使用したい場合は、PeopleSoft コンポーネント・インターフェースで結果セットを使用可能にしないでください。結果セットを使用するには、すべての「キーの取得 (Get Key)」列が「キーの検索 (Find Key)」列としても識別されることを確認する必要があります。

第 6 章 ビジネス・アプリケーション・データ・ソース 135

Page 146: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ビジネス・アプリケーション・アダプターにおけるメモリー制限

WebSphere Business Integration Adapter は、メモリーの上限が 2 GB の Java™ 仮想マシン (JVM) で実行します。この上限に達すると、JVM はメモリー例外で停止し、アダプターを再始動する必要があります。

デフォルトで、WebSphere Business Integration Adapter は、2 GB 未満のメモリー制限によって構成されています。これにより、照会によって戻すことが可能な最大結果数が制限されます。この制限は、JVM メモリー制限まで変更することができます。

照会結果がこのメモリー制限の上限に近づいた場合、照会のパラメーターを変更して、戻される結果の数を減らしてください。

ビジネス・アプリケーション・データ・ソースのニックネーム・オプションニックネーム・オプションは、結果セットをサポートするのに使用できます。

ニックネーム・オプション

WebSphere Business Integration ラッパーでは、次の 3 つのニックネーム・オプションを使用して、結果セットをサポートすることができます。

REQUIRE_PREDICATEニックネーム階層のすべての照会で、少なくとも 1 つの入力列に等価述部が含まれるようにするには、Y を指定します。こうして、結果セットのサイズを制限することができます。述部を持たない照会から戻される結果セットのサイズが、JVM メモリー制限を超えないことがわかっている場合には、REQUIRE_PREDICATE ニックネーム・オプションの値を N に設定できます。

RESULTSET_SIZEこのオプションは、アダプターがラッパーに戻すビジネス・オブジェクトの数を指定するのに使用します。デフォルト値は 0 です。これは、照会と一致するすべてのビジネス・オブジェクトが戻されることを示しています。その他の値を指定すると、アダプターは指定された数のビジネス・オブジェクトを戻します。 RESULTSET_SIZE オプションを機能させるには、ラッパー内で結果セットを使用可能にする (RESULTSET_ENABLED を Yes に設定)

必要があります。 RESULTSET_SIZE にゼロ以外の値を指定すると、不完全な結果が戻される可能性があります。指定行を超える行は破棄され、ラッパーからは不完全な結果セットがアプリケーションに戻されたという警告メッセージが発行されます。

ビジネス・アプリケーション・ニックネームのフェデレーテッド・ビューの作成

WebSphere Business Integration ニックネームのフェデレーテッド・ビューを作成して、WebSphere Business Integration ニックネーム階層の各部を結合する照会が正常に実行されるようにします。

手順

136 フェデレーテッド・データ・ソース 構成ガイド

Page 147: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ビジネス・アプリケーション・ニックネームのフェデレーテッド・ビューの作成手順は、以下のとおりです。

1. 各ビジネス・アプリケーション・ニックネームのビューを、親ニックネームへのパス上にあるすべてのニックネームの結合として定義する。

2. ビューの WHERE 文節に、結合述部として PRIMARY_KEY と FOREIGN_KEY

列を定義する。

3. ビューの SELECT リストに、ビジネス・アプリケーション・ニックネームのすべての列を組み込む。ただし、FOREIGN_KEY ニックネーム列オプションによって指定された列は除きます。階層とともに親ニックネームで PRIMARY_KEY

として指定されている SELECT リスト内の列は組み込まないでください。階層の必須入力列を SELECT リストに組み込みます。これらの列は、階層内で他のニックネームに属している可能性があります。

以下に、ビジネス・オブジェクトから生成されたニックネームに基づくビューの例を示します。 WHERE 文節には、CREATE NICKNAME ステートメントで定義されている主キーと外部キーが含まれています。

CREATE VIEW view1 (customer, bankkey, bankact, customerno )AS (SELECT b.customer, b.bank_key, b.bank_acct,a.customernoFROM sap_bapi_customer_getdetail2_NN a,sap_bapi_customer_getdetail2_sap_customerbankdetail_NN bWHERE a.NN__PKEY=b.NN__FKEY);

view1 ビューを使用する照会には、次の例に示すように、必須列の述部値が組み込まれている必要があります。

SELECT * FROM view1WHERE customerno=’1234567890’;

ビジネス・アプリケーション・データ・ソース - 照会の例必須入力列を使用することによって、親ニックネームと子ニックネームの結合、ビューの作成、および照会を行うことができます。

例 1: 親ニックネームと子ニックネームの結合

SELECT ステートメントに子ニックネーム列が含まれている場合、親ニックネームとの結合述部を指定する必要があります。ニックネーム階層内で親子関係を維持するために、この結合条件が必要です。参照される子ニックネームから階層の親ニックネームへの階層関連を組み込むことによって、階層内の各親子ニックネームの対に主キーおよび外部キー結合条件を指定します。

ニックネーム階層を維持するために必要なエレメントすべてが含まれていないので、次の照会は無効です。

SELECT * FROM <child_nickname>;SELECT b.col1FROM <parent_nickname> a,<child_nickname> bWHERE a.required_column=<value>;

次に示すのは、ニックネーム階層が維持された有効な照会の例です。

第 6 章 ビジネス・アプリケーション・データ・ソース 137

Page 148: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

SELECT b.col1, a.colaFROM <parent_nickname> a,<child_nickname> bWHERE a.primary_key_column=b.foreign_key_columnAND a.required_column=<value>;

次の例では、必須の親および子入力列がすべて WHERE 文節内の述部に組み込まれています。この WHERE 文節には、親主キー列と子外部キー列とが等しいことを指定する結合述部が含まれています。

SELECT a.customer, a.name, b.bank_key, b.bank_acctFROM sap_bapi_customer_getdetail2_NN a,sap_bapi_customer_getdetail2_sap_customerbankdetail_NN bWHERE a.nn_pkey=b.nn_fkeyAND a.customer = ’ABC’

例 2: ビュー

以下のタイプのビューを作成することができます。

v 1 つは、子ニックネーム内の列から派生したビューで、照会に親子結合条件を組み込まなくても、直接子ニックネームに対して照会を発行できます。

CREATE VIEW view1 (customer, bankkey, bankact, customerno )AS (SELECT b.customer, b.bank_key, b.bank_acct,a.customernoFROM sap_bapi_customer_getdetail2_NN a,sap_bapi_customer_getdetail2_sap_customerbankdetail_NN bWHERE a.NN__PKEY=b.NN__FKEY);

このビュー定義には、ニックネーム階層の必須入力列 customerno が組み込まれています。ビュー view1 を使用する照会には、次の例に示すように、必須列の述部値が組み込まれている必要があります。

SELECT * FROM view1WHERE customerno=’1234567890’;

v もう 1 つは、主および外部キー列を除く、親および子ニックネームのすべての列を含むグローバル・ビューです。

例 3: 必須入力列

照会には、すべての必須入力列の述部値が組み込まれている必要があります。必須入力列は、ニックネーム TEMPLATE オプション値に TEMPLATE 列オプション定義と参照値 [1,1] が指定されている列です。ラッパーは、述部に必須入力列が組み込まれていない照会すべてに対してエラーを戻します。

次の例は、無効な照会を示しています。customers ニックネームに必須入力列customer_id が含まれています。

SELECT * FROM customers;

次の例は、有効な照会を示しています。

SELECT * FROM customers WHERE customer_id = 123;

次の例は、表 local_table の custid 列にカスタマー IDを含むデータベース内のローカル表を示しています。この例は、WebSphere Business Integration ニックネームとローカル表との間の内部結合です。

138 フェデレーテッド・データ・ソース 構成ガイド

Page 149: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

SELECT a.name, a.addressFROM customers a, local_table bWHERE a.customer_id=b.custid;

第 6 章 ビジネス・アプリケーション・データ・ソース 139

Page 150: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

140 フェデレーテッド・データ・ソース 構成ガイド

Page 151: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 7 章 DB2 ファミリー・データ・ソース

DB2 ファミリー・データ・ソースへのアクセスの構成DB2 ファミリー・データ・ソースにアクセスするようにフェデレーテッド・サーバーを構成するには、アクセスするデータ・ソースとオブジェクトに関する情報をフェデレーテッド・サーバーに提供します。

始める前に

v フェデレーテッド・サーバーのセットアップのチェック

v FEDERATED パラメーターをチェックして、フェデレーションが有効になっていることを確認します。

制約事項

ニックネームは、サポートされる DB2 ファミリーのデータ・ソースにのみ作成できます。フェデレーテッド・サーバーを構成するときにアクセス先に指定できるDB2ファミリーのデータ・ソースのリストについては、サポートされるデータ・ソースのトピックを参照してください。

このタスクについて

DB2 コントロール・センターを使用するか、または DB2 コマンド行で SQL ステートメントを発行することによって、DB2 ファミリーのデータソースに保管されているデータへアクセスするようにフェデレーテッド・サーバーを構成することができます。DB2 コントロール・センターには、必須フェデレーテッド・オブジェクトを構成するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

DB2 データ・ソースをフェデレーテッド・サーバーに追加するには、次のようにします。

1. ノードをカタログします。

2. リモート・データベースをカタログします。

3. ラッパーを登録します。

4. サーバー定義を登録します。

5. ユーザー・マッピングを作成します。

6. DB2 サーバーとの接続をテストします。

7. DB2 の表およびビューのニックネームを登録します。

フェデレーテッド・ノード・ディレクトリーへのノード項目のカタログ

DB2 データ・ソースのロケーションを指すには、フェデレーテッド・サーバーのノード・ディレクトリーに 1 つの項目をカタログします。

© Copyright IBM Corp. 1998, 2006 141

Page 152: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

このタスクについて

フェデレーテッド・サーバーはノード項目を使用して、DB2 データ・ソースへの接続に使用する、適切なアクセス方式を決めます。

手順

フェデレーテッド・ノード・ディレクトリーにノード項目をカタログするには、次のようにします。

TCP/IP を使用するノード項目をカタログするための適切なコマンドを発行します。例:

CATALOG TCPIP NODE コマンドを発行します。

たとえば、次のようにします。

CATALOG TCPIP NODE DB2NODE REMOTE SYSTEM42 SERVER DB2TCP42

DB2NODE 値は、カタログするノードに割り当てる名前です。 REMOTE SYSTEM42

は、データ・ソースが存在するシステムのホスト名です。 SERVER DB2TCP42

は、サービス名または、サーバー・データベース・マネージャー・インスタンスの1 次ポート番号です。サービス名を使用する場合は、大/小文字の区別があります。

フェデレーテッド・サーバー・システム・データベース・ディレクトリーへのリモート・データベースのカタログ

フェデレーテッド・サーバーが接続する DB2データベースを指定する必要があります。リモート・データベースをフェデレーテッド・サーバー・システム・データベース・ディレクトリーにカタログすることによって、データベースを指定します。

手順

リモート・データベースをフェデレーテッド・サーバー・システム・データベース・ディレクトリーにカタログするには、次のようにします。

クライアント構成アシスタント (CCA) を使用して、データベースをカタログします。

コマンド・プロンプトから CATALOG DATABASE コマンドを使用することができます。

たとえば、次のようにします。

CATALOG DATABASE DB2DB390 AS CLIENTS390 AT NODE DB2NODE AUTHENTICATION DCS

値 DB2DB390 は、フェデレーテッド・サーバー・システム・データベース・ディレクトリーにカタログするリモート・データベースの名前です。 AS CLIENTS390

は、カタログするデータベースの別名です。別名を指定していない場合、データベース・マネージャーはデータベース名 (例: DB2DB390) を別名として使用します。AT® NODE DB2NODE は、ノード・ディレクトリーにノード項目をカタログした時に指定したノード名です。 AUTHENTICATION SERVER は、 DB2 データ・ソース・ノードで認証が行われることを指定します。

142 フェデレーテッド・データ・ソース 構成ガイド

Page 153: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

重要: リモート・データベースの名前が 9 文字以上の場合、 CATALOG DCS

DATABASE コマンドを実行して、DCS ディレクトリー項目を作成する必要があります。

たとえば、次のようにします。

CATALOG DCS DATABASE SALES400 AS SALES_DB2DB400

値 SALES400 は、カタログするリモート・データベースの別名です。この名前は、リモート・ノードに関連付けられたフェデレーテッド・サーバー・システム・データベース・ディレクトリーの項目名と一致しなければなりません。これは、CATALOG DATABASE コマンドで入力したのと同じ名前です。 AS

SALES_DB2DB400 は、カタログしたいターゲット・ホスト・データベースの名前です。

DB2 ラッパーの登録DB2 ファミリー・データ・ソースにアクセスするためには、ラッパーを登録する必要があります。ラッパーを介して、フェデレーテッド・サーバーはデータ・ソースとの通信やデータ検索を行います。ラッパーは、ライブラリー・ファイルのセットとしてインプリメントされます。

手順

ラッパーを登録するには、次のようにします。

CREATE WRAPPER ステートメントを発行し、ラッパーにデフォルト名を指定します。DB2ファミリーのデータ・ソース用に使われるデフォルトのラッパー名はDRDA®です。このデフォルト名を使用しない場合は、ラッパーのライブラリー名を指定する必要があります。

たとえば、次のようにします。

CREATE WRAPPER DRDA

このデフォルト名を使用してラッパーを登録する場合、フェデレーテッド・サーバーはそのラッパー名に関連するデフォルトのライブラリー名を自動的に採用するので、ライブラリー名を指定する必要はありません。ラッパー名がフェデレーテッド・データベース内の既存のラッパー名と競合する場合、デフォルトのラッパー名を、指定の名前で置き換えることができます。デフォルト名を使用しない場合は、CREATE WRAPPER ステートメントに LIBRARY パラメーターを含める必要があります。

たとえば、AIX オペレーティング・システムを使用するフェデレーテッド・サーバーで、db2_wrapper という名前のラッパーを登録するには、以下のステートメントを発行します。

CREATE WRAPPER db2_wrapper LIBRARY ’libdb2drda.a’

指定するラッパー・ライブラリー・ファイルの名前は、フェデレーテッド・サーバーのオペレーティング・システムによって異なります。 CREATE WRAPPER ラッパー・ステートメントで指定する正しい名前については、『DB2 ラッパー・ライブラリー・ファイル』のリストを参照してください。

第 7 章 DB2 ファミリー・データ・ソース 143

Page 154: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

DB2 ラッパーのライブラリー・ファイルDB2 ラッパー・ライブラリー・ファイルは、WebSphere Federation Server のインストール時にフェデレーテッド・サーバーに追加されます。

WebSphere Federation Server をインストールすると、デフォルトのディレクトリー・パスに 3 つのライブラリー・ファイルが追加されます。たとえば、フェデレーテッド・サーバーが AIX 上で実行されている場合、ディレクトリー・パスには、libdb2drda.a、libdb2drdaF.a、 および libdb2drdaU.a が追加されます。デフォルトのラッパー・ライブラリー・ファイルは libdb2drda.a です。他のラッパー・ライブラリー・ファイルは特定のラッパー・オプションで使用されます。

ラッパーの登録時にデフォルトのラッパー名を使用しないことにした場合、CREATE WRAPPER ステートメントに LIBRARY パラメーターを含めて、デフォルトのラッパー・ライブラリー・ファイルの名前を指定する必要があります。

以下の表に、デフォルトのディレクトリー・パスとデフォルトのラッパー・ライブラリー・ファイルの名前がリストされています。

表 27. DB2 ラッパーのライブラリーのロケーションおよびファイル名

オペレーティング・システム

ディレクトリー・パス ライブラリー・ファイル名

AIX /usr/opt/install_path/lib32/

/usr/opt/install_path/lib64/

libdb2drda.a

HP-UX /opt/IBM/db2/install_path/lib32

/opt/IBM/db2/install_path/lib64

libdb2drda.sl

Linux /opt/IBM/db2/install_path/lib32

/opt/IBM/db2/install_path/lib64

libdb2drda.so

Solaris /opt/IBM/db2/install_path/lib32

/opt/IBM/db2/install_path/lib64

libdb2drda.so

Windows %DB2PATH%¥bin db2drda.dll

v install_path は、UNIX または Linuxにインストールされている WebSphere

Federation Server のディレクトリー・パスです。

v %DB2PATH% は、Windows にインストールされている WebSphere Federation

Server のディレクトリーを指定するのに使用する環境変数です。デフォルトのWindows ディレクトリー・パスは C:\Program Files\IBM\SQLLIB です。

DB2 データ・ソースのサーバー定義の登録フェデレーテッド・データベース内に、アクセスする各 DB2サーバーを登録する必要があります。サーバー定義を登録すると、フェデレーテッド・サーバーはそのDB2 サーバーに接続し、データベースにパッケージをバインドします。

このタスクについて

フェデレーテッド・サーバーが DB2サーバーに接続するためには、許可およびパスワードの情報が必要です。許可およびパスワードの情報はフェデレーテッド・グローバル・カタログに保管されていないので、それらの情報をサーバー定義に含める必要があります。

144 フェデレーテッド・データ・ソース 構成ガイド

Page 155: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

手順

DB2 データ・ソースのサーバー定義を登録するには、次のようにします。

以下のいずれかの方法で、サーバー定義を登録します。

v DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

v CREATE SERVER ステートメントを発行します。

たとえば、次のようにします。

CREATE SERVER server_definition_name TYPE DB2/ZOS VERSION version_number WRAPPER DRDAAUTHORIZATION "userid" PASSWORD "password"OPTIONS (DBNAME ’database_name’)

’database_name’ 変数の指定は、CREATE SERVER ステートメントではオプションですが、DB2 データ・ソースの場合は必須です。

CREATE SERVER ステートメントを発行すると、フェデレーテッド・サーバーはDB2 データ・ソース・サーバーとの接続をテストします。

サーバー定義の登録後には、ALTER SERVER ステートメントを実行してサーバー・オプションを追加したりドロップしたりできます。

CREATE SERVER ステートメント - DB2 ラッパーの例DRDA ラッパーにサーバー定義を登録するには、CREATE SERVER ステートメントを使用します。必須パラメーターを使用する完全なステートメントの例、およびその他のサーバー・オプションを使用する例が、このトピックには含まれています。

完全指定の例

以下に示すのは、CREATE SERVER ステートメントを使用して、DRDA ラッパーのサーバー定義を登録する方法の例です。

CREATE SERVER DB2SERVER TYPE DB2/ZOS VERSION 7 WRAPPER DRDAAUTHORIZATION "spalten" PASSWORD "db2guru"OPTIONS (DBNAME ’CLIENTS390’)

DB2SERVER

DB2 データベース・サーバーに割り当てる名前。重複するサーバー定義名は使用できません。

TYPE DB2/ZOS

アクセスを構成するデータ・ソース・サーバーのタイプを指定します。

VERSION 7

これは、アクセスしたい DB2 データベース・サーバーのバージョンです。

WRAPPER DRDA

CREATE WRAPPER ステートメントで指定した名前。

第 7 章 DB2 ファミリー・データ・ソース 145

Page 156: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

AUTHORIZATION ″spalten″これは、データ・ソース側での許可 ID です。この ID は、データ・ソース側の BINDADD 権限を持つ必要があります。この値は大/小文字の区別があります。

PASSWORD ″db2guru″これは、データ・ソース側の許可 ID に関連したパスワードです。この値は大/小文字の区別があります。

DBNAME ’CLIENTS390’

これは、アクセスしたい DB2 データベースの別名です。この別名は、CATALOG DATABASE コマンドを使用してデータベースをカタログした時に定義したものです。この値は大/小文字の区別があります。

データベース名変数の指定は、CREATE SERVER ステートメントではオプションですが、DB2 データ・ソースの場合は必須です。

サーバー・オプションの例

サーバー定義の登録時に、CREATE SERVER ステートメントに追加のサーバー・オプションを指定することができます。サーバー・オプションには、汎用のサーバー・オプションと DB2 データ・ソースに特有のサーバー・オプションがあります。

CPU_RATIO オプションは、データ・ソースの CPU がフェデレーテッドの CPU

より、どれほど速いかまたは遅いかを示します。 CPU_RATIO オプションを「0.001」に設定すると、これはリモート・データ・ソースの CPU にフェデレーテッド・サーバー CPU の 1000 倍の能力があることになります。

たとえば、次のようにします。

CREATE SERVER DB2SERVER TYPE DB2/ZOS VERSION 7 WRAPPER DRDAAUTHORIZATION "spalten" PASSWORD "db2guru"OPTIONS (DBNAME ’CLIENTS390’, CPU_RATIO ’0.001’)

DB2 データ・ソースのユーザー・マッピングの作成DB2 サーバーにアクセスする場合、フェデレーテッド・サーバーは、データ・ソースに対して有効なユーザー ID とパスワードを使用して、リモート DB2 サーバーへの接続を確立します。フェデレーテッド・サーバーのユーザー ID とパスワード、および対応するデータ・ソースのユーザー ID とパスワードの間の関連付け(ユーザー・マッピング) を定義しなければなりません。

このタスクについて

フェデレーテッド・システムにアクセスして DB2 データ・ソースへの分散要求を送信するユーザー ID ごとに、ユーザー・マッピングを作成します。

手順

ローカル・ユーザー ID を DB2 サーバーのユーザー ID とパスワードにマップするには、以下のようにします。

CREATE USER MAPPING ステートメントを発行します。

146 フェデレーテッド・データ・ソース 構成ガイド

Page 157: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

たとえば、次のようにします。

CREATE USER MAPPING FOR local_userID SERVER server_definition_nameOPTIONS (REMOTE_AUTHID ’remote_userID’, REMOTE_PASSWORD ’remote_password’)

REMOTE_AUTHID および REMOTE_PASSWORD 変数の指定は、CREATE USER

MAPPING ステートメントではオプションですが、 DB2ファミリーのデータ・ソースにアクセスする場合には必須です。

REMOTE_AUTHID は接続許可 ID であり、バインド許可 ID ではありません。

CREATE USER MAPPING ステートメント - DB2 ラッパーの例CREATE USER MAPPING ステートメントを使用して、フェデレーテッド・サーバーのユーザー ID を DB2 のユーザー ID およびパスワードにマップしてください。このトピックには、必要パラメーターを使用する完全指定の例と、CREATE

USER MAPPING ステートメントで DB2 特殊レジスター USER を使用する方法を示す例が含まれます。

完全指定の例

以下に示すのは、フェデレーテッド・サーバーのユーザー ID を DB2 サーバーのユーザー ID およびパスワードにマップする方法を示す例です。

CREATE USER MAPPING FOR ALONZO SERVER DB2SERVEROPTIONS (REMOTE_AUTHID ’al’, REMOTE_PASSWORD ’day2night’)

ALONZO

DB2 ファミリー・データ・ソース・サーバーで定義されるユーザー ID にマップしようとしているローカルのユーザー ID を指定します。

SERVER DB2SERVER

CREATE SERVER ステートメントで定義した DB2 ファミリー・データ・ソース・サーバーの名前を指定します。

REMOTE_AUTHID ’al’

ALONZO をマップする、DB2 ファミリー・データ・ソース・サーバー側の、接続許可ユーザー ID を指定します。 CREATE SERVER ステートメントで FOLD_ID サーバー・オプションを ’U’ または ’L’ にしている場合を除き、この値の大/小文字の区別を保持するように単一引用符を使用してください。

REMOTE_PASSWORD ’day2night’

’al’ に関連するパスワードを指定します。 CREATE SERVER ステートメントで FOLD_PW サーバー・オプションを ’U’ または ’L’ にしている場合を除き、この値の大/小文字の区別を保持するように単一引用符を使用してください。

特殊レジスターの例

次の例は、特殊レジスター USER を含む CREATE USER MAPPING ステートメントです。

CREATE USER MAPPING FOR USER SERVER DB2SERVEROPTIONS (REMOTE_AUTHID ’al’, REMOTE_PASSWORD ’day2night’)

第 7 章 DB2 ファミリー・データ・ソース 147

Page 158: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

DB2 特殊レジスター USER を使用して、 CREATE USER MAPPING ステートメントを実行した人の許可 ID を、REMOTE_AUTHID ユーザー・オプションに指定されたデータ・ソースの許可 ID にマップすることができます。

DB2 データ・ソース・サーバーへの接続のテストDB2データ・ソースへアクセスするようにフェデレーテッド・サーバーが適正に構成されているかどうかを判別するには、DB2データ・ソース・サーバーへの接続をテストします。

このタスクについて

サーバー定義および定義したユーザー・マッピングを使用して、DB2 サーバーへの接続をテストできます。

手順

DB2 サーバーへの接続をテストするには、次のようにします。

パススルー・セッションを開き、DB2 システム表に対して SQL SELECT ステートメントを発行します。 SQL SELECT ステートメントがカウントを戻す場合、サーバー定義およびユーザー・マッピングは適切にセットアップされています。SELECT ステートメントがエラーを戻す場合には、接続エラーのトラブルシューティングをする必要があります。

DB2 ファミリー・データ・ソース 例

DB2 for z/OSand OS/390 の場合 SET PASSTHRU server_definition_name

SELECT count(*) FROM sysibm.systables

SET PASSTHRU RESET

DB2 for iSeriesの場合 SET PASSTHRU server_definition_name

SELECT count(*) FROM qsys2.systables

SET PASSTHRU RESET

DB2 表およびビューのニックネームの登録登録するそれぞれの DB2 サーバー定義で、アクセスしたいそれぞれの表またはビューごとにニックネームを登録する必要があります。 DB2 サーバーを照会するときには、データ・ソース・オブジェクトの名前ではなく、これらのニックネームを使用します。

始める前に

ニックネームを登録する前に、DB2データ・ソース側で統計を更新します。フェデレーテッド・データベースは、データ・ソースのカタログ統計に基づいて、照会処理を最適化します。 DB2RUNSTATSコマンドに相当するデータ・ソース・コマンドを使用して、データ・ソースの統計を更新します。

制約事項

DB2 別名にニックネームを作成することはできません。

手順

148 フェデレーテッド・データ・ソース 構成ガイド

Page 159: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

DB2 表またはビューにニックネームを登録するには、次のようにします。

CREATE NICKNAME ステートメントを発行します。ニックネームの長さは 128 文字までです。

たとえば、次のようにします。

CREATE NICKNAME nickname FOR server_definition_name."remote_schema"."remote.table"

ニックネームを作成すると、フェデレーテッド・サーバーはニックネームを使用してデータ・ソース・カタログを照会します。この照会は、データベース・ソースのへの接続をテストします。接続不可能な場合、エラー・メッセージが出ます。

ニックネームを作成したい DB2 の表またはビューごとに、このステップを繰り返します。

CREATE NICKNAME ステートメント - DB2 ラッパーの例アクセス先の DB2表またはビューのニックネームを登録するには、CREATE

NICKNAME ステートメントを使用します。必須パラメーターを使用する完全なステートメントの例が、このトピックには含まれています。

完全指定の例CREATE NICKNAME DB2SALES FOR DB2SERVER.VINNIE.EUROPE

DB2SALES

DB2 の表またはビューを識別するために使用する固有なニックネームです。ニックネームは、2 つの部分 (スキーマとニックネーム) からなる名前です。ニックネームの登録時にスキーマを省略すると、そのニックネームのスキーマはニックネームを登録するユーザーの許可 ID になります。

DB2SERVER.VINNIE.EUROPE

リモート・オブジェクトを表す、3 つの部分からなる ID。

v DB2SERVER は、CREATE SERVER ステートメントで DB2 データベース・サーバーに割り当てた名前です。

v VINNIEは、表またはビューが属する所有者のユーザー ID です。この値は大/小文字の区別があります。

v EUROPE は、アクセスしたいリモートの表またはビューの名前です。

第 7 章 DB2 ファミリー・データ・ソース 149

Page 160: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

150 フェデレーテッド・データ・ソース 構成ガイド

Page 161: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 8 章 Entrez データ・ソース

Entrez データ・ソースへのアクセスの構成フェデレーテッド・システムを使用すると、Entrez データベースにあるデータと他のソースからの情報を統合させることができます。

フェデレーテッド・サーバーが Entrez データ・ソースにアクセスするように構成するには、アクセスするデータ・ソースとオブジェクトの情報をフェデレーテッド・サーバーに渡す必要があります。フェデレーテッド・サーバーを構成すると、照会を作成し、カスタム関数を使用して、Entrez データ・ソースにアクセスできます。

Entrez ラッパーEntrez は、 National Center for Biotechnology Information (NCBI) の開発した照会および検索システムです。 Entrez ラッパーを使用すれば、 NCBI がホストする複数のリンクされたデータベースにアクセスできます。

Entrez のどのデータベースにも、 Web ベースのある統一ツール・セットを使用してアクセスできます。 Entrez ラッパーは、それらのツールを使用することによって、 Entrez データベースを統合します。

Entrez インターフェースでは数多くのデータベースがサポートされていますが、Entrez ラッパーがアクセスをサポートするのは、以下のデータベースに対してのみです。

v Nucleotide。これは GenBank とも呼ばれるシーケンス・データベースです。

v OMIM。John Hopkins 大学による Online Mendelian Inheritance in Man データベースです。

v PubMed。医学的文献が含まれるデータベースです。

© Copyright IBM Corp. 1998, 2006 151

Page 162: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Entrez ラッパーを構成するエレメントの多くは、全データベースに共通です。そのようなエレメントとしては、次のものがあります。

v NCBI との Web 接続、および Entrez の ESearch および EFetch ユーティリティー

v 階層 XML データからリレーショナル表へのマッピング

v XML ラッパー・テクノロジーによる関連した表の結合

図 13. Entrez ラッパーがどのように機能するか

152 フェデレーテッド・データ・ソース 構成ガイド

Page 163: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

フェデレーテッド・サーバーへの Entrez データ・ソースの追加Entrez データ・ソースにアクセスするようにフェデレーテッド・サーバーを構成するには、Entrez データベースにカスタム関数、ラッパー、サーバー定義、ユーザー・マッピング、およびニックネームを登録する必要があります。

始める前に

v IBM WebSphere Federation Server が、フェデレーテッド・サーバーとして機能するサーバーにインストールされている必要があります。

v フェデレーテッド・データベースが、フェデレーテッド・サーバー上になければなりません。

このタスクについて

ネットワークでファイアウォールを使用する場合、ネットワークにプロキシー・サーバーが含まれていれば Entrez ラッパーは Nucleotide、OMIM、および PubMed の各データベースにアクセスすることができます。 Entrez ラッパーは、HTTP プロキシーおよび SOCKS プロキシーをサポートしています。

コントロール・センターを使用するか、コマンド行で SQL ステートメントを発行することによって、Entrez データ・ソースに保管されているデータにアクセスするようにフェデレーテッド・サーバーを構成できます。コントロール・センターには、必須フェデレーテッド・オブジェクトを構成するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

Entrez のデータ・ソースをフェデレーテッド・サーバーに追加するには、以下のようにします。

1. Entrez ラッパーのカスタム関数を登録します。

2. Entrez ラッパーを登録します。

3. サーバー定義を登録します。

4. ユーザー・マッピングを登録します (オプション)。

5. ニックネームを登録します。

Entrez ラッパーのカスタム関数の登録Entrez ラッパーを登録する前に、Entrez カスタム関数を登録する必要があります。Entrez カスタム関数は Entrez ラッパーとともに使用され、Entrez 照会エンジンに述部を送信します。

このタスクについて

Entrez ラッパーがインストールされている各フェデレーテッド・データベース・インスタンスにカスタム関数をすべて登録する必要があります。

Entrez ラッパーのカスタム関数はすべて、ENTREZ というスキーマ名を使用して登録する必要があります。

第 8 章 Entrez データ・ソース 153

Page 164: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ヒント: コントロール・センターの「フェデレーテッド・オブジェクト (Federated

Objects)」ウィザードを使用して Entrez ラッパー、サーバー定義、およびニックネームを登録する場合、Entrez カスタム関数は自動的に作成されます。このウィザードを使用しない場合は、コマンド行からカスタム関数を登録しなければなりません。

手順

Entrez カスタム関数を登録するには、Entrez ラッパーがインストールされている各フェデレーテッド・データベース・インスタンスに対してcreate_function_mappings.ddl ファイルを実行する必要があります。

create_function_mappings.ddl ファイルはフェデレーテッド・サーバーのsqllib/samples/lifesci/entrez ディレクトリーにあります。このファイルには、それぞれの Entrez ラッパーのカスタム関数ごとの CREATE FUNCTION ステートメントが含まれています。

create_function_mappings.ddl ファイルの CREATE FUNCTION ステートメントには、AS TEMPLATE、DETERMINISTIC、および NO EXTERNAL ACTION キーワードが含まれています。

Entrez ラッパーのカスタム関数Entrez カスタム関数を登録するときは特定のキーワードを含める必要があります。

フェデレーテッド環境は 2 つの照会エンジンを使用します。Entrez ラッパーの場合、フェデレーテッド・データベース照会エンジンと Entrez 照会エンジンがそれに当たります。 SELECT ステートメントの WHERE 文節に Entrez カスタム関数を使用して、述部が Entrez エンジンに送信されるように指定することができます。

Entrez ラッパーのカスタム関数は以下のとおりです。

v ENTREZ.CONTAINS

v ENTREZ.SEARCH_TERM

ENTREZ カスタム関数は、column_name 引数のそれぞれの有効なデータ・タイプごとに個別に登録されなければなりません。以下の表に、ENTREZ カスタム関数に指定できるデータ・タイプがリストされています。

表 28. ENTREZ カスタム関数に有効なデータ・タイプ

OMIM.CONTAINS カスタム関数 ENTREZ.SEARCH_TERM カスタム関数

ENTREZ.CONTAINS (VARCHAR(),

VARCHAR())

ENTREZ.SEARCH_TERM (CHAR(),

VARCHAR())

ENTREZ.CONTAINS (INTEGER,

VARCHAR())

ENTREZ.CONTAINS (SMALLINT,

VARCHAR())

ENTREZ.CONTAINS (REAL, VARCHAR())

ENTREZ.CONTAINS (DOUBLE, VARCHAR())

ENTREZ.CONTAINS (DATE, VARCHAR())

154 フェデレーテッド・データ・ソース 構成ガイド

Page 165: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 28. ENTREZ カスタム関数に有効なデータ・タイプ (続き)

OMIM.CONTAINS カスタム関数 ENTREZ.SEARCH_TERM カスタム関数

ENTREZ.CONTAINS (TIME, VARCHAR())

ENTREZ.CONTAINS (CHAR(), VARCHAR())

ENTREZ.CONTAINS (TIMESTAMP(),

VARCHAR())

OMIM.CONTAINS カスタム関数

ENTREZ.CONTAINS 関数の構文例は以下のとおりです。

CREATE FUNCTION ENTREZ.CONTAINS(column_name_data_type, search_value_data_type)

RETURNS INTEGER AS TEMPLATEDETERMINISTIC NO EXTERNAL ACTION;

ENTREZ.SEARCH_TERM カスタム関数

ENTREZ.SEARCH_TERM カスタム関数の構文例は以下のとおりです。

CREATE FUNCTION ENTREZ.SEARCH_TERM(parent_nickname_primary_key_data_type, search_value_data_type)

RETURNS INTEGER AS TEMPLATEDETERMINISTIC NO EXTERNAL ACTION;

Entrez ラッパーの登録Entrez データベースにアクセスするためには、ラッパーを登録する必要があります。ラッパーは、データ・ソースとの通信やデータの検索のためにフェデレーテッド・サーバーによって使用されます。ラッパーは、ライブラリー・ファイルのセットとしてインプリメントされます。

このタスクについて

ラッパーは、コントロール・センターを使用するか、またはコマンド行から登録できます。コントロール・センターには、ラッパーを登録するために必要なステップを順番に提供するウィザードが組み込まれています。

プロキシー・サーバーおよび鍵ストアを使用して Entrez ファイルにアクセスする場合、ラッパーまたはサーバー定義を登録するときに鍵ストア情報をオプションとして指定できます。ラッパーの登録時に鍵ストア情報を指定すると、Entrez ファイルを照会する際にこの設定が使用されます。サーバー定義の登録時に別の設定を指定すると、ラッパー設定は使用されません。

手順

Entrez ラッパーを登録するには、次のようにします。

手順

第 8 章 Entrez データ・ソース 155

Page 166: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Entrez ラッパーを登録するのに使用する方法を選択します。

方法 手順

コントロール・センターの使用 「フェデレーテッド・オブジェクト」ウィザードを開始します。「フェデレーテッド・データベース・オブジェクト」フォルダーを右マウス・ボタンでクリックし、フェデレーテッド・オブジェクトの作成をクリックします。

コマンド行からの登録 CREATE WRAPPER ステートメントを発行します。

CREATE WRAPPER wrapper_nameLIBRARY library_nameOPTIONS(EMAIL ’email_address’);

プロキシー・サーバーを使用して Entrez ドキュメントにアクセスする場合、次のステートメントを実行します。

CREATE WRAPPER wrapper_nameLIBRARY library_nameOPTIONS (EMAIL ’email_address’,PROXY_TYPE ’type’,PROXY_SERVER_NAME ’server_name’,PROXY_SERVER_PORT ’port_number’);

LIBRARY パラメーターを CREATE WRAPPER ステートメント内に指定する必要があります。指定するラッパー・ライブラリー・ファイルの名前は、フェデレーテッド・サーバーのオペレーティング・システムによって異なります。CREATEWRAPPER ラッパー・ステートメントで指定する正しいライブラリー名については、『Entrez ラッパー・ライブラリー・ファイル』のリストを参照してください。

Entrez ファイルにアクセスするためにプロキシー・サーバーまたは鍵ストアを使用する場合、Entrez ラッパーの登録時にいくつかのラッパー・オプションを指定しなければなりません。

ラッパーを登録する際には、E メール・アドレスを指定する必要があります。指定する E メール・アドレスはすべての照会に含められ、照会が多すぎて NCBI サーバーが過負荷になるなどの問題が生じる場合に、 NCBI が連絡を取れるようにします。

Entrez ラッパーのライブラリー・ファイルEntrez ラッパー・ライブラリー・ファイルは、IBM WebSphere Federation Server のインストール時にフェデレーテッド・サーバーに追加されます。

IBM WebSphere Federation Server をインストールすると、Entrez ラッパーのデフォルトのディレクトリー・パスに 3 つのライブラリー・ファイルが追加されます。たとえば、フェデレーテッド・サーバーが AIX で実行されている場合、ディレクトリー・パスに追加されるラッパーのライブラリー・ファイルは、libdb2lsentrez.a、libdb2lsentrezF.a、および libdb2lsentrezU.a です。

156 フェデレーテッド・データ・ソース 構成ガイド

Page 167: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

デフォルトのラッパー・ライブラリー・ファイルは libdb2lsentrez.a で、他の 2 つのラッパー・ライブラリー・ファイルは特定のラッパー・オプションで使用されます。

Entrez ラッパーをコマンド行から登録する場合、CREATE WRAPPER ステートメントに LIBRARY パラメーターを含め、デフォルトのラッパー・ライブラリー・ファイルの名前を指定する必要があります。

以下の表に、デフォルトのディレクトリー・パスとデフォルトのラッパー・ライブラリー・ファイルの名前がリストされています。

表 29. Entrez ラッパー・ライブラリー・ファイルの場所と名前

オペレーティング・システム

デフォルトのディレクトリー・パス デフォルトのラッパー・ライブラリー・ファイル

AIX /usr/opt/<install_path>/lib32/

/usr/opt/<install_path>/lib64/

libdb2lsentrez.a

Linux /opt/IBM/db2/<install_path>/lib32

/opt/IBM/db2/<install_path>/lib64

libdb2lsentrez.so

Solaris /opt/IBM/db2/<install_path>/lib32

/opt/IBM/db2/<install_path>/lib64

libdb2lsentrez.so

Windows %DB2PATH%¥bin db2lsentrez.dll

<install_path> は、IBM WebSphere Federation Server が UNIX または Linux にインストールされる場合のディレクトリー・パスです。

%DB2PATH% は、IBM WebSphere Federation Server が Windows にインストールされる場合のディレクトリー・パスを指定するのに使用される環境変数です。デフォルトの Windows ディレクトリー・パスは、C:¥Program Files¥IBM¥SQLLIB です。

CREATE WRAPPER ステートメント - Entrez ラッパーの例Entrez ラッパーを登録するには、CREATE WRAPPER ステートメントを使用します。この例では、プロキシー・サーバーを使用するかどうかにかかりなく、Entrez

ドキュメントにアクセスするのに必要なパラメーターを示しています。

ラッパーの登録

プロキシー・サーバーを使用せずに Entrez ドキュメントにアクセスする場合、次のステートメントを実行して、ラッパーを登録します。

CREATE WRAPPER entrez_wrapper LIBRARY ’libdb2lsentrez.a’;

entrez_wrapper

Entrez ラッパーに割り当てる名前。重複するラッパー名は使用できません。

LIBRARY ’libdb2lsentrez.a’

AIX オペレーティング・システムを使用するフェデレーテッド・サーバーのラッパー・ライブラリー・ファイルの名前。

第 8 章 Entrez データ・ソース 157

Page 168: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

HTTP プロキシー・サーバーのラッパーの登録

ラッパーを登録して、HTTP プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE WRAPPER entrez_wrapper LIBRARY ’libdb2lsentrez.a’OPTIONS (PROXY_TYPE ’HTTP’, PROXY_SERVER_NAME ’proxy_http’,PROXY_SERVER_PORT ’8080’);

PROXY_TYPE ’HTTP’

フェデレーテッド・サーバーがファイアウォールで保護された状態でインターネットにアクセスする際に使用する、プロキシー・タイプを指定します。有効値は、’NONE’、’HTTP’、および ’SOCKS’ です。

PROXY_SERVER_NAME ’proxy_http’

プロキシー・サーバー名または IP アドレスを指定します。 PROXY_TYPE

サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

PROXY_SERVER_PORT ’8080’

プロキシー・サーバーのポート番号を指定します。 PROXY_TYPE サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

SOCKS プロキシー・サーバーのラッパーの登録

ラッパーを登録して、認証情報のない SOCKS プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE WRAPPER entrez_wrapper LIBRARY ’libdb2lsentrez.so’OPTIONS (PROXY_TYPE ’SOCKS’, PROXY_SERVER_NAME ’proxy_socks’,PROXY_SERVER_PORT ’1081’);

LIBRARY ’libdb2lsentrez.so’

Linux および Solaris オペレーティング・システムを使用するフェデレーテッド・サーバーのラッパー・ライブラリー・ファイルの名前。

PROXY_TYPE ’SOCKS’

フェデレーテッド・サーバーがファイアウォールで保護された状態でインターネットにアクセスする際に使用する、プロキシー・タイプを指定します。有効値は、’NONE’、’HTTP’、および ’SOCKS’ です。

PROXY_SERVER_NAME ’proxy_socks’

プロキシー・サーバー名または IP アドレスを指定します。 PROXY_TYPE

サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

PROXY_SERVER_PORT ’1081’

プロキシー・サーバーのポート番号を指定します。 PROXY_TYPE サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

158 フェデレーテッド・データ・ソース 構成ガイド

Page 169: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CREATE SERVER ステートメント - Entrez ラッパーの例Entrez ラッパーにサーバー定義を登録するには、CREATE SERVER ステートメントを使用します。このトピックには、必須パラメーターを使用する例、およびプロキシー・サーバーで必須選択のサーバー・オプションを使用する例が含まれています。

必須パラメーター

次に、CREATE SERVER ステートメントを実行して Entrez ラッパーのサーバー定義を登録する方法の例を示します。

CREATE SERVER nucleotide_server1TYPE NucleotideWRAPPER entrez_wrapper;

nucleotide_server1

Entrez サーバーに割り当てる名前。重複するサーバー定義名は使用できません。

TYPE Nucleotide

データ・ソースのタイプを指定します。サーバー・タイプの有効値は、Nucleotide、OMIM、および PubMed です。これらの値は大文字小文字を区別しません。

WRAPPER entrez_wrapper

CREATE WRAPPER ステートメントで、登録したラッパー名を指定します。

OMIM データ・ソースのサーバー定義のサンプル

次に、CREATE SERVER ステートメントを実行して Entrez ラッパーのサーバー定義を登録する方法の例を示します。

CREATE SERVER omim_server1TYPE OMIMWRAPPER entrez_wrapper;

omim_server1

Entrez サーバーに割り当てる名前。重複するサーバー定義名は使用できません。

TYPE OMIM

データ・ソースのタイプを指定します。サーバー・タイプの有効値は、Nucleotide、OMIM、および PubMed です。これらの値は大文字小文字を区別しません。

WRAPPER entrez_wrapper

CREATE WRAPPER ステートメントで、登録したラッパー名を指定します。

プロキシー・サーバーの例

Entrez データ・ソースにはプロキシー・サーバーを介してアクセスできます。以下の例は、認証情報とともに SOCKS プロトコルを使用するプロキシー・サーバーのサーバー定義を登録します。

第 8 章 Entrez データ・ソース 159

Page 170: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CREATE SERVER pubmed_server_s5TYPE PUBMEDVERSION 1.0WRAPPER entrez_wrapperOPTIONS (PROXY_TYPE ’SOCKS’, PROXY_SERVER_NAME ’proxy_5’,PROXY_SERVER_PORT ’1081’, PROXY_AUTHID ’Khalid’,PROXY_PASSWORD ’good2go’);

pubmed_server_s5

Entrez サーバーに割り当てる名前。重複するサーバー定義名は使用できません。

TYPE PUBMED

データ・ソースのタイプを指定します。サーバー・タイプの有効値は、Nucleotide、OMIM、および PubMed です。これらの値は大文字小文字を区別しません。

VERSION 1.0

使用しようとする NCBI XML スキーマのバージョンを指定します。この引数はオプションです。サーバーのバージョンを指定しない場合、デフォルト値は 1.0 です。

WRAPPER entrez_wrapper

CREATE WRAPPER ステートメントで、登録したラッパー名を指定します。

PROXY_TYPE ’SOCKS’

プロキシー・サーバーのタイプを指定します。この値は、単一引用符で囲む必要があります。

PROXY_SERVER_NAME ’proxy_5’

プロキシー・サーバーの名前を指定します。この値は、単一引用符で囲む必要があります。

PROXY_SERVER_PORT ’1081’

プロキシー・サーバーのポート番号を指定します。この値は、単一引用符で囲む必要があります。

PROXY_AUTHID ’Khalid’

プロキシー・サーバーのユーザー ID を指定します。この値は、単一引用符で囲む必要があります。この値は大文字小文字の区別があります。

PROXY_PASSWORD ’good2go’

’Khalid’ に関連したプロキシー・サーバーのパスワードを指定します。この値は、単一引用符で囲む必要があります。この値は大文字小文字の区別があります。

プロキシー・サーバーを使用した Entrez へのアクセスご使用のネットワークがプロキシー・サーバーを使用している場合、Entrez データ・ソース用のラッパーまたはサーバー定義を登録するときにプロキシー・サーバーに関する情報を指定する必要があります。

指定するオプションは、アクセスするプロキシー・サーバーのタイプによって、さらには Secure Socket Layer (SSL) プロトコルまたは Transport Layer Security (TLS)

プロトコルを使用しているかどうかによって異なります。

160 フェデレーテッド・データ・ソース 構成ガイド

Page 171: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ラッパーまたはサーバー定義の登録時に、プロキシー・オプションおよび SSL オプションを指定できます。

v ラッパーの登録時にこうしたオプションを指定すると、そのラッパーに関連付けられているニックネームが、ラッパーに設定されるこれらのオプションを使用します。

v サーバー定義の登録時にこうしたオプションを指定すると、そのサーバー定義に関連付けられているニックネームが、サーバー定義に設定されるこれらのオプションを使用します。

v ラッパーとサーバー定義の登録時にこうしたオプションに別々の値を指定すると、サーバー定義に設定した値がラッパーに設定された値よりも優先されます。

プロキシー・サーバー・オプション

以下の表には、それぞれのタイプのプロキシー・サーバーに指定する必要があるオプションがリストされています。

表 30. プロキシー・サーバーで必要なオプション

プロキシー・サーバーのタイプ必要なラッパーまたはサーバー・オプション

認証のない HTTP または SOCKS PROXY_TYPE

PROXY_SERVER_NAME

PROXY_SERVER_PORT

認証のある HTTP または SOCKS PROXY_TYPE

PROXY_SERVER_NAME

PROXY_SERVER_PORT

PROXY_AUTHID

PROXY_PASSWORD

サーバー定義の登録時に、プロキシー・サーバーに必要なサーバー・オプションの他に SOCKET_TIMEOUT サーバー・オプションを指定することもできます。SOCKET_TIMEOUT サーバー・オプションは、フェデレーテッド・サーバーがプロキシー・サーバーからの結果を待つ最大時間を分単位で指定します。SOCKET_TIMEOUT サーバー・オプションを指定しない場合は時間制限なしとなり、フェデレーテッド・サーバーはプロキシー・サーバーからの結果を無制限に待つことになります。

Entrez データ・ソースのニックネームEntrez データベースのデータにアクセスするには、アクセスする各データベースのニックネームの固定されたリストを登録する必要があります。

各 Entrez データベースには、階層に編成されている、固定された表集合があります。それぞれの表には、固定されたフィールド集合があります。データベース内で他のすべての表の親である 1 つの表は、ルート表または親表と呼ばれます。データベース内の他の表すべては、このルート表との間で親子関係を持っています。

Entrez データベースのニックネームは類似した階層構造を使用し、それぞれのニックネームには固定された列のリストが含まれています。

第 8 章 Entrez データ・ソース 161

Page 172: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ニックネーム用に事前定義された名前のセットを使用するか、ニックネームに代替名を指定できます。

Nucleotide データベースのニックネームNucleotide データベース内のフィールドは、フェデレーテッド・サーバーに保管されているニックネームのセットにマップされます。

Entrez ラッパーが照会を Nucleotide データベースに送信する場合、Nucleotide データベースから戻されるデータは XML 形式になります。Entrez ラッパーは、XML

データの階層構造を Nucleotide ニックネームにマップします。

ニックネームにデフォルト名を使用することができます。

それぞれの Nucleotide ニックネームは、Nucleotide データベース内のフィールドのグループを表します。各ニックネームには固定された列のリストが含まれており、ニックネームは階層関係に編成されます。

ニックネームの階層のトップは GBSeq ニックネームです。 GBSeq ニックネームは、他のすべてのニックネームの親であり、ルート・ニックネームと呼ばれます。その他のニックネームはすべて、このルート・ニックネームに帰着する親子関係にあります。

以下の表は、ニックネームの Nucleotide 階層における、GBSeq ニックネームとその他のニックネームの関係を示しています。

表 31. ニックネームの Nucleotide 階層

ニックネーム 親

GBSeq なし。GBSeq はルート・ニックネームです。

GBFeatures GBSeq

GBIntervals GBFeatures

GBQualifiers GBFeatures

GBReference GBSeq

子ニックネームを照会する場合、それぞれの子ニックネームと、親ニックネーム間の結合を作成する必要があります。

OMIM データベースのニックネームOMIM データベース内のフィールドは、フェデレーテッド・サーバーに保管されているニックネームのセットにマップされます。

Entrez ラッパーが照会を OMIM データベースに送信する場合、OMIM データベースから戻されるデータは XML 形式になります。Entrez ラッパーは、XML データの階層構造を OMIM ニックネームにマップします。

それぞれの OMIM ニックネームは、OMIM データベース内のフィールドのグループを表します。各ニックネームには固定された列のリストが含まれており、ニックネームは階層関係に編成されます。

162 フェデレーテッド・データ・ソース 構成ガイド

Page 173: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ニックネームの階層のトップは OMIM ニックネームです。 OMIM ニックネームは、他のすべてのニックネームの親であり、ルート・ニックネームと呼ばれます。その他のニックネームはすべて、このルート・ニックネームに帰着する親子関係にあります。

以下の表は、ニックネームの OMIM 階層における、OMIM ニックネームとその他のニックネームの関係を示しています。

図 14. OMIM ニックネームの階層

第 8 章 Entrez データ・ソース 163

Page 174: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 32. ニックネームの OMIM 階層

ニックネーム 親

OMIM なし。OMIM はルート・ニックネームです。

OMIM_Alias OMIM

OMIM_Allelic_Variant OMIM

OMIM_Allelic_Variant_Description OMIM_Allelic_Variant

OMIM_Allelic_Variant_Description_UID OMIM_Allelic_Variant_Description

OMIM_Clinical_Synopsis OMIM

OMIM_Contributors OMIM

OMIM_Edit_History OMIM

OMIM_Links OMIM

OMIM_Links_UID OMIM_Links

OMIM_References OMIM

OMIM_See_Also OMIM

OMIM_Text OMIM

OMIM_Text_UID OMIM_Text

子ニックネームを照会する場合、それぞれの子ニックネームと、それに対応する親ニックネーム間の結合をルート・ニックネームにまで遡って作成する必要があります。

例えば、OMIM_Allelic_Variant_Description ニックネームを照会する場合、OMIM_Allelic_Variant_Description ニックネーム (子) を OMIM_Allelic_Variant ニックネーム (親) と結合し、OMIM_Allelic_Variant ニックネーム (子) を OMIM ニックネーム (親) と結合する必要があります。

PubMed データベースのニックネームPubMed データベース内のフィールドは、フェデレーテッド・サーバーに保管されているニックネームのセットにマップされます。

Entrez ラッパーが照会を PubMed データベースに送信する場合、PubMed データベースから戻されるデータは XML 形式になります。Entrez ラッパーは、XML データの階層構造を PubMed ニックネームにマップします。

それぞれの PubMed ニックネームは、PubMed データベース内のフィールドのグループを表します。各ニックネームには固定された列のリストが含まれており、ニックネームは階層関係に編成されます。

ニックネームの階層のトップは PMARTICLES ニックネームです。 PMARTICLES

ニックネームは、他のすべてのニックネームの親であり、ルート・ニックネームと呼ばれます。その他のニックネームはすべて、このルート・ニックネームに帰着する親子関係にあります。

以下の表は、ニックネームの PubMed 階層における、PMARTICLES ニックネームとその他のニックネームの関係を示しています。

164 フェデレーテッド・データ・ソース 構成ガイド

Page 175: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CREATE NICKNAME PMARTICLES FOR SERVER pubmed_server;CREATE NICKNAME PMACCESSION FOR SERVER pubmed_server;CREATE NICKNAME PMCHEMICAL FOR SERVER pubmed_server;CREATE NICKNAME PMMESH FOR SERVER pubmed_server;CREATE NICKNAME PMCOMMENTS FOR SERVER pubmed_server;CREATE NICKNAME PMARTICLEID FOR SERVER pubmed_server;

表 33. ニックネームの PubMed 階層

ニックネーム 親

PMARTICLES なし。PMARTICLES はルート・ニックネームです。

PMACCESSION PMARTICLES

PMCHEMICAL PMARTICLES

PMMESH PMARTICLES

PMCOMMENTS PMARTICLES

PMARTICLEID PMARTICLES

子ニックネームを照会する場合、それぞれの子ニックネームと、親ニックネーム間の結合を作成する必要があります。

Entrez ニックネームの代替名フェデレーテッド・サーバーの表の Entrez ニックネームに 1 つ以上の事前定義された名前のセットを使用する場合、Entrez ニックネームに代替名を指定する必要があります。

Entrez ニックネームに事前定義された名前のセット以外の名前を指定する場合は、CREATE NICKNAME ステートメントにニックネーム・オプションを含める必要があります。こうしたニックネーム・オプションは、登録しているニックネームに関連付けられた事前定義されたニックネームを識別します。

REMOTE_OBJECT ニックネーム・オプションは、Entrez ニックネームに事前定義された名前を指定します。Entrez ニックネームに他の名前を指定するときは常に、REMOTE_OBJECT ニックネーム・オプションを含めなければなりません。

ルート・ニックネームの場合は、REMOTE_OBJECT ニックネーム・オプションのみを指定する必要があります。それ以外のニックネームの場合は常に、REMOTE_OBJECT オプションと PARENT オプションの両方を指定する必要があります。

ルート・ニックネームの代替名の指定

たとえば、フェデレーテッド・サーバーに OMIM という名前の表がある場合、次のようにして、ルート・ニックネーム OMIM を別の名前 (たとえば omim_nn) で登録する必要があります。

CREATE NICKNAME omim_nn FOR SERVER omim_server1OPTIONS (REMOTE_OBJECT ’omim’);

子ニックネームの代替名の指定

フェデレーテッド・サーバーに OMIM_ALLELIC_VARIANT という名前の表がある場合、次のようにして、OMIM_ALLELIC_VARIANT ニックネームを別の名前 (た

第 8 章 Entrez データ・ソース 165

Page 176: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

とえば omim_av_nn) で登録する必要があります。 REMOTE_OBJECT ニックネーム・オプションで、ニックネームの事前定義された名前を識別しなければなりません。 PARENT ニックネーム・オプションで、親ニックネーム (ルート・ニックネーム) を識別することも必要です。例:

CREATE NICKNAME omim_av_nn FOR SERVER omim_server1OPTIONS (REMOTE_OBJECT ’omim_allelic_variant’, PARENT ’OMIM_NN’);

登録しているニックネームが子ニックネームであるときには常に PARENT ニックネーム・オプションを含める必要があります。フェデレーテッド・サーバーは、ニックネームの登録時に親ニックネームを大文字に変換します。ただし、ニックネームの名前を二重引用符で囲む場合は例外です。

例:

v 親ニックネームの登録時に、名前 omim_nn を指定します。子ニックネームの登録時には、PARENT ニックネーム・オプションの値に ’OMIM_NN’ を指定する必要があります。

v 親ニックネームの登録時に、名前 ″omim_nn″ を指定します。子ニックネームの登録時には、PARENT ニックネーム・オプションの値に ’omim_nn’ を指定する必要があります。

事前定義された親ニックネームを持つ子ニックネームの代替名の指定

親ニックネームの登録時に事前定義された名前を使用した場合、次のようにして、PARENT ニックネーム・オプションで事前定義された名前を指定します。

CREATE NICKNAME omim_av_nn FOR SERVER omim_server1OPTIONS (REMOTE_OBJECT ’omim_allelic_variant’, PARENT ’OMIM’);

Entrez データ・ソースのユーザー・マッピングの作成 (オプション)Entrez サーバーにアクセスする場合、フェデレーテッド・サーバーは Entrez サーバーへの接続を確立します。フェデレーテッド・システムが Entrez データ・ソースにアクセスするためにプロキシー・サーバーを使用する場合には、ユーザー・マッピングを作成する必要があります。

ユーザー・マッピングとは、それぞれのフェデレーテッド・サーバーのユーザー ID

とパスワード、および対応するデータ・ソースのユーザー ID とパスワードの間の関連付けのことです。

このタスクについて

フェデレーテッド・システムでユーザー・マッピングを指定するには、2 つの方法があります。LDAP などの外部リポジトリーを使用してユーザー・マッピングを保管するか、フェデレーテッド・データベース・カタログにユーザー・マッピングを作成できます。

ユーザー・マッピングを保管する LDAP などの外部リポジトリーがある場合には、ユーザー・マッピングを作成する必要はありません。Entrez ラッパーでDB2_UM_PLUGIN オプションを指定する必要があります。ラッパーの登録時または変更時に、このオプションを指定できます。

手順

166 フェデレーテッド・データ・ソース 構成ガイド

Page 177: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ローカルのユーザー ID を、Entrez サーバーのユーザー ID とパスワードにマップするには、以下のようにします。

ユーザー・マッピングを登録するのに使用する方法を選択します。

方法 手順

コントロール・センターの使用 「フェデレーテッド・オブジェクト」ウィザードを開始します。「フェデレーテッド・データベース・オブジェクト」フォルダーを右マウス・ボタンでクリックし、フェデレーテッド・オブジェクトの作成をクリックします。

コマンド行の使用 CREATE USER MAPPING ステートメントを発行します。例:

CREATE USER MAPPING FOR local_userIDSERVER server_definition_nameOPTIONS (REMOTE_AUTHID ’remote_userID’,REMOTE_PASSWORD ’remote_password’)PROXY_AUTHID ’proxy_server_userID’,PROXY_PASSWORD ’proxy_server_password’;

サーバー定義とユーザー・マッピングの登録時にプロキシー・サーバーの認証情報を指定する場合には、ユーザー・マッピングを登録した際に指定する値が優先されます。

例えば、10 人からなる組織があり、サーバー定義の登録時に認証情報を指定するとします。10 人のうちの 3 人分のユーザー・マッピングを作成します。その 3 人がフェデレーテッド・システムにアクセスすると、ユーザー・マッピングを作成した際に指定した認証情報が使用されます。残りの 7 人に関しては、サーバー定義を登録した際に指定した認証情報が使用されます。

CREATE USER MAPPING ステートメント - Entrez ラッパーの例CREATE USER MAPPING ステートメントを使用して、フェデレーテッド・サーバーのユーザー ID を Entrez サーバーのユーザー ID およびパスワードにマップしてください。

プロキシー・サーバーを指定して、ユーザー・マッピングを作成できます。以下に示すのは、フェデレーテッド・サーバーのユーザー ID を Entrez プロキシー・サーバーのユーザー ID およびパスワードにマップする方法を示す例です。

CREATE USER MAPPING FOR lucille SERVER blast_proxyOPTIONS (PROXY_AUTHID ’lball’PROXY_PASSWORD ’them2us’);

lucille Entrez プロキシー・サーバーで定義されたユーザー ID にマップするローカルのユーザー ID を指定します。

SERVER blast_proxy

Entrez サーバーの CREATE SERVER ステートメントで登録したサーバー定義名を指定します。

第 8 章 Entrez データ・ソース 167

Page 178: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

PROXY_AUTHID ’lball’

プロキシー・サーバーのユーザー ID を指定します。プロキシー・サーバーで認証が必要な場合には、このユーザー・マッピング・オプションは必須です。

PROXY_PASSWORD ’them2us’

ユーザー名 ’lball’ に関連したプロキシー・サーバーのパスワードを指定します。プロキシー・サーバーで認証が必要な場合には、このユーザー・マッピング・オプションは必須です。

Entrez データ・ソースのニックネームの登録登録するそれぞれの Entrez サーバー定義で、アクセスするそれぞれのデータベースごとにニックネームを登録する必要があります。 Entrez サーバーを照会するときには、データベースの名前ではなく、これらのニックネームを使用します。

このタスクについて

ニックネームに指定する名前の長さは 128 文字までです。

ニックネームは、コントロール・センターを使用するか、またはコマンド行から登録できます。コントロール・センターには、ニックネームを登録するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

Entrez データベースにニックネームを登録するには、次のようにします。

168 フェデレーテッド・データ・ソース 構成ガイド

Page 179: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ニックネームを登録するのに使用する方法を選択します。

方法 手順

コントロール・センターの使用

「フェデレーテッド・データベース・オブジェクト」フォルダーから「フェデレーテッド・オブジェクト」ウィザードを開始するか、「ニックネーム」フォルダーをオープンします。

1. 「発見 (Discover)」をクリックし、「発見 (Discover)」ウィンドウを使用して Entrez データベースのニックネームを生成します。

2. 「スキーマ (Schema)」 フィールドで、ニックネームを登録するスキーマを指定します。

3. ニックネーム用に事前定義された名前のセットを使用するか、他の名前をニックネームに指定できます。

v ニックネーム用の事前定義された名前のセットを使用する場合、テキスト・ストリング・サフィックスがニックネームの最後に自動的に追加されます。「ニックネーム・サフィックス(Nickname suffix)」フィールドにあるデフォルトのサフィックスは置き換えることができます。

v ニックネームに他の名前を指定するには、「ニックネームの定義 (Define nicknames)」 ラジオ・ボタンをクリックして、各リモート・オブジェクトごとにニックネームを指定します。必要なニックネーム・オプションを指定することも必要です。ルート・ニックネームの場合には、REMOTE_OBJECT ニックネーム・オプションのみが必要となります。それ以外のニックネームの場合は常に、REMOTE_OBJECT オプションとPARENT オプションの両方を指定する必要があります。

4. 「OK」をクリックして、「フェデレーテッド・オブジェクト(Federated Objects)」ウィザードの「ニックネームの定義 (Define

Nicknames)」ページに戻ります。ニックネームが Nicknames 表にリストされます。

5. 「完了 (Finish)」をクリックして、「フェデレーテッド・オブジェクト (Federated Objects)」ウィザードの「ニックネームの作成」ページに戻ります。ニックネームが Nicknames 表にリストされます。まだ作成していなければ、Entrez カスタム関数が作成され、「フェデレーテッド・オブジェクト」ウィザードの「追加オブジェクト (Additional Objects)」ページに表示されます。ウィザードを完了すると、コントロール・センターの「アプリケーション・オブジェクト」フォルダーの下にある「ユーザー定義関数」フォルダーに関数テンプレートがリストされます。

6. 「完了」をクリックすると、ウィザードが完了してニックネームが作成されます。

第 8 章 Entrez データ・ソース 169

Page 180: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

方法 手順

コマンド行の使用 CREATE NICKNAME ステートメントを発行します。ニックネーム用に事前定義された名前のセットを使用するか、Entrez ニックネームに代替名を指定できます。

v ニックネーム用に事前定義された名前のセットを使用するには、アクセスする Entrez データベースの事前定義された CREATE

NICKNAME ステートメントをコマンド行プロンプトにコピーします。ニックネームを素早く作成するには、各ステートメントのサーバー定義の名前を変更します。

v フェデレーテッド・サーバーの表の Entrez ニックネームに 1 つ以上の事前定義された名前のセットを使用する場合、Entrez ニックネームに代替名を指定する必要があります。

ニックネームを作成する各 Entrez データベースに対して、これらのステップを繰り返してください。

CREATE NICKNAME ステートメント - Entrez ラッパーの例アクセスする各 Entrez データベースのニックネームを登録するには、CREATE

NICKNAME ステートメントを使用します。 Entrez データベース用に作成する事前定義ニックネームのセットがあります。ニックネームにデフォルト名を使用することもできますし、別の名前を指定することもできます。

各 Entrez データベースのニックネームを登録するのに必要な CREATE

NICKNAME ステートメントの事前定義されたセットが、以下のリストに示されています。これらのステートメントを編集して CREATE SERVER ステートメントで使用したサーバー定義の名前を指定します。ニックネームを登録するには、コマンド行からこうした CREATE NICKNAME ステートメントを発行します。

ニックネームの登録にコントロール・センターを使用する場合、ステートメントは自動的に生成され、発行されます。

Nucleotide ニックネーム

以下のリストには、Nucleotide 表のニックネームを登録するのに必要な CREATE

NICKNAME ステートメントが含まれています。

CREATE NICKNAME GBSeq FOR SERVER nuc1;CREATE NICKNAME GBFeatures FOR SERVER nuc1;CREATE NICKNAME GBIntervals FOR SERVER nuc1;CREATE NICKNAME GBQualifiers FOR SERVER nuc1;CREATE NICKNAME GBReference FOR SERVER nuc1;

OMIM ニックネーム

以下のリストには、OMIM 表のニックネームを登録するのに必要な CREATE

NICKNAME ステートメントが含まれています。

CREATE NICKNAME omim FOR SERVER omim_server1;CREATE NICKNAME omim_alias FOR SERVER omim_server1;CREATE NICKNAME omim_text FOR SERVER omim_server1;CREATE NICKNAME omim_text_uid FOR SERVER omim_server1;CREATE NICKNAME omim_see_also FOR SERVER omim_server1;CREATE NICKNAME omim_allelic_variant FOR SERVER omim_server1;

170 フェデレーテッド・データ・ソース 構成ガイド

Page 181: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CREATE NICKNAME omim_allelic_variant_desc FOR SERVER omim_server1;CREATE NICKNAME omim_allelic_variant_desc_uid FOR SERVER omim_server1;CREATE NICKNAME omim_clinical_synopsis FOR SERVER omim_server1;CREATE NICKNAME omim_edit_history FOR SERVER omim_server1;CREATE NICKNAME omim_references FOR SERVER omim_server1;CREATE NICKNAME omim_contributors FOR SERVER omim_server1;CREATE NICKNAME omim_links FOR SERVER omim_server1;CREATE NICKNAME omim_links_uid FOR SERVER omim_server1;

PubMed ニックネーム

以下のリストには、PubMed 表のニックネームを登録するのに必要な CREATE

NICKNAME ステートメントが含まれています。

CREATE NICKNAME PMARTICLES FOR SERVER pubmed_server;CREATE NICKNAME PMACCESSION FOR SERVER pubmed_server;CREATE NICKNAME PMCHEMICAL FOR SERVER pubmed_server;CREATE NICKNAME PMMESH FOR SERVER pubmed_server;CREATE NICKNAME PMCOMMENTS FOR SERVER pubmed_server;CREATE NICKNAME PMARTICLEID FOR SERVER pubmed_server;

Entrez データ・ソースの照会およびカスタム関数Entrez ラッパーは、照会で使用できるカスタム関数を組み込みます。

カスタム関数を使用した Entrez データベースの照会Entrez カスタム関数は Entrez ラッパーとともに使用され、Entrez 照会エンジンに述部を送信します。

Entrez ラッパーに付属するカスタム関数は、照会で使用する前に、フェデレーテッド・サーバーでの登録を行わなければなりません。

ENTREZ.CONTAINS 関数

ENTREZ.CONTAINS 関数には 2 つの引数が必要です。最初の引数は、検索可能な固定ニックネーム列の名前です。 2 番目の引数は、検索する値です。

ENTREZ.CONTAINS 関数の構文は以下のとおりです。

ENTREZ.CONTAINS (nickname_column,query_term)

状態によっては、フェデレーテッド・サーバーによって処理される述部と Entrez データベース・サーバーによって処理される述部が処理できない仕方で混合されていることがあります。これらのケースでは、エラー・メッセージ SQL0142N (″SQL

statement not supported″) が生成されます。

たとえば、次の照会フラグメントでは、ラッパーが処理する述部の部分(ENTREZ.CONTAINS 呼び出し) とフェデレーテッド・サーバーが処理する必要のある部分 (BaseCountA の関係述部) とを分離することはできません。

WHEREOMIM.CONTAINS (Organism, ’helicobacter pylori’) = 1OR (BaseCountA > 10 AND OMIM.CONTAINS (Keywords, ’cellular vacuolation ’) = 1)

Entrez データベースに登録するニックネームには、固定列のセットがあります。ENTREZ.CONTAINS 関数で指定できる列名は、検索タグ修飾子を持つ列名だけで

第 8 章 Entrez データ・ソース 171

Page 182: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

す。検索タグ修飾子を持たない列名を指定すると、エラー・メッセージ SQL30090N

(『操作がアプリケーション実行環境で無効です』) が戻されます。

照会語引数の値は、リテラル、ホスト変数、または列参照のいずれかになります。演算またはストリング連結は使用できません。使用する検索語列が NULL 値を許可するよう定義済みでも、照会語引数値は NULL となることはありません。照会語引数は、大文字小文字を区別しません。

複数の列を検索する場合は、検索するそれぞれの列の照会ごとにENTREZ.CONTAINS 関数を含める必要があります。それぞれのENTREZ.CONTAINS 関数の間の関係を指定するには、照会にブール演算子 (OR および AND) と括弧を使用します。検索語修飾子 (例: [pd]) は許可されていません。

ENTREZ.CONTAINS 関数は整数の結果を戻します。ENTREZ.CONTAINS 関数を使用する場合、戻り値は = または <> 演算子を使用して値 1 と比較されます。例:

SELECT * FROM NewGBSeqWHERE ENTREZ.CONTAINS (Organism, ’drosophila’) = 1;

疑似列

いくつかの検索フィールドには、Entrez スキーマに対応する列がありません。たとえば、ヌクレオチド・データベースでは、[ALL] という語によってすべての検索可能フィールドが検索されますが、[WORD] という語によってレコードに関連するすべてのフリー・テキストが検索されます。 GBSeq ニックネームの AllText 列とFreeText 列は、こうした検索語に提供される疑似列の例となっています。疑似列が選択リストで参照されていると、NULL の値が戻されます。

次の例は、PubMed ニックネームの WHERE 文節のある照会を示します。この例では、個々の述部は authors、title、および alltext です。 alltext 疑似列はENTREZ.CONTAINS 関数で使用され、すべての検索可能フィールドで用語drosophila または fruit fly を検索します。

WHEREENTREZ.CONTAINS (authors, ’kaufmann OR ito AND NOT rakesh’)AND(ENTREZ.CONTAINS (title, ’drosophila’)ORENTREZ.CONTAINS (alltext, ’drosophila OR "fruit fly"’))

ENTREZ.SEARCH_TERM カスタム関数

ENTREZ.SEARCH_TERM 関数には 2 つの引数が必要です。最初の引数は、親ニックネームの主キー列である固定ニックネーム列の名前です。 2 番目の引数は、検索する値です。

ENTREZ.SEARCH_TERM 関数の構文は以下のとおりです。

ENTREZ.SEARCH_TERM (nickname_column,query_term)

ENTREZ.SEARCH_TERM カスタム関数を実行すれば、別の方法では可能でないかもしれない照会を実行できます。 ENTREZ.SEARCH_TERM 関数を使用する場合、その関数は照会の中にあるただ 1 つのカスタム関数である必要があります。

172 フェデレーテッド・データ・ソース 構成ガイド

Page 183: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ニックネーム列の引数は、親のニックネームの主キー列である必要があります。照会語引数は、検索フィールド修飾子を組み込んだ ENTREZ 書式検索語です。このテキストは、URI 構文で必要とされる URI エスケープを除き、変更されずにENTREZ に受け渡されます。

ENTREZ.SEARCH_TERM 関数は整数の結果を戻します。 ENTREZ.SEARCH_TERM

カスタム関数を使用する場合、戻り値は (=) または (<>) 演算子を使用して値 1 と比較されます。例:

SELECT mim_id, SUBSTR(title,1,40) FROM omimWHERE entrez.search_term(mim_id, ’CYSTIC FIBROSIS’) = 1;

Entrez ラッパーの関係述部Entrez ラッパーは、照会の関係述部をサポートしています。述部の中には、Entrez

検索エンジンによって処理されるものと、フェデレーテッド・サーバーによって処理されるものがあります。

Entrez 検索エンジンは、スキーマごとに ID 列の等号および IN 述部を処理します。それらの述部を使用すれば、Entrez ラッパーによる照会処理の検索フェーズを実行することなく、直接照会処理のフェッチ・フェーズを実行できます。有効な述部には、たとえば次のものがあります。

WHERE pmid = ’1234567’

WHERE medlineid IN (’1234567’, ’9191919’)

WHERE mim_id IN (’602421’, ’608583’)

指定可能なのは、照会の WHERE 文節のニックネーム列の検索タグとして ID を持つ列のみです。

Entrez ラッパーで無効な WHERE 文節

Entrez ラッパーは、結果として NCBI データベースの非修飾スキャンが実行されることになるような照会をリジェクトします。有効な WHERE 文節には、カスタム関数か、またはスキーマの主 ID に対する等号または IN 述部が含まれていなければなりません。これらの基準を満たさない照会は、エラー・コード SQL0142N またはSQL30090N でリジェクトされます。

Entrez 照会から戻されるレコードMAX_ROWS サーバー・オプションを使用して、Entrez データ・ソースに対する照会で戻される行数を制限できます。

MAX_ROWS サーバー・オプションの値は、照会が戻せるルート・ニックネームのレコード数の上限 (最大値) として常に使用されます。照会の際に MAX_ROWS サーバー・オプションで指定された値より多くのレコードの取り出しが試行されると、結果セットは切り捨てられます。結果セットが切り捨てられることについては、通知されません。

たとえば、MAX_ROWS サーバー・オプションを 25 に設定した場合、最大 25 件のルート・ニックネームと、それに関連するすべての子ニック・ネームのレコードが表示されます。

第 8 章 Entrez データ・ソース 173

Page 184: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

MAX_ROWS サーバー・オプションは、CREATE SERVER ステートメントを使用してサーバー定義を登録する際に設定でき、ALTER SERVER ステートメントを使用してオプションの値を設定または変更できます。

MAX_ROWS サーバー・オプションは必須ではありません。このオプションを設定しないと、デフォルト値が使用されます。使用される特定のデフォルト値は、ご使用のオペレーティング・システムによって違います。

v UNIX を実行するフェデレーテッド・サーバーの場合、デフォルトのレコードは5000 です。

v Windows を実行するフェデレーテッド・サーバーの場合、デフォルトのレコードは 2000 です。

指定可能な数値は正数および 0 のみです。 MAX ROWS サーバー・オプションを0 に設定すると、照会が NCBI Web サイトから検索できるルート・ニックネームのレコード数が無制限になります。ただし、MAX_ROWS サーバー・オプションを 0

または非常に大きな数値に設定すると、照会のパフォーマンスに影響が及ぶ可能性があります。

Entrez データ・ソース - 照会の例以下の例は、Nucleotide、OMIM、および PubMed の各データベースの照会方法について示しています。

Nucleotide ニックネームの照会

以下の照会では、Nucleotide ニックネームで複数のフェッチ・キーを使用します。

SELECT PrimaryAccession, LocusName, SeqLength FROM GBSEQWHERE PrimaryAccession IN (’NM_000890’, ’NC_003106’);

以下の照会は、Nucleotide ニックネームで、検索可能なすべてのフィールドを検索します。

SELECT PrimaryAccession, substr(Definition,1,300), GI FROM GBSEQWHERE ENTREZ.CONTAINS(AllText, ’abcde’)=1;

以下の照会は、Nucleotide ニックネームで、すべてのフリー・テキストを検索します。

SELECT * FROM GBSEQ WHERE ENTREZ.CONTAINS(FreeText, ’abcde’)=1;

以下の照会は、Nucleotide ニックネームで、ある定義を検索します。

SELECT PrimaryAccession, substr(Definition,1,300), version, GI FROM GBSEQWHERE ENTREZ.CONTAINS(Definition, ’Sulfolobus tokodaiiAND complete genome’) = 1;

以下の照会は、Nucleotide ニックネームで、あるキーワードを検索します。

SELECT PrimaryAccession, substr(KeywordList,1,200), Segment FROM GBSEQ`WHERE ENTREZ.CONTAINS(KeywordList, ’nkcc1 gene’) = 1;

OMIM ニックネームの照会

以下の照会では、単一の MIM 番号に対して、MIM 識別番号および OMIM ニックネームから OMIM レコードのタイトル (最大 40 文字) が戻されます。

174 フェデレーテッド・データ・ソース 構成ガイド

Page 185: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

SELECT mim_id, SUBSTR(title,1,40) FROM OMIMWHERE mim_id = ’603855’;

以下の照会では、複数の MIM 識別番号に対して、MIM 識別番号および OMIM ニックネームから OMIM レコードのタイトル (最大 40 文字) が戻されます。

SELECT mim_id, SUBSTR(title,1,40) FROM OMIMWHERE mim_id IN (’603855’, ’605382’, ’600737’, ’605637’, ’219700’);

以下の照会では、CONTAINS 関数を使用して、エントリーのタイトルに ″CYSTIC

FIBROSIS″ あるいは ″CF″ が含まれるすべての OMIM エントリーを検索します。

SELECT mim_id, SUBSTR(title,1,40) FROM OMIMWHERE OMIM.CONTAINS(title, ’CYSTIC FIBROSIS; CF’) = 1;

以下の照会では、2 つの CONTAINS 関数を使用して、タイトルに ″DIABETES″ が含まれ、臨床概要のあるすべての OMIM エントリーを検索します。

SELECT mim_id, SUBSTR(title,1,75), has_synopsis FROM OMIMWHERE OMIM.CONTAINS(title, ’DIABETES’) = 1AND OMIM.CONTAINS(has_synopsis, ’Clinical Synopsis’) = 1;

以下の照会では、CONTAINS 関数を使用して、1999 年 5 月 5 日に作成されたすべての OMIM エントリーを検索します。

SELECT mim_id, SUBSTR(title,1,40), creation_date FROM OMIMWHERE OMIM.CONTAINS(creation_date, ’5/27/1999’) = 1;

以下の照会では、CONTAINS 関数を使用して、2005 年に作成され、タイトルにHEMERALOPIA-MYOPIA が含まれるすべての OMIM エントリーを検索します。

SELECT mim_id, SUBSTR(title,1,40), creation_date FROM OMIMWHERE OMIM.CONTAINS(creation_date, ’2005’) =1AND OMIM.CONTAINS(title, ’HEMERALOPIA-MYOPIA’) = 1;

以下の照会では、SEARCH_TERM 関数を使用して、フィールドのいずれかに″CYSTIC FIBROSIS″ が含まれるすべての OMIM エントリーを検索します。

SELECT mim_id, SUBSTR(title,1,40) FROM OMIMWHERE OMIM.SEARCH_TERM(mim_id, ’HEMERALOPIA-MYOPIA’) = 1;

以下の照会では、CONTAINS 関数を使用して、エントリーのタイトルに ″CYSTIC

FIBROSIS″ が含まれるすべての OMIM エントリーを検索します。この例では、子ニックネームの主キーと外部キーを親ニックネームと結合することによって、OMIM 階層となっているニックネームから値を選択する方法を示します。

SELECT o.mim_id, SUBSTR(o.title,1,20), SUBSTR(ot.text,1,40) FROM omim o, omim_text otWHERE OMIM.CONTAINS(o.title, ’CYSTIC FIBROSIS’) = 1 AND o.mim_id = ot.mim_id;

PubMed ニックネームの照会

以下の照会は、PubMed ニックネームで、単一のフェッチ・キーを含みます。

SELECT PMID, ArticleTitle FROM pmarticlesWHERE pmid = ’12345’;

以下の照会は、PubMed ニックネームで、混合されたフェッチ・キーを含みます。

SELECT PMID, ArticleTitle FROM pmarticlesWHERE pmid = ’12345’ OR MedlineID = ’12346’;

以下の照会は、PubMed ニックネームで、CONTAINS 関数を使用します。

第 8 章 Entrez データ・ソース 175

Page 186: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

SELECT PMID, ArticleTitle FROM pmarticlesWHERE ENTREZ.CONTAINS (ArticleTitle, ’granulation’) = 1AND ENTREZ.CONTAINS (PubDate, ’1992’) = 1;

以下の照会は、PubMed ニックネームで、指定された AuthorList およびLanguageList を検索します。

SELECT PMID, ArticleTitle FROM pmarticlesWHERE ENTREZ.CONTAINS (AuthorList, ’Albarrak’) = 1AND ENTREZ.CONTAINS (LanguageList, ’eng’)=1;

以下の照会は、PubMed ニックネームで、複合述部を使用します。

SELECT PMID, ArticleTitle FROM pmarticlesWHERE ENTREZ.CONTAINS (PublicationTypeList, ’Journal Article’) = 1AND ENTREZ.CONTAINS (MedlineTA, ’sun’)=1OR ENTREZ.CONTAINS (PersonalNameSubjectList, ’shine’)=1;

Nucleotide ニックネームの固定列Nucleotide ニックネームを登録すると、Nucleotide データベース内のフィールドに関する情報が、フェデレーテッド・データベース・カタログに追加されます。カタログに追加される情報は、各ニックネームごとに固定列のセットとして表されます。

Nucleotide ニックネームのリスト

Nucleotide ニックネームは以下のとおりです。

v GBSeq

v GBReference

v GBFeatures

v GBIntervals

v GBQualifiers

以下の表では、各ニックネームに含まれる列についての情報が提供されます。

v 列の名前。

v 列のデータ・タイプ。ニックネームを作成する場合、列に関するデフォルトのデータ・タイプをオーバーライドできます。たとえば、GBSeq ニックネームの「Sequence」列のデフォルト・データ・タイプは VARCHAR(32000) です。このデータ・タイプを CLOB(1 MB) に変更することができます。Entrez ラッパーは、最大で 5 メガバイトまでの長さの CLOB データ・タイプをサポートしています。

v 列の説明。

v ラッパーが Nucleotide データベースを照会するのに使用する検索タグ修飾子。ENTREZ.CONTAINS 関数で指定できる列名は、検索タグ修飾子を持つ列名だけです。修飾子欄では、その列に関する有効な検索修飾子が示されています。有効な探索タグのリストについては、以下の NCBI Web サイトを参照して、「Search

Field Descriptions and Qualifiers」へのリンクを見つけてください。www.ncbi.nlm.nih.gov/entrez/query/static/help/Summary_Matrices.html

v 列が NULL 値を戻せるかどうか。NULL 値を戻す列の大半は入力列です。

176 フェデレーテッド・データ・ソース 構成ガイド

Page 187: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

GBSeq ニックネームの固定列

次の表では、GBSeq ニックネームの列について説明しています。 F 列は、フェッチ・キーとして指定された列を示しています。フェッチ・キーを使用すると、照会の処理時間を短縮できる場合があります。

表 34. Nucleotide GBSeq ニックネーム

列名 データ・タイプ 説明 修飾子 フェッチ・キー

PrimaryAccession VARCHAR(16)

NOT NULL

主 ACCESSION 番号 PACC はい

SequenceKey VARCHAR(32)

NOT NULL

GBSeq ニックネームを子ニックネームに結合するために使用される主キー列。

いいえ

LocusName VARCHAR(16)

NOT NULL

ローカスの名前。 ACCN いいえ

SeqLength INTEGER NOT

NULL

シーケンスの長さ。 SLEN いいえ

Strandedness VARCHAR(32) 未設定、1 重、2 重、混合 なし いいえ

MoleculeType VARCHAR(16) nucleic-acid, dna, rna, trna,

rrna, mrna, urna, snrna,

snorna, peptide

PROP いいえ

Topology VARCHAR(16) 線形、円形 なし いいえ

Division CHAR(3) NOT

NULL

GenBank 区分。 PROP いいえ

UpdateDate DATE NOT NULL 最新の更新日付。 MDAT いいえ

CreateDate DATE NOT NULL レコードが作成された日付。

なし いいえ

定義 VARCHAR(7000)

NOT NULL

シーケンスの定義行。 TITL いいえ

バージョン INTEGER シーケンスのバージョンID。

なし いいえ

GI VARCHAR(16) GenInfo (GI) シーケンスID。

なし いいえ

KeywordList VARCHAR(7000) セミコロン区切りリスト KYWD いいえ

Segment VARCHAR(250) セグメント。 なし いいえ

ソース VARCHAR(200)

NOT NULL

ソース。 ORGN いいえ

生体 VARCHAR(7000)

NOT NULL

有機体。 ORGN いいえ

Taxonomy VARCHAR(7000)

NOT NULL

分類法。 なし いいえ

Comment VARCHAR(7000) コメント なし いいえ

Primary VARCHAR(7000) プライマリー。 なし いいえ

SourceDB VARCHAR(250) ソース・データベース。 なし いいえ

第 8 章 Entrez データ・ソース 177

Page 188: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 34. Nucleotide GBSeq ニックネーム (続き)

列名 データ・タイプ 説明 修飾子 フェッチ・キー

Sequence VARCHAR (32000) シーケンス。 なし いいえ

AllText VARCHAR (1) 常に NULL を戻す疑似列 ALL いいえ

FreeText VARCHAR (1) 常に NULL を戻す疑似列 WORD いいえ

GBReference ニックネームの固定列

次の表では、GBReference ニックネームの列について説明しています。

表 35. Nucleotide GBReference ニックネーム

列名 データ・タイプ 説明 修飾子

SequenceKey VARCHAR(32) NOT

NULL

GBReference 子ニックネームをその親ニックネームへ結合するのに使用されるキー。

なし

ReferenceNum INTEGER NOT NULL GBReference_reference から構文解析される

なし

RangeLow INTEGER NOT NULL 参照の下限(GBReference_reference から構文解析)

なし

RangeHigh INTEGER NOT NULL 参照の上限(GBReference_reference から構文解析)

なし

Authors VARCHAR(3200) GenBank 形式による氏名のセミコロン区切りリスト

AUTH

Consortium VARCHAR(250) コンソーシアム。 なし

Title VARCHAR(250) GenBank 参照タイトル。 WORD

Journal_Title VARCHAR(250) NOT

NULL

ジャーナルのタイトル。 JOUR

MedlineID INTEGER Medline ID なし

PubMedID INTEGER PubMed ID なし

Remarks VARCHAR(3200) 注釈 なし

GBFeatures ニックネームの固定列

次の表では、GBFeatures ニックネームの列について説明しています。

表 36. Nucleotide GBFeatures ニックネーム

列名 データ・タイプ 説明 修飾子

SequenceKey VARCHAR(32) NOT

NULL

GBFeatures 子ニックネームをその親ニックネームへ結合するのに使用されるキー。

なし

FeatureJoinKey VARCHAR(32) NOT

NULL

GBFeatures ニックネームを子ニックネームに結合するために使用される主キー列。

なし

178 フェデレーテッド・データ・ソース 構成ガイド

Page 189: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 36. Nucleotide GBFeatures ニックネーム (続き)

列名 データ・タイプ 説明 修飾子

FeatureKey VARCHAR(20) NOT

NULL

FKEY

FeatureLocation VARCHAR(200) NOT

NULL

なし

GBIntervals ニックネームの固定列

次の表では、GBIntervals ニックネームの列について説明しています。

表 37. Nucleotide GBIntervals ニックネーム

列名 データ・タイプ 説明 修飾子

FeatureJoinKey VARCHAR(32) NOT

NULL

GBIntervals 子ニックネームをその親ニックネームへ結合するのに使用されるキー。

なし

IntervalFrom INTEGER なし

IntervalTo INTEGER なし

IntervalPoint INTEGER なし

IntervalAccession VARCHAR(32) NOT

NULL

なし

GBQualifiers ニックネームの固定列

次の表では、GBQualifiers ニックネームの列について説明しています。

表 38. Nucleotide GBQualifiers ニックネーム

列名 データ・タイプ 説明 修飾子

FeatureJoinKey VARCHAR(32) NOT

NULL

GBQualifiers 子ニックネームをその親ニックネームへ結合するのに使用されるキー。

なし

QualifierName VARCHAR(50) 修飾子の名前 なし

QualifierValue VARCHAR (32000) 修飾子の値。 なし

OMIM ニックネームの固定列OMIM ニックネームを登録すると、OMIM データベース内のフィールドに関する情報が、フェデレーテッド・データベース・カタログに追加されます。カタログに追加される情報は、各ニックネームごとに固定列のセットとして表されます。

列名を SELECT ステートメントに組み込むことによって、固定列のいずれかからデータを取得できます。ただし、検索タグを持つのは、照会の WHERE 文節で指定できる列だけです。

第 8 章 Entrez データ・ソース 179

Page 190: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

OMIM ニックネームのリスト

OMIM ニックネームは以下のとおりです。

v OMIM

v OMIM_Alias

v OMIM_Text

v OMIM_Text_uid

v OMIM_See_Also

v OMIM_Allelic_Variant

v OMIM_Allelic_Variant_Description

v OMIM_Allelic_Variant_Description_uid

v OMIM_Clinical_Synopsis

v OMIM_Edit_History

v OMIM_References

v OMIM_Contributors

v OMIM_Links

v OMIM_Links_uid

以下の表では、各ニックネームに含まれる列についての情報が提供されます。

v 列の名前。

v 列のデータ・タイプ。

v 列が NULL 値を戻せるかどうか。NULL 値を戻す列の大半は入力列です。

v ラッパーが OMIM データベースを照会するのに使用する検索タグ。検索タグを持つのは、OMIM.CONTAINS 関数で指定可能な列名だけです。

v 列の説明。

OMIM ニックネームの固定列

以下の表では、OMIM ニックネームの列について説明しています。

表 39. OMIM ニックネームの列

列名 データ・タイプ NULL

検索タグ 説明

MIM_ID VARCHAR(6) N ID OMIM データベース・エントリーを一意に識別する 6 桁の数値。 FOR BIT DATA 列として定義される主キー列。OMIM データベース・エントリーの番号体系は、以下の Web

サイトで説明されています。 OMIM Frequently Asked

Questions (FAQs)

All_Fields VARCHAR (1) Y ALL OMIM データベース内の検索可能なすべての列を照会するのに使用する入力列。

Chromosome VARCHAR (1) Y CH 遺伝子または疾患を OMIM Gene Map あるいは Morbid Map

にマップする染色体を指定するのに使用する入力列。

著作権 VARCHAR(60) Y OMIM データベース・エントリーの著作権文。

Created_By VARCHAR (50) Y OMIM データベース・エントリーの作成者の氏名。

EC_RN_Number VARCHAR (1) Y EC 特定の酵素または化学物質を表す数値を指定するのに使用する入力列。酵素用の数値は Enzyme Commission によって割り当てられます。化学物質用の数値は Chemical Abstract

Service (CAS) によって割り当てられます。

180 フェデレーテッド・データ・ソース 構成ガイド

Page 191: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 39. OMIM ニックネームの列 (続き)

列名 データ・タイプ NULL

検索タグ 説明

Filter VARCHAR (1) Y FI その他の Entrez データベースへの相互リンク、および外部(Entrez 以外の) リソースへの LinkOuts が含まれるレコードを検索するのに使用する入力列。例えば、″omim

protein″、″omim structure″、″loprovlocuslink″。

Creation_Date DATE Y CD OMIM データベース・エントリーが作成された日付。形式は、MM/DD/YYYY、DD.MM.YYYY、あるいはYYYY-MM-DD のように、フェデレーテッド・データベースによってサポートされる形式にする必要があります。

Gene_Map VARCHAR (1) Y GM OMIM Gene Map で表されている細胞遺伝学的地図の位置を検索するのに使用する入力列。

Gene_Map_ Disorder VARCHAR (1) Y DI OMIM Gene Map の Disorder 列に表示されるテキストを検索するのに使用する入力列。

Gene_Map_Name VARCHAR (1) Y GN OMIM データベース・エントリーに関連付けられている正式な遺伝子記号および代替の遺伝子記号を検索するのに使用する入力列。

Has_Gm_Locus VARCHAR (1) Y PR 遺伝子地図の位置情報を含む OMIM データベース・エントリーを検索するのに使用する入力列。例:

OMIM.CONTAINS(has_gm_locus,’has locus’)

Has_Summary CHAR(1) Y OMIM データベース・エントリーにサマリーが含まれるかどうかを指定します。この列の有効値は Y および N です。

Has_Synopsis CHAR(1) Y PR 概要が含まれる OMIM データベース・エントリーを検索するのに使用する列。例:

OMIM.CONTAINS(has_synopsis,’clinical synopsis’)

Has_Variants VARCHAR (1) Y PR 対立遺伝子多型が含まれる OMIM データベース・エントリーを検索するのに使用する入力列。例:

OMIM.CONTAINS(has_variants,’allelic variants’)

Locus VARCHAR(10) Y 指定された遺伝子が染色体上で占める位置。

MIM_ID_Display VARCHAR(7) N MIM_type_value に対応する記号を使用して 6 桁の MIM_ID

を表示します。例: *605491、%608583。MIM_ID 番号の前に置く記号についての詳細は、以下の Web サイトを参照してください。 OMIM Frequently Asked Questions (FAQs)

Number_Gene_Maps INTEGER Y 遺伝子地図の数。

Symbol VARCHAR(10) Y OMIM データベース・エントリーの記号。

Text VARCHAR(1000) Y エントリーに関する情報が含まれる OMIM データベース・エントリー内のフィールド。

Title VARCHAR(250) Y TI OMIM データベース・エントリーのタイトル。

OMIM_Alias ニックネームの固定列

以下の表では、OMIM_Alias ニックネームの列について説明しています。

表 40. OMIM_Alias ニックネームの列列名 データ・タイプ NULL 検索タグ 説明

MIM_ID VARCHAR(6) N ? OMIM データベース・エントリーを一意に識別する 6 桁の数値。親ニックネーム OMIM との結合条件で使用される外部キー列。 MIM_ID 列は FOR BIT DATA 列として定義されます。

Alias VARCHAR

(100)

Y セミコロン区切りの、OMIM データベース・エントリー用の代替タイトルおよびシンボル。

第 8 章 Entrez データ・ソース 181

Page 192: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

OMIM_Text ニックネームの固定列

以下の表では、OMIM_Text ニックネームの列について説明しています。

表 41. OMIM_Text ニックネームの列

列名 データ・タイプ NULL

検索タグ 説明

MIM_ID VARCHAR(6) N ID OMIM データベース・エントリーを一意に識別する 6 桁の数値。親ニックネーム OMIM との結合条件で使用される外部キー列。 MIM_ID 列は FOR BIT DATA 列として定義されます。

Neighbor_Link_uids VARCHAR (300) Y コンマで区切られた固有 ID のリスト。

Text VARCHAR

(3000)

N TXT テキスト・フィールドの内容。

Text_Join_Key VARCHAR (32) N OMIM_Text ニックネームの主キー列。この列には、ラッパーによって生成される固有 ID が含まれます。この列は FOR

BIT DATA 列として定義されます。

Text_Label VARCHAR (50) N テキスト・フィールドのラベル。例: 説明、臨床徴候、あるいはクローニング。

OMIM_Text_uid ニックネームの固定列

以下の表では、OMIM_Text_uid ニックネームの列について説明しています。

表 42. OMIM_Text_uid ニックネームの列列名 データ・タイプ NULL 検索タ

グ説明

Text_Join_Key VARCHAR (32) N 親ニックネーム OMIM_Text との結合条件で使用される外部キー。この列は FOR BIT DATA 列として定義されます。

Uid VARCHAR (10) N OMIM_Text_uid ニックネームの Allelic_Join_Key に関連した固有 ID。

OMIM_See_Also ニックネームの固定列

以下の表では、OMIM_See_Also ニックネームの列について説明しています。

表 43. OMIM_See_Also ニックネームの列列名 データ・タイプ NULL 検索タグ 説明

MIM_ID VARCHAR(6) N OMIM データベース・エントリーを一意に識別する 6 桁の数値。親ニックネーム OMIM との結合条件で使用される外部キー列。 MIM_ID 列は FOR BIT DATA 列として定義されます。

Author VARCHAR (50) N OMIM データベース・エントリーの筆頭執筆者の姓。

Citation_Number INTEGER N OMIM データベース・エントリーのリファレンス・セクション内の引用番号。

Others VARCHAR (50) Y OMIM データベース・エントリーの作成者が 2 人いる場合、その 2 番目の作成者の姓。 3 人以上の作成者がいる場合には、et al というフレーズが OMIM データベース・エントリーから戻されます。 OMIM データベース・エントリーに対して作成者が 1 人だけであれば、この列は NULL

値を戻します。

Year CHAR (4) Y OMIM データベース・エントリーが公開された年。この値の形式は YYYY です。

182 フェデレーテッド・データ・ソース 構成ガイド

Page 193: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

OMIM_Allelic_Variant ニックネームの固定列

以下の表では、OMIM_Allelic_Variant ニックネームの列について説明しています。

表 44. OMIM_Allelic_Variant ニックネームの列

列名データ・タイプ NULL 検索タグ 説明

MIM_ID VARCHAR(6) N ID OMIM データベース・エントリーを一意に識別する 6 桁の数値。親ニックネーム OMIM との結合条件で使用される外部キー列。 MIM_ID 列は FOR BIT DATA 列として定義されます。

Allelic_Join_Key VARCHAR

(32)

N OMIM_Allelic_Variant ニックネームの主キー列。この列には、ラッパーによって生成される固有 ID が含まれます。この列は FOR BIT DATA 列として定義されます。

Aliases VARCHAR

(100)

Y 対立遺伝子多型の別名のリスト。リスト内のエントリーはコンマで区切られます。

Mutation VARCHAR

(40)

N AV 対立遺伝子多型の突然変異。

Name VARCHAR

(100)

N AV 対立遺伝子多型の名前。

Number CHAR (4) N 対立遺伝子多型の番号。対立遺伝子多型の番号は、0001 から始まる 4 桁の数値になります。

OMIM_Allelic_Variant_Description ニックネームの固定列

以下の表では、OMIM_Allelic_Variant_Description ニックネームの列について説明しています。

表 45. OMIM_Allelic_Variant_Description ニックネームの列

列名データ・タイプ NULL 検索タグ 説明

Allelic_Join_Key VARCHAR

(32)

N 親ニックネーム OMIM_Allelic_Variant との結合条件で使用される外部キー。この列は FOR BIT DATA 列として定義されます。

Allelic_Description_Join_Key VARCHAR

(32)

N OMIM_Allelic_Variant_Description ニックネームの主キー列。この列には、ラッパーによって生成される固有ID が含まれます。この列は FOR BIT DATA 列として定義されます。

Description VARCHAR

(3000)

N AV OMIM allelic variant (対立遺伝子多型) の説明。

Neighbor_Link_uids VARCHAR

(300)

Y コンマで区切られた固有 ID のリスト。

OMIM_Allelic_Variant_Description_uid ニックネームの固定列

以下の表では、OMIM_Allelic_Variant_Description_uid ニックネームの列について説明しています。

表 46. OMIM_Allelic_Variant_Description_uid ニックネームの列

列名データ・タイプ NULL

検索タグ 説明

Allelic_Description_Join_Key VARCHAR

(32)

N ? 親ニックネーム OMIM_Allelic_Variant_Description との結合条件で使用される外部キー。この列は FOR BIT

DATA 列として定義されます。

Uid VARCHAR

(10)

N OMIM_Allelic_Variant_Description_uid ニックネームのAllelic_Join_Key に関連した固有 ID。

第 8 章 Entrez データ・ソース 183

Page 194: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

OMIM_Clinical_Synopsis ニックネームの固定列

以下の表では、OMIM_Clinical_Synopsis ニックネームの列について説明しています。

表 47. OMIM_Clinical_Synopsis ニックネームの列

列名 データ・タイプ NULL

検索タグ 説明

MIM_ID VARCHAR(6) N OMIM データベース・エントリーを一意に識別する 6 桁の数値。親ニックネーム OMIM との結合条件で使用される外部キー列。 MIM_ID 列は FOR BIT DATA 列として定義されます。

Author VARCHAR (40) Y 概要の作成者の氏名。

Creation_Date DATE Y 概要が作成された日付。

Synopsis_Key VARCHAR

(100)

Y 臨床概要キー。例: 遺伝的形質、心臓血管、呼吸器官、発育など。

Synopsis_Terms VARCHAR

(500)

Y CS 臨床概要で使用される用語のリスト。このリストはセミコロンで区切られます。

OMIM_Edit_History ニックネームの固定列

以下の表では、OMIM_Edit_History ニックネームの列について説明しています。

表 48. OMIM_Edit_History ニックネームの列

列名 データ・タイプ NULL

検索タグ 説明

MIM_ID VARCHAR(6) N OMIM データベース・エントリーを一意に識別する 6 桁の数値。親ニックネーム OMIM との結合条件で使用される外部キー列。 MIM_ID 列は FOR BIT DATA 列として定義されます。

Editor_ID VARCHAR (20) N ED OMIM データベース・エントリーのエディターの ID。

Date DATE N MD OMIM データベース・エントリーが編集された日付。日付は、MM/DD/YYYY、DD.MM.YYYY、あるいはYYYY-MM-DD のように、フェデレーテッド・データベースによってサポートされる形式を指定する必要があります。

OMIM_References ニックネームの固定列

以下の表では、OMIM_References ニックネームの列について説明しています。

表 49. OMIM_References ニックネームの列列名 データ・タイプ NULL 検索タグ 説明

MIM_ID VARCHAR(6) N ? OMIM データベース・エントリーを一意に識別する 6 桁の数値。親ニックネーム OMIM との結合条件で使用される外部キー列。 MIM_ID 列は FOR BIT DATA 列として定義されます。

Authors_List VARCHAR (1000) Y RE 参照の作成者のリスト。名前は、セミコロンで区切られ、姓と、名およびミドルネームのイニシャルの形式を使用します。例: Stewart, L.K. や Wamhoff, J. など

Ambiguous CHAR(1) Y 参照が未確定であるかどうかを指定します。この列の有効値は Y および N です。

Citation_Title VARCHAR (100) Y RE OMIM データベース・エントリーで引用される参照のタイトル。

Citation_Type VARCHAR(10) Y 引用のタイプ。

Journal VARCHAR(50) Y ジャーナル

184 フェデレーテッド・データ・ソース 構成ガイド

Page 195: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 49. OMIM_References ニックネームの列 (続き)

列名 データ・タイプ NULL 検索タグ 説明

No_Link CHAR(1) Y OMIM データベース・エントリーに他の参照へのリンクがあるかどうかを指定します。この列の有効値は Y および N です。

Other_Authors VARCHAR (20) Y RE 参照で引用される他の作成者の名前。参照の作成者が 2

人いる場合、その 2 番目の作成者の姓。 3 人以上の作成者がいる場合には、et al というフレーズが OMIM データベース・エントリーから戻されます。参照に対して作成者が 1 人だけであれば、この列は NULL 値を戻します。

Page_From INTEGER Y 参照において記事が始まる先頭ページの番号。

Page_To INTEGER Y 参照において記事が終わる最終ページの番号。記事が 1

ページで収まる場合、この列は NULL 値を戻します。

Publication_Date DATE Y 参照が公開された日付。日または月が存在しない場合、日または月は 1 に設定されます。例えば、OMIM データベース内のエントリーが 2004 年 4 月であれば、2004/04/01 という日付が戻されます。

Pubmed_ID VARCHAR (10) Y Pubmed ID (PMID)。使用可能な PMID がない場合、この列は ’0’ を戻します。

Primary_Author VARCHAR (20) Y RE 引用される参照の筆頭執筆者の姓。

Ref_Orig_Number INTEGER Y OMIM データベース・エントリーの元の参照番号。

Ref_Number INTEGER N OMIM データベース・エントリーの現在の参照番号。

Type VARCHAR(20) Y 参照のタイプ。たとえば、引用、書籍、個人的なやりとりなどです。

Volume VARCHAR (10) Y 引用される参照のボリューム。

OMIM_Contributors ニックネームの固定列

以下の表では、OMIM_Contributors ニックネームの列について説明しています。

表 50. OMIM_Contributors ニックネームの列列名 データ・タイプ NULL 検索タグ 説明

MIM_ID VARCHAR(6) N ? OMIM データベース・エントリーを一意に識別する 6 桁の数値。親ニックネーム OMIM との結合条件で使用される外部キー列。 MIM_ID 列は FOR BIT DATA 列として定義されます。

Action VARCHAR (10) Y レコード上で実行されたアクション。例: 更新済みと認識済みなど。アクションは Author フィールドおよび Action フィールドから解析されます。

Author VARCHAR (40) N AU 投稿者の名前。この名前は Author フィールドおよび Action

フィールドから解析されます。

Date DATE Y 投稿が行われた日付。

OMIM_Links ニックネームの固定列

以下の表では、OMIM_Links ニックネームの列について説明しています。

表 51. OMIM_Links ニックネームの列列名 データ・タイプ NULL 検索タグ 説明

MIM_ID VARCHAR(6) N ? OMIM データベース・エントリーを一意に識別する 6 桁の数値。親ニックネーム OMIM との結合条件で使用される外部キー列。 MIM_ID 列は FOR BIT DATA 列として定義されます。

Links_Join_Key VARCHAR (32) N OMIM_Links ニックネームの主キー列。この列には、ラッパーによって生成される固有 ID が含まれます。この列は FOR

BIT DATA 列として定義されます。

第 8 章 Entrez データ・ソース 185

Page 196: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 51. OMIM_Links ニックネームの列 (続き)

列名 データ・タイプ NULL 検索タグ 説明

Link_Number INTEGER Y OMIM データベース・エントリーのリンク番号。

Link_Type VARCHAR (10) Y OMIM データベース・エントリーのリンクのタイプ。有効なタイプは、Medline、Protein、Nucleotide、または Structure です。

Link_Uids VARCHAR (300) Y OMIM_Links ニックネームの Links_Join_Key に関連した固有ID のリスト。固有 ID はコンマで区切られます。

OMIM_Links_uid ニックネームの固定列

以下の表では、OMIM_Links_uid ニックネームの列について説明しています。

表 52. OMIM_Links_uid ニックネームの列列名 データ・タイプ NULL 検索タグ 説明

Links_Join_Key VARCHAR (32) N 親ニックネーム OMIM_Links との結合条件で使用される外部キー。この列は FOR BIT DATA 列として定義されます。

Uid VARCHAR (10) N OMIM_Links_uid ニックネームの Links_Join_Key に関連した固有 ID。

PubMed ニックネームの固定列PubMed ニックネームを登録すると、PubMed データベース内のフィールドに関する情報が、フェデレーテッド・データベース・カタログに追加されます。カタログに追加される情報は、各ニックネームごとに固定列のセットとして表されます。

PubMed ニックネームのリスト

PubMed ニックネームは以下のとおりです。

v PMArticles

v PMAccession

v PMChemical

v PMMeSHHeading

v PMComments

v PMArticleID

以下の表では、各ニックネームに含まれる列についての情報が提供されます。

v 列の名前。

v 列のデータ・タイプ。

v 列の説明。

v ラッパーが PubMed データベースを照会するのに使用する検索タグ。検索タグを持つのは、ENTREZ.CONTAINS 関数で指定可能な列名だけです。

v 列が NULL 値を戻せるかどうか。NULL 値を戻す列の大半は入力列です。

ニックネームを作成するときに、列のデフォルトの長さをオーバーライドできます。例えば、PMArticles ニックネーム内の Abstract 列などいくつかの列は、大量のデータを戻すことがあります。この列のデフォルトの長さは、VARCHAR(32000) です。列の最初の 100 バイトを戻すには、列にデータ・タイプ VARCHAR(100) を定義します。これにより、最初の 100 バイトだけが戻されます。

186 フェデレーテッド・データ・ソース 構成ガイド

Page 197: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

有効な探索タグのリストについては、以下の NCBI Web サイトを参照して、「Search Field Descriptions and Qualifiers」へのリンクを見つけてください。www.ncbi.nlm.nih.gov/entrez/query/static/help/pmhelp.html

Entrez ラッパーは、最大で 5 メガバイトまでの長さの CLOB データ・タイプをサポートしています。

PMArticles ニックネームの固定列

以下の表では、PMArticles ニックネーム内の列について説明します。 F 列は、フェッチ・キーとして指定された列を示しています。フェッチ・キーを使用すると、照会の処理時間を短縮できる場合があります。

表 53. PubMed PMArticles ニックネーム列名 データ・タイプ 説明 タグ フェッ

チ・キー

PMID VARCHAR(10) NOT

NULL

PMArticles ニックネームと子ニックネームとの結合に使用する主キー列

UID はい

MedlineID VARCHAR(10) Medline ID UID はい

Owner VARCHAR(8) NOT

NULL

出版物項目の所有者; 値は NCBI によって定義されており、 NLM、NASA、 PIP、 KIE、 HSR、HMD、 SIS、 NOTNLM のいずれか。指定しない場合のデフォルトはNLM。

なし いいえ

Status VARCHAR(32) NOT

NULL

NCBI によって定義されている出版物状況。可能な値には In-Process、Completed、 Out-of-scope、PubMed-not_MEDLINE が含まれる。

なし いいえ

DateCreated DATE NOT NULL 出版物項目が作成された日付。 なし いいえ

DateCompleted DATE 出版物項目が完成した日付。 なし いいえ

DateRevised DATE 出版物項目が改定された日付。 なし いいえ

ArticleTitle VARCHAR(250) NOT

NULL

記事の表題。 TI いいえ

Pagination VARCHAR(32) 記事の完全なページ編集。 なし いいえ

Abstract VARCHAR(32000) 記事の要約。 TIAB いいえ

Affiliation VARCHAR(250) 第 1 著者の姓と住所 AD いいえ

AuthorList VARCHAR(3200) 著者のリスト; 標準化済み AU いいえ

LanguageList VARCHAR(250) NOT

NULL

セミコロン区切りリスト LA いいえ

PublicationTypeList VARCHAR(250) NOT

NULL

セミコロン区切りリスト PT いいえ

VernacularTitle VARCHAR(250) 日常語による記事の表題。 なし いいえ

DateOfElectronic

Publication

VARCHAR(32) NCBI スキーマでは、この列の構造は指定されていない

なし いいえ

Country VARCHAR(128) 雑誌に記載された資料の国または地域。

なし いいえ

MedlineTA VARCHAR(250) NOT

NULL

Medline 表題略語。 TA いいえ

第 8 章 Entrez データ・ソース 187

Page 198: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 53. PubMed PMArticles ニックネーム (続き)

列名 データ・タイプ 説明 タグ フェッチ・キー

NlmUniqueId VARCHAR(32) NlmUniqueID が指定されていない場合には MedlineCode

なし いいえ

GeneSymbolList VARCHAR(250) セミコロン区切りリスト; 1996 年以来使用されていない

なし いいえ

NumberOfReferences INTEGER レビュー記事の文献参照数。 なし いいえ

PersonalNameSubjectList VARCHAR(250) 名前のセミコロン区切りリストとして標準化済み

PS いいえ

KeywordList VARCHAR(3200) セミコロン区切りリスト なし いいえ

SpaceFlightMissionList VARCHAR(250) セミコロン区切りリスト なし いいえ

InvestigatorList VARCHAR(250) 名前のセミコロン区切りリストとして標準化済み

なし いいえ

PublicationStatus VARCHAR(32) 資料の状況。 なし いいえ

ProviderID VARCHAR(32) 資料の提供者 ID。 なし いいえ

CitationSubsetList VARCHAR(250) セミコロン区切りリスト SB いいえ

AllFields VARCHAR (1) 疑似列; 常に NULL を戻す ALL いいえ

TextWords VARCHAR (1) 疑似列; 常に NULL を戻す TW いいえ

PubDate DATE 雑誌および書籍の出版日付 +

medline 日付DP いいえ

PubDateString VARCHAR(32) 雑誌および書籍の出版日付 +

medline 日付DP いいえ

Title VARCHAR(250) 書籍または雑誌のタイトル TA いいえ

Journal_ISSN CHAR(9) 雑誌の ISSN。 TA いいえ

Journal_Volume VARCHAR(10) 雑誌のボリューム。 VI いいえ

Journal_Issue VARCHAR(10) 雑誌の論点。 IP いいえ

Journal_Coden VARCHAR(32) 雑誌のコード番号 (図書分類コード)。

なし いいえ

Journal_ISOAbbreviation VARCHAR(32) 雑誌の ISO 省略形。 なし いいえ

Book_Publisher VARCHAR(128) 書籍の出版社。 なし いいえ

Book_Authors VARCHAR(250) その他の著者のリストとして標準化済み

なし いいえ

Book_CollectionTitle VARCHAR(128) 書籍の表題集。 なし いいえ

Book_Volume VARCHAR(10) 書籍のボリューム。 なし いいえ

PMAccession ニックネームの固定列

以下の表では、PMAccession ニックネーム内の列について説明します。

表 54. PubMed PMAccession ニックネーム列名 データ・タイプ 説明 タグ

PMID VARCHAR(10) NOT

NULL

PMAccession の子ニックネームと親ニックネームとの結合に使用されるキー。

なし

DataBankName VARCHAR(250) NOT

NULL

データ・バンクの名前。 SI

Accession VARCHAR(32) NOT

NULL

受け入れ番号。 SI

188 フェデレーテッド・データ・ソース 構成ガイド

Page 199: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

PMChemical ニックネームの固定列

以下の表では、PMChemical ニックネーム内の列について説明します。

表 55. PubMed PMChemical ニックネーム

列名 データ・タイプ 説明 タグ

PMID VARCHAR(10)

NOT NULL

PMChemical の子ニックネームと親ニックネームとの結合に使用されるキー。

なし

NameOfSubstance VARCHAR(128)

NOT NULL

物質の名前。 NM

RegistryNumber VARCHAR(32)

NOT NULL

CAS またはその他の登録番号 RN

CASRegistry CHAR Y または N なし

PMMeSHHeading ニックネームの固定列

以下の表では、PMMeSHHeading ニックネーム内の列について説明します。

表 56. PubMed PMMeSHHeading ニックネーム

列名 データ・タイプ 説明 タグ

PMID VARCHAR(10)

NOT NULL

PMMeSHHeading の子ニックネームと親ニックネームとの結合に使用されるキー。

ID

DescriptorOrName VARCHAR(128)

NOT NULL

MeSH の名前または記述子。 MH1

DescriptorIsMajor CHAR NOT NULL 記述子がメジャーの場合 Y なし

QualifierOrSubhead VARCHAR(128) MeSH の修飾子または副見出し。 SH

QSIsMajor CHAR 修飾語または副題がメジャーの場合 Y なし

注:

1. 照会に述部 ″DescriptorIsMajor = Y″ が含まれている場合、検索語は MAJR となります。

PMComments ニックネームの固定列

以下の表では、PMComments ニックネーム内の列について説明します。

表 57. PubMed PMComments ニックネーム

列名 データ・タイプ 説明 タグ

PMID VARCHAR(10) NOT

NULL

PMComments の子ニックネームと親ニックネームとの結合に使用されるキー。

なし

RefSource VARCHAR(128)

NOT NULL

参照のソース。 なし

第 8 章 Entrez データ・ソース 189

Page 200: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 57. PubMed PMComments ニックネーム (続き)

列名 データ・タイプ 説明 タグ

タイプ VARCHAR(32) NOT

NULL

有効なタイプの例は、以下のとおりです。CommentOn、CommentIn、ErratumIn、ErratumFor、 RepublishedFrom、RepublishedIn、 RetractionOf、RetractionIn、 UpdateIn、 UpdateOf、SummaryForPatents、 OriginalReportIn

なし

注 VARCHAR(3200) 注 なし

PMArticleID ニックネームの固定列

以下の表では、PMArticleID ニックネーム内の列について説明します。

表 58. PubMed PMArticleID ニックネーム

列名 データ・タイプ 説明 タグ

PMID VARCHAR(10)

NOT NULL

PMArticleID の子ニックネームと親ニックネームとの結合に使用されるキー。

なし

ArticleID VARCHAR(32)

NOT NULL

記事の ID。 なし

IdType VARCHAR(8) NOT

NULL

有効な記事の ID タイプは、以下のとおりです。 doi、 pii、 pmcpid、 pmpid、sici、 pubmed、 medline、 pmcid

なし

190 フェデレーテッド・データ・ソース 構成ガイド

Page 201: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 9 章 Excel データ・ソース

Excel データ・ソースへのアクセスの構成フェデレーテッド・システムを使用すると、Excel データ・ソースにあるデータと他のソースからの情報を統合させることができます。

手順

フェデレーテッド・サーバーが Excel データ・ソースにアクセスするように構成するには、アクセスするデータ・ソースとオブジェクトの情報をフェデレーテッド・サーバーに渡す必要があります。フェデレーテッド・サーバーを構成したら、照会を作成して Excel データ・ソースにアクセスすることができます。

Excel ラッパーExcel ワークブックとは、Microsoft Excel アプリケーションを使用して作成されるファイルで、xls というファイル拡張子を持ちます。 Excel ラッパーは、Excel ファイルで検索を実行するのに使用します。

Excel ファイルは、対応する行と列が含まれる表として表示するのが最適な情報を保管するのに使用します。 Excel ワークブックは 1 つ以上のスプレッドシート・ページ (ワークシート) で構成されます。ワークシートはしばしば、計算を実行するために使用されます。

IBM WebSphere Federation Server は、Excel 2000、Excel 2002、および Excel 2003

で作成されたファイルをサポートしています。以下の図は、Excel ラッパーがワークシートをフェデレーテッド・システムに接続する方法を示しています。

Excel ラッパーは CREATE NICKNAME ステートメントを使用して、 Excel ワークシート内の列をフェデレーテッド・システム内の列にマップします。以下の表

図 15. Excel ラッパーがどのように機能するか

© Copyright IBM Corp. 1998, 2006 191

Page 202: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

は、Compound_Master.xls というファイルに保管されているワークシート・データのサンプルを示しています。

表 59. Compound_Master.xls のサンプル・ワークシート・データ

A B C D

1 COMPOUND_NAME WEIGHT MOL_COUNT WAS_TESTED

2 compound_A 1.23 367 テスト済み

3 compound_G 210

4 compound_F 0.000425536 174 テスト済み

5 compound_Y 1.00256 テスト済み

6 compound_Q 1024

7 compound_B 33.5362

8 compound_S 0.96723 67 テスト済み

9 compound_O 1.2 テスト済み

通常、Excel ワークシート内の情報は、標準 SQL コマンドでは使用できません。Excel ラッパーがフェデレーテッド・サーバーにインストールされて登録されると、この情報が典型的なリレーショナル・データ・ソースであるかのようにアクセスすることができます。たとえば、分子数が 100 より大きいすべての化合物データを知る必要がある場合、以下の SQL 照会を実行します。

SELECT * FROM compound_master WHERE mol_count > 100

照会の結果が、以下の表に示されています。

表 60. 照会の結果

COMPOUND_NAME WEIGHT MOL_COUNT WAS_TESTED

compound_A 1.23 367 テスト済み

compound_G 210

compound_F 0.000425536 174 テスト済み

compound_Q 1024

フェデレーテッド・サーバーへの Excel データ・ソースの追加フェデレーテッド・サーバーが Excel データ・ソースにアクセスするように構成するには、アクセスするデータ・ソースとオブジェクトの情報をフェデレーテッド・サーバーに渡す必要があります。

始める前に

v Excel ワークシート内のデータは、Excel ラッパーがアクセスできるように適切に構造化されている必要があります。

v IBM WebSphere Federation Server が、フェデレーテッド・サーバーとして機能するサーバー上にインストールされていなければなりません。

v フェデレーテッド・データベースがフェデレーテッド・サーバー上になければなりません。

制約事項

192 フェデレーテッド・データ・ソース 構成ガイド

Page 203: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v Excel ラッパーは、フェデレーテッド・サーバーでサポートされているバージョンの Microsoft Windows オペレーティング・システムでのみ使用可能です。

v Excel アプリケーションがフェデレーテッド・サーバー上にインストールされている必要があります。

v Excel ワークブックは、フェデレーテッド・サーバーと同じコンピューター上か、またはネットワーク・アクセス可能なドライブ上になければなりません。

v Excel ラッパーは、Excel ワークブック中の最初のワークシート中のデータしかアクセスできません。

v フェデレーテッド・データベースのコード・ページ・セットが Excel ファイルの文字セットと一致していなければなりません。そうでない場合、照会から予期しない結果が戻される可能性があります。

v パススルー・セッションは使用できません。

このタスクについて

コントロール・センターを使用するか、またはコマンド行で SQL ステートメントを発行することによって、 Excel データ・ソースに保管されているデータにアクセスするようフェデレーテッド・サーバーを構成することができます。コントロール・センターには、必須フェデレーテッド・オブジェクトを構成するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

Excel データ・ソースをフェデレーテッド・サーバーに追加するには、以下のようにします。

1. 『Excel ラッパーの登録』

2. 195ページの『Excel データ・ソースのサーバー定義の登録』

3. 196ページの『Excel データ・ソースのニックネームの登録』

Excel ラッパーの登録Excel データ・ソースにアクセスするには、ラッパーを登録する必要があります。

このタスクについて

ラッパーは、データ・ソースとの通信やデータの検索のためにフェデレーテッド・サーバーによって使用されます。ラッパーは、ライブラリー・ファイルのセットとしてインプリメントされます。

ラッパーは、コントロール・センターまたは DB2 コマンド行を使用することによって登録できます。コントロール・センターには、ラッパーを登録するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

Excel ラッパーを登録するには、次のようにします。

第 9 章 Excel データ・ソース 193

Page 204: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Excel ラッパーの登録に使用する方法を以下の中から選択します。

方法 手順

コントロール・センターの使用 「フェデレーテッド・オブジェクト」ウィザードを開始します。「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

コマンド行の使用 CREATE WRAPPER ステートメントを発行します。たとえば、次のようにします。

CREATE WRAPPER excel_wrapperLIBRARY ’db2lsxls.dll’;

LIBRARY パラメーターを CREATE

WRAPPER ステートメント内に指定する必要があります。

Excel ラッパーのライブラリー・ファイルExcel ラッパー・ライブラリー・ファイルは、 IBM WebSphere Federation Server のインストール時にフェデレーテッド・サーバーに追加されます。

IBM WebSphere Federation Server をインストールすると、デフォルトのディレクトリー・パスに 3 つのライブラリー・ファイルが追加されます。たとえば、フェデレーテッド・サーバーが Windows 上で稼働している場合、ディレクトリー・パスに追加されるラッパー・ライブラリー・ファイルは db2lsxls.dll、db2lsxlsF.dll、およびdb2lsxlsU.dll です。デフォルトのラッパー・ライブラリー・ファイルは、db2lsxls.dll

です。他のラッパー・ライブラリー・ファイルは、特定のラッパー・オプションで使用されます。

Excel ラッパーの登録時には、CREATE WRAPPER ステートメントに LIBRARY パラメーターを含め、デフォルトのラッパー・ライブラリー・ファイルの名前を指定する必要があります。

以下の表に、デフォルトのディレクトリー・パスとデフォルトのラッパー・ライブラリー・ファイルの名前がリストされています。

表 61. Excel ラッパーのライブラリー・ロケーションおよびファイル名

オペレーティング・システム ディレクトリー・パス ラッパー・ライブラリー・ファイル

Windows %DB2PATH%¥bin db2lsxls.dll

%DB2PATH% は IBM WebSphere Federation Server が Windows でインストールされるディレクトリー・パスを指定するのに使用する環境変数です。デフォルトのWindows ディレクトリー・パスは、C:¥Program Files¥IBM¥SQLLIB です。

194 フェデレーテッド・データ・ソース 構成ガイド

Page 205: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Excel データ・ソースのサーバー定義の登録フェデレーテッド・オブジェクトの階層では、ニックネームにより識別される Excel

ワークブック・ファイルが特定のサーバー定義オブジェクトに関連付けられている必要があるので、サーバー定義を登録する必要があります。

このタスクについて

サーバー定義は、コントロール・センターまたはコマンド行を使用することによって登録できます。コントロール・センターには、サーバー定義を登録するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

Excel データ・ソースのサーバー定義を登録するには、次のようにします。

サーバー定義を登録するために使用する方法を以下の中から選択します。

方法 手順

コントロール・センターの使用 「フェデレーテッド・オブジェクト」ウィザードを開始します。「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

コマンド行の使用 CREATE SERVER ステートメントを発行します。たとえば、次のようにします。

CREATE SERVER server_definition_nameWRAPPER excel_wrapper;

CREATE SERVER ステートメント - Excel ラッパーの例Excel ラッパーにサーバー定義を登録するには、CREATE SERVER ステートメントを使用します。

以下の例は、生化学データを含むワークブックについてサーバー定義 biochem_lab

を登録する方法を示します。発行する CREATE SERVER ステートメントは次のとおりです。

CREATE SERVER biochem_lab WRAPPER excel_wrapper;

biochem_lab

Excel サーバー定義に割り当てる名前。重複するサーバー定義名は使用できません。

WRAPPER Excel_wrapper

CREATE WRAPPER ステートメントで指定したラッパー名。

第 9 章 Excel データ・ソース 195

Page 206: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Excel データ・ソースのニックネームの登録登録するそれぞれの Excel サーバー定義で、アクセスするそれぞれの Excel ワークシートごとにニックネームを登録する必要があります。 Excel データ・ソースを照会するときには、ワークシートの名前ではなく、これらのニックネームを使用します。

このタスクについて

Excel ワークシートのニックネームを作成すると、ワークシート・データ内の情報がリレーショナル表にマップされます。

ワークシート内のブランク・セルは、NULL として解釈されます。

ワークシート内には最大で連続 10 個のブランクを含めることができ、データ・セット内に含められます。 10 個を超える連続ブランクは、データ・セットの終了として解釈されます。

ワークシートに、ブランク列を含めることができます。しかし、これらの列は、たとえそれが使用されない場合でも、有効なフィールドとして登録され、記述されなければなりません。

手順

Excel ワークシートのニックネームを登録するには、次のようにします。

ニックネームを登録するために使用する方法を以下の中から選択します。ニックネームの長さは 128 文字までです。

方法 手順

コントロール・センターの使用 「フェデレーテッド・オブジェクト」ウィザードを開始します。「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。ウィザードのステップに従ってください。

コマンド行の使用 CREATE NICKNAME ステートメントを発行します。たとえば、次のようにします。

CREATE NICKNAME nickname(column_name data_type

OPTIONS (nickname_column_ options),column_name data_type

OPTIONS (nickname_column_ options),column_name data_type

OPTIONS (nickname_column_ options))FOR SERVER server_definition_nameOPTIONS (nickname_options);

ニックネームを作成する Excel ワークシートごとに、このステップを繰り返します。

196 フェデレーテッド・データ・ソース 構成ガイド

Page 207: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CREATE NICKNAME ステートメント - Excel ラッパーの例CREATE NICKNAME ステートメントを使用して、アクセスする Excel ワークシートのニックネームを登録します。以下の例は、必須パラメーターと任意指定のニックネーム・オプションを示しています。

CREATE NICKNAME Compounds(Compound_ID INTEGER,CompoundName VARCHAR(50),MolWeight FLOAT)FOR SERVER biochem_labOPTIONS (FILE_PATH ’C:¥My Documents¥CompoundMaster.xls’,RANGE ’B2:D25’);

Compounds

Excel ワークシートを識別するために使用する固有のニックネームです。

重要: ニックネームは、2 つの部分 (スキーマとニックネーム) からなる名前です。ニックネームの登録時にスキーマを省略すると、ニックネームを登録するユーザーの許可 ID がニックネームのスキーマとして使用されます。

Compound_ID INTEGER

化合物の ID を含むワークシート列の名前とデータ・タイプ。

CompoundNAME VARCHAR(50)

化合物の名前を含むワークシート列の名前とデータ・タイプ。

MolWeight FLOAT

化合物の分子量を含むワークシート列の名前とデータ・タイプ。

FOR SERVER biochem_lab

CREATE SERVER ステートメントで Excel サーバー定義に割り当てた名前。

FILE_PATH ’C:¥My Documents¥CompoundMaster.xls’)アクセスするデータを含む Excel ワークブックの完全修飾ディレクトリー・パスとファイル名を指定します。このデータはワークブックの最初のワークシートに入っていなければなりません。

OPTIONS (RANGE ’B2:D25’)FILE_PATH ニックネーム・オプションで指定したワークブック内でアクセスするセルの範囲を指定します。

範囲オプション値の構文または意味エラーはどれも SQL1882E メッセージとなります。次のようなエラーがあります。

v 範囲が有効な範囲ではない。たとえば、範囲で指定した左上のセルが、右下のセルの下側または右側にある場合です。

v 範囲値によって指定された列の数が CREATE NICKNAME ステートメントで指定された列の数に対応しない。

v 無効文字または他の構文エラーが見つかった。

第 9 章 Excel データ・ソース 197

Page 208: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Excel データ・ソース - 照会の例Excel データにアクセスするには、通常の表名と表の列を使用する場合と同様に、SQL ステートメントでニックネームと定義済みのニックネーム列を使用します。

以下の例では、ニックネーム compounds を使用して Excel データにアクセスする照会を構成する方法を示します。

特定の情報列の選択

以下の照会は、分子量が 200 より大きいすべての compound_ID を表示します。

SELECT compound_ID FROM compoundsWHERE molweight > 200;

SELECT ステートメントでの OR 条件の使用

以下の照会は、化合物名または分子量が NULL になっているすべてのレコードを表示します。

SELECT * FROM compoundsWHERE compoundname IS NULL OR molweight IS NULL;

SELECT ステートメントでの LIKE および AND 条件の使用

以下の照会は、化合物名にストリング ase が含まれており、分子量が 300 以上のすべてのレコードを表示します。

SELECT * FROM compoundsWHERE compoundname LIKE ’%ase% AND molweight >= 300;

Excel データ・ソース - サンプル・シナリオこのシナリオでは、Excel ワークシートへのアクセスに使用するフェデレーテッド・オブジェクトを登録するのに必要な SQL ステートメントを示します。このシナリオには、作成したニックネームを使用して実行できるいくつかの照会が含まれています。

Excel ワークシートについての情報

このシナリオでは、最初にさまざまな化合物についての情報を含むワークシートを使用します。ワークシートが入っているワークブックの名前は Compound_Master.xls

であり、このワークブックは Excel で作成されています。ワークブックの完全修飾パス名は、 C:¥Data¥Compound_Master.xls です。

ワークブック内の最初のワークシートには 4 列× 9 行のデータが含まれています。列には、化合物の名前、化合物の重量、化合物の分子数、およびその化合物がテスト済みかどうかがリストされています。

ワークシートの内容は以下の表に示されています。

表 62. サンプル・ワークシート Compound_Master.xls

A B C D

1 COMPOUND_NAME WEIGHT MOL_COUNT WAS_TESTED

2 compound_A 1.23 367 テスト済み

198 フェデレーテッド・データ・ソース 構成ガイド

Page 209: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 62. サンプル・ワークシート Compound_Master.xls (続き)

A B C D

3 compound_G 210

4 compound_F 0.000425536 174 テスト済み

5 compound_Y 1.00256 テスト済み

6 compound_Q 1024

7 compound_B 33.5362

8 compound_S 0.96723 67 テスト済み

9 compound_O 1.2 テスト済み

フェデレーテッド・オブジェクトを登録する

Excel ラッパーを使用してワークシートにアクセスするには、オブジェクトをフェデレーテッド・サーバーに登録する必要があります。

1. Excel ラッパーを登録します。

たとえば、次のようにします。

CREATE WRAPPER Excel LIBRARY ’db2lsxls.dll’;

2. サーバー定義を登録します。

たとえば、次のようにします。

CREATE SERVER biochem_lab WRAPPER Excel;

3. Excel ワークシートを参照するニックネームを登録します。

たとえば、次のようにします。

CREATE NICKNAME Compound_Master(compound_name VARCHAR(40),weight FLOAT,mol_count INTEGER,was_tested VARCHAR(20))FOR SERVER biochem_labOPTIONS (FILE_PATH ’C:¥Data¥Compound_Master.xls’);

登録プロセスが完了します。これで、Excel ワークシートはフェデレーテッド・システムの一部となり、SQL 照会で使用できるようになります。

以下の例は、SQL 照会と、Compound_Master ニックネームから戻される結果を示しています。

特定の WHERE 文節条件に一致するすべてのデータを戻す照会

分子数が 100 より大きい化合物のすべてのデータを戻すには、以下の照会を発行します。

SELECT * FROM Compound_MasterWHERE mol_count > 100;

行 2、3、4、および 6 からすべての列が戻されます。

第 9 章 Excel データ・ソース 199

Page 210: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ワークシートから特定の列を戻す照会

分子数がまだ判別されていないすべての化合物の名前と分子数を戻すには、以下の照会を発行します。

SELECT compound_name, mol_count FROM Compound_MasterWHERE mol_count IS NULL;

行 5、7、および 9 から、compound_name および mol_count 列が戻されます。

特定の WHERE 文節条件に一致する行の数を数える照会

重量が 1 より大きく、テスト済みでない化合物の数を戻すには、以下の照会を発行します。

SELECT count(*) FROM Compound_MasterWHERE was_tested IS NULL AND weight > 1

レコード・カウント 1 が戻されます。行 7 の化合物が照会基準に一致しています。

ワークシートから特定の列を戻す、副選択ステートメントを含む照会

分子数が判別済みで、その分子数が平均の分子数よりも小さいすべての化合物の名前と分子数を戻すには、以下の照会を発行します。

SELECT compound_name, mol_count FROM Compound_MasterWHERE mol_count IS NOT NULLAND mol_count <(SELECT AVG(mol_count) FROM Compound_MasterWHERE mol_count IS NOT NULL AND was_tested IS NOT NULL);

副照会は分子数の平均として 368 を戻します。主照会はこの平均を使用して、以下の表で示されている照会結果を戻します。

表 63. 照会の結果

COMPOUND_NAME MOL_COUNT

compound_A 367

compound_G 210

compound_F 174

compound_S 67

Excel ラッパーのファイル・アクセス・コントロール・モデル

Excel ファイルにアクセスする際、ラッパーはセキュリティー上の目的でユーザーID が必要です。 Excel ラッパーは、フェデレーテッド・データベース・サービスに関連したユーザー ID を使用します。フェデレーテッド・データベース・サービスの名前は、データベース・インスタンスの名前によって異なります。例えば、データベース・インスタンスの名前が DB2 である場合、サービス名は DB2 - DB2

となります。フェデレーテッド・データベース・サービスに関連したユーザー ID

を判別するには、Windows で「コントロール パネル」を使用してサービスを表示してください。サービス名をダブルクリックして、「ログオン」プロパティー・ページを表示します。

200 フェデレーテッド・データ・ソース 構成ガイド

Page 211: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 10 章 HMMER データ・ソース

HMMER データ・ソースへのアクセスの構成フェデレーテッド・システムを使用すると、HMMER データ・ソースにあるデータを照会して、他のソースからの情報と統合させることができます。

手順

フェデレーテッド・サーバーが HMMER データ・ソースにアクセスするように構成するには、アクセスするデータ・ソースとオブジェクトの情報をフェデレーテッド・サーバーに提供する必要があります。フェデレーテッド・サーバーを構成した後、HMMER データ・ソースにアクセスするための照会を作成できます。

HMMER ラッパーHMMER は、統計モデルまたはプロファイルとして Hidden Markov Model (HMM)

を使用する遺伝子列データベースの検索に使用できるアプリケーション・パッケージです。 HMMER ラッパーは、HMMER アプリケーション・パッケージが解釈できる形式に照会ステートメントを変換した後、その照会を実行するために hmmpfam

プログラムを始動します。

HMMER アプリケーション・パッケージは、http://hmmer.wustl.edu/ から無料でダウンロードすることができます。別々の HMMER サーバーまたはフェデレーテッド・サーバー上に、HMMER アプリケーション・パッケージをインストールできます。

HMM は、遺伝子列ファミリーの主要な構造に関するコンセンサスの統計モデルです。 HMM は、確率モデルに基づいています。信頼の置ける配列がまだ解明されていない場合、配列が確認されていない遺伝子列からパターンを認識するよう、HMM

に学習させることができます。プロファイルを丹念に構成していくことに比べ、学習させて優れた成果をもたらすようになった HMM を使用することのほうが、求められるスキルが低くて済み、手作業の必要性も小さくなります。学習済み HMM を使用すれば、何百というプロファイル HMM のライブラリーにアクセスして、それらを幅広くゲノム全体または Expressed Sequence Tag (EST) 分析に適用できます。

PFAM (Protein Families Database of Alignments and HMMs) は、たんぱく質ドメイン・モデルのデータベースです。 HMMER アプリケーション・パッケージは、PFAM データベースの構成および使用と密接なつながりがあります。

HMMER アプリケーション・パッケージには 9 つのプログラムが含まれますが、IBM WebSphere Federation Server がサポートするのは、そのプログラムのうち 2

つ (hmmpfam プログラムおよび hmmsearch プログラム) だけです。

© Copyright IBM Corp. 1998, 2006 201

Page 212: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 64. HMMER ラッパーがサポートする HMMER プログラム

HMMER プログラム

説明

hmmpfam 特定の遺伝子配列を使用して HMM データベースを検索し、そのテスト遺伝子配列が属するファミリーを判別します。各モデルが、指定された列およびモデル・データベースと一致する度合いを計算します。一致の度合いは、統計の有意性で表されます。

hmmsearch 特定の HMM プロファイルを使用して、よく似たシーケンスの一致がないかどうかシーケンス・データベースを検索します。

ユーザーまたはアプリケーションは、HMMER 固有の述部がある SQL 照会ステートメントをフェデレーテッド・サーバーに発行します。これらのステートメント内の述部は、hmmpfam または hmmsearch プログラム内のコマンド行オプションにマップされます。

特別なデーモン・プログラムが HMMER アプリケーション・パッケージがインストールされているサーバーで実行されます。このデーモンは、フェデレーテッド・サーバーからの照会要求を受信し、それを HMMER アプリケーション・パッケージへ送信します。 HMMER アプリケーション・パッケージは、PFAM などのプロファイル・データベース上で照会を実行します。

以下の図に、フェデレーテッド・システムでの HMMER の動作を示します。

デーモンは、結果を HMMER ラッパーに戻します。ラッパーはデータをリレーショナル表に変換し、この表をユーザーまたはアプリケーションへ戻します。

次の例は、HMMER プログラムによって構成され、リレーショナル表として表示されるプロファイル・データベースから情報を抽出する方法を示すものです。HMMER User’s Guide http://hmmer.wustl.edu/ には、プロファイル・データベースの作成例と HMMER のチュートリアルが載せられています。

図 16. HMMER ラッパーがどのように機能するか

202 フェデレーテッド・データ・ソース 構成ガイド

Page 213: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

この例では、7LES_DROME 遺伝子列を使用したサンプル照会を示しています。遺伝子列は、照会の WHERE 文節に指定します。

HMMER ラッパーは、照会の結果を、以下の表に示すリレーショナル表に変換します。

表 65. HMMER 結果は、リレーショナル表に変換されます。

Model ModelScore DomainNumber DomainScore

pkinase +3.04100000000000E+002 1 +3.04100000000000E+002

fn3 +1.76300000000000E+002 1 +4.90000000000000E+001

fn3 +1.76300000000000E+002 2 +1.36000000000000E+001

fn3 +1.76300000000000E+002 3 +1.62000000000000E+001

fn3 +1.76300000000000E+002 4 +6.35000000000000E+001

fn3 +1.76300000000000E+002 5 +1.46000000000000E+001

SELECT Model, ModelScore, DomainNumber, DomainScoreFROM myhmmsWHERE HmmQSeq = ’MTMFWQQNVDHQSDEQDKQAKGAAPTKRLNISFNVKIAVNVNTKMTTTHINQQAPGTSSSSSNSQNASPSKIVVRQQSSSFDLRQQLARLGRQLASGQDGHGGISTILIINLLLLILLSICCDVCRSHNYTVHQSPEPVSKDQMRLLRPKLDSDVVEKVAIWHKHAAAAPPSIVEGIAISSRPQSTMAHHPDDRDRDRDPSEEQHGVDERMVLERVTRDCVQRCIVEEDLFLDEFGIQCEKADNGEKCYKTRCTKGCAQWYRALKELESCQEACLSLQFYPYDMPCIGACEMAQRDYWHLQRLAISHLVERTQPQLERAPRADGQSTPLTIRWAMHFPEHYLASRPFNIQYQFVDHHGEELDLEQEDQDASGETGSSAWFNLADYDCDEYYMCEILEALIPYTQYRFRFELPFGENRDEVLYSPATPAYQTPPEGAPISAPVIEHLMGLDDSHLAVHWHPGRFTNGPIEGYRLRLSSSEGNATSEQLVPAGRGSYIFSQLQAGTNYTLALSMINKQGEGPVAKGFVQTHSARNEKPAKDLTESVLLVGRRAVMWQSLEPAGENSMIYQSQEELADIAWSKREQQLWLLNVHGELRSLKFESGQMVSPAQQLKLDLGNISSGRWVPRRLSFDWLHHRLYFAMESPERNQSSFQIISTDLLGESAQKVGESFDLPVEQLEVDALNGWIFWRNEESLWRQDLHGRMIHRLLRIRQPGWFLVQPQHFIIHLMLPQEGKFLEISYDGGFKHPLPLPPPSNGAGNGPASSHWQSFALLGRSLLLPDSGQLILVEQQGQAASPSASWPLKNLPDCWAVILLVPESQPLTSAGGKPHSLKALLGAQAAKISWKEPERNPYQSADAARSWSYELEVLDVASQSAFSIRNIRGPIFGLQRLQPDNLYQLRVRAINVDGEPGEWTEPLAARTWPLGPHRLRWASRQGSVIHTNELGEGLEVQQEQLERLPGPMTMVNESVGYYVTGDGLLHCINLVHSQWGCPISEPLQHVGSVTYDWRGGRVYWTDLARNCVVRMDPWSGSRELLPVFEANFLALDPRQGHLYYATSSQLSRHGSTPDEAVTYYRVNGLEGSIASFVLDTQQDQLFWLVKGSGALRLYRAPLTAGGDSLQMIQQIKGVFQAVPDSLQLLRPLGALLWLERSGRRARLVRLAAPLDVMELPTPDQASPASALQLLDPQPLPPRDEGVIPMTVLPDSVRLDDGHWDDFHVRWQPSTSGGNHSVSYRLLLEFGQRLQTLDLSTPFARLTQLPQAQLQLKISITPRTAWRSGDTTRVQLTTPPVAPSQPRRLRVFVERLATALQEANVSAVLRWDAPEQGQEAPMQALEYHISCWVGSELHEELRLNQSALEARVEHLQPDQTYHFQVEARVAATGAAAGAASHALHVAPEVQAVPRVLYANAEFIGELDLDTRNRRRLVHTASPVEHLVGIEGEQRLLWVNEHVELLTHVPGSAPAKLARMRAEVLALAVDWIQRIVYWAELDATAPQAAIIYRLDLCNFEGKILQGERVWSTPRGRLLKDLVALPQAQSLIWLEYEQGSPRNGSLRGRNLTDGSELEWATVQPLIRLHAGSLEPGSETLNLVDNQGKLCVYDVARQLCTASALRAQLNLLGEDSIAGQLAQDSGYLYAVKNWSIRAYGRRRQQLEYTVELEPEEVRLLQAHNYQAYPPKNCLLLPSSGGSLLKATDCEEQRCLLNLPMITASEDCPLPIPGVRYQLNLTLARGPGSEEHDHGVEPLGQWLLGAGESLNLTDLLPFTRYRVSGILSSFYQKKLALPTLVLAPLELLTASATPSPPRNFSVRVLSPRELEVSWLPPEQLRSESVYYTLHWQQELDGENVQDRREWEAHERRLETAGTHRLTGIKPGSGYSLWVQAHATPTKSNSSERLHVRSFAELPELQLLELGPYSLSLTWAGTPDPLGSLQLECRSSAEQLRRNVAGNHTKMVVEPLQPRTRYQCRLLLGYAATPGAPLYHGTAEVYETLGDAPSQPGKPQLEHIAEEVFRVTWTAARGNGAPIALYNLEALQARSDIRRRRRRRRRNSGGSLEQLPWAEEPVVVEDQWLDFCNTTELSCIVKSLHSSRLLLFRVRARSLEHGWGPYSEESERVAEPFVSPEKRGSLVLAIIAPAAIVSSCVLALVLVRKVQKRRLRAKKLLQQSRPSIWSNLSTLQTQQQLMAVRNRAFSTTLSDADIALLPQINWSQLKLLRFLGSGAFGEVYEGQLKTEDSEEPQRVAIKSLRKGASEFAELLQEAQLMSNFKHENIVRLVGICFDTESISLIMEHMEAGDLLSYLRAARATSTQEPQPTAGLSLSELLAMCIDVANGCSYLEDMHFVHRDLACRNCLVTESTGSTDRRRTVKIGDFGLARDIYKSDYYRKEGEGLLPVRWMSPESLVDGLFTTQSDVWAFGVLCWEILTLGQQPYAARNNFEVLAHVKEGGRLQQPPMCTEKLYSLLLLCWRTDPWERPSFRRCYNTLHAISTDLRRTQMASATADTVVSCSRPEFKVRFDGQPLEEHREHNERPEDENLTLREVPLKDKQLYANEGVSRL’

図 17. 7LES_DROME データに対する照会の例

第 10 章 HMMER データ・ソース 203

Page 214: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 65. HMMER 結果は、リレーショナル表に変換されます。 (続き)

Model ModelScore DomainNumber DomainScore

fn3 +1.76300000000000E+002 6 +1.94000000000000E+001

rrm -4.45000000000000E+001 1 -4.45000000000000E+001

これでデータはリレーショナル形式になり、その他のデータ・ソースからのデータと結合できるようになりました。

フェデレーテッド・サーバーへの HMMER データ・ソースの追加フェデレーテッド・サーバーが HMMER データ・ソースにアクセスするように構成するには、アクセスするデータ・ソースとオブジェクトの情報をフェデレーテッド・サーバーに提供する必要があります。

始める前に

v IBM WebSphere Federation Server が、フェデレーテッド・サーバーとして機能するサーバーにインストールされている必要があります。

v フェデレーテッド・データベースがフェデレーテッド・サーバー上になければなりません。

このタスクについて

コントロール・センターを使用するか、またはコマンド行で SQL ステートメントを発行することによって、 HMMER データ・ソースに保管されているデータにアクセスするようフェデレーテッド・サーバーを構成することができます。コントロール・センターには、必須フェデレーテッド・オブジェクトを構成するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

HMMER データ・ソースをフェデレーテッド・サーバーに追加するには、以下のようにします。

1. 正しいバージョンの HMMER プログラム実行可能ファイルがインストールされていることを検証します。

2. HMMER デーモンを構成します。

3. HMMER デーモンを開始します。

4. ラッパーを登録します。

5. サーバー定義を登録します。

6. オプション: ユーザー・マッピングを作成します。

7. ニックネームを登録します。

204 フェデレーテッド・データ・ソース 構成ガイド

Page 215: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

HMMER プログラムの実行可能ファイルのバージョンの検査サポートされるバージョンの hmmpfam および hmmsearch 実行可能ファイルを、HMMER アプリケーション・プログラムがインストールされているサーバー上にインストールする必要があります。

このタスクについて

HMMER アプリケーション・プログラムは、フェデレーテッド・サーバーまたは別個の HMMER サーバー上にインストールできます。

手順

HMMER 実行可能ファイルのバージョンをチェックするには、次のようにします。

1. バージョン番号を戻す以下のコマンドを発行します。

v hmmpfam -h プログラムの場合、コマンドは以下のとおりです。

v hmmsearch プログラムの場合、コマンドは hmmsearch -h です。

2. 出力ファイル内で、実行可能ファイルのバージョンをチェックします。 HMMER

バージョンは 2.2g、またはそれ以降でなければなりません。

正しいバージョンでない場合は、http://hmmer.wustl.edu/ からファイルをダウンロードしてください。

HMMER デーモンの構成HMMER データ・ソースにアクセスするためには、HMMER デーモンが HMMER

ラッパーで必要です。HMMER デーモンは、HMMER ラッパーを登録する前に構成しなければなりません。

始める前に

HMMER デーモンには、以下の権限が必要です。

v HMMER 検索を実行するための、hmmpfam および hmmsearch 実行可能ファイルの実行アクセス権限。

v 一時ファイルに書き込むことができるディレクトリーに対する書き込みアクセス権限。

v HMMER 検索を実行できる、少なくとも 1 つのプロファイル・データベースへの読み取りアクセス権限。

制約事項

HMMER デーモンは、実行可能ファイル名またはデータベース・パスにスペースが含まれる場合、正しく動作しない場合があります。例えば、Windows サーバー上のC:¥Program Files に HMMER 実行可能ファイルをインストールしないでください。

このタスクについて

HMMER ラッパーは HMMER デーモンを必要とします。 HMMER デーモンは、フェデレーテッド・システムから TCP/IP を介してアクセス可能なサーバー上で実

第 10 章 HMMER データ・ソース 205

Page 216: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

行していなければなりません。これは、フェデレーテッド・サーバーが実行されるのと同じサーバーか、別個の HMMER サーバーにすることができます。

HMMER デーモンは、HMMER ラッパーおよびフェデレーテッド・データベースとは別個に実行します。この HMMER デーモンは、ラッパーからの HMMER ジョブ要求を listen します。

WebSphere Federation Server のインストール中に、デーモン構成ファイルのサンプルがフェデレーテッド・サーバーにインストールされます。このサンプルのデーモン構成ファイルの名前は HMMER_DAEMON.config です。

手順

HMMER デーモンを構成するには、以下のように行います。

1. 他の必要なファイルが、HMMER がインストールされているサーバー上にあることを確認してください。

IBM WebSphere Federation Server のインストール中に、必要なファイルの一部がフェデレーテッド・サーバーにインストールされます。他の必要なファイルを指定する必要があります。

UNIX が稼働するフェデレーテッド・サーバーの場合、必要なファイルは以下のとおりです。

v HMMER デーモン実行可能ファイル、$DB2PATH/bin/db2hmmer_daemon

v HMMER デーモン構成ファイル、%DB2PATH%/samples/lifesci/HMMER_DAEMON.config

v 変換ユーティリティー、%DB2PATH%/bin/db2h2x

v シェル・スクリプト、%DB2PATH%/bin/db2runpfam.ksh

v HMMER プログラム実行可能ファイル、hmmpfam および hmmsearch。これらのファイルは、IBM からは提供されません。

v HMMER データベース・ファイルこれらのファイルは、IBM からは提供されません。

Windows が稼働するフェデレーテッド・サーバーの場合、必要なファイルは以下のとおりです。

v デーモン実行可能ファイル、%DB2PATH%\bin\db2hmmer_daemon.exe および%DB2PATH%\bin\db2hmmer_daemon_svc.exe

v HMMER デーモン構成ファイル、%DB2PATH%\samples\lifesci\HMMER_DAEMON.config

v 変換ユーテリティー、%DB2PATH%\bin\db2h2x.exe

v HMMER プログラム実行可能ファイル、hmmpfam.exe およびhmmsearch.exe。これらのファイルは、IBM からは提供されません。

v HMMER データベース・ファイルこれらのファイルは、IBM からは提供されません。

%DB2PATH% は、フェデレーテッド・データベースがインストールされているパスです。

206 フェデレーテッド・データ・ソース 構成ガイド

Page 217: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

デフォルトでは、デーモンは、デーモンが開始される作業ディレクトリー内で構成ファイルを検索します。構成ファイルは、別のロケーションにコピーすることができます。 HMMER サーバーを使用する場合、デーモン構成ファイルを、フェデレーテッド・サーバー上のディレクトリーから HMMER サーバー上のディレクトリーにコピーする必要があります。デーモン構成ファイルは、デーモンがアクセスできる HMMER サーバー上の任意のディレクトリーにコピーすることができます。

2. UNIX の場合、HMMER デーモン実行可能ファイル、変換ユーティリティー、およびシェル・スクリプトが実行可能であることを確認してください。

ファイルを実行可能にするには、以下のコマンドを実行してください。

chmod a+x db2hmmer_daemon db2h2x db2runpfam.ksh

3. デーモン構成ファイルを編集して、データ・ソースを扱うことができるようにします。

a. オプション: 構成ファイルを名前変更することができます。

b. 構成ファイルの 1 行目が等号であることを確認してください。等号がないと、デーモンは開始しません。 DAEMON_PORT が指定されなかったことを示すエラー・メッセージが出されます。

c. 構成ファイルの最終行が改行で終わっていることを確認してください。

WebSphere Federation Server に付属のサンプル構成ファイルは、改行で終了しています。最終行が改行で終了していない場合、最終行にリストされたデータ・ソースを使用して HMMER 照会を初めて実行しようとする際に、エラー・メッセージが出されます。

d. 構成ファイルに以下のオプションを指定します。パスを必要とするオプションについては、相対パスを指定できます。相対パスは、デーモン・プロセスが開始されたディレクトリーに相対しています。

DAEMON_PORTこれは、ラッパーによってサブミットされた HMMER ジョブ要求をデーモンが listen するネットワーク・ポートです。

MAX_PENDING_REQUESTSこれは、任意の一時点でデーモンでブロッキングできる HMMER ジョブ要求の最大数です。この数は、並行して実行される HMMER ジョブ数を表すものではありません。一時点でブロックできるジョブ要求数のみです。これを 5 より大きい数に設定することをお勧めします。 HMMER デーモンでは、並行して実行できる HMMER ジョブ数の制限はありません。

DAEMON_LOGFILE_DIRこれは、デーモンがそのログ・ファイルを作成するディレクトリーです。このファイルには、HMMER デーモンが生成する有用な状況情報とエラー情報が含まれます。

Q_SEQ_DIR_PATHこれは、デーモンによって一時照会シーケンス・データ・ファイルが作成されるディレクトリーです。この一時ファイルは、HMMER ジョブが完了するとクリーンアップされます。

第 10 章 HMMER データ・ソース 207

Page 218: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

HMMER_OUT_DIR_PATHこれは、デーモンが HMMER 出力データを保管するための一時ファイルを作成するディレクトリーです。データはこのファイルから読み取られて、ネットワーク接続を介してラッパーに戻されます。データがラッパーに渡されると、デーモンは一時ファイルをクリーンアップします。

RUNPFAM_PATHこれは、WebSphere Federation Server に付属しているdb2runpfam.ksh シェル・スクリプトの完全修飾名です。Windows で指定される場合、このオプションは無視されます。

HMMERPFAM_PATHこれは、デーモンを実行しているコンピューター上の HMMER 実行可能ファイルの完全修飾名です。UNIX の場合、このファイルの名前は hmmpfam です。Windows の場合、このファイルの名前はhmmpfam.exe です。

HMMSEARCH_PATHこれは、デーモンを実行しているコンピューター上の HMMER 実行可能ファイルの完全修飾名です。UNIX の場合、このファイルの名前は hmmsearch です。Windows の場合、このファイルの名前はhmmsearch.exe です。

H2X_PATHこれは、デーモンに付属している (HMMER から XML への) 変換プログラムの完全修飾名です。 UNIX の場合、このプログラムの名前は db2h2x です。Windows の場合、このプログラムの名前はdb2h2x.exe です。

データベース指定項目プロファイル・データベースまたはシーケンス・ファイルのロケーションを指定します。構成ファイルに指定したデータベースdata_source_name をメモしてください。デーモンが正しく機能するためには、データ・ソースのニックネームを作成するときに、データベース data_source_name を指定する必要があります。この名前は大文字小文字が区別されます。データベース data_source_name は、以下で指定されます。

v CREATE NICKNAME ステートメントの DATASOURCE オプション (hmmpfam の場合)

v CREATE NICKNAME ステートメントの MODEL 述部(hmmsearch の場合)

構成ファイルには、プロファイルまたはデータベースの完全修飾パスを指定する、少なくとも 1 つのデータベース指定項目が含まれている必要があります。例:

data_source_name=profile_or_sequence_database_name

UNIX が稼働するフェデレーテッド・サーバーの場合たとえば、MYHMMS プロファイル・データベースを指定するには、次の行をデーモン構成ファイルに追加します。

myhmms=/home/user_ID/myhmms

208 フェデレーテッド・データ・ソース 構成ガイド

Page 219: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Windows が稼働するフェデレーテッド・サーバーの場合たとえば、MYHMMS プロファイル・データベースを指定するには、次の行をデーモン構成ファイルに追加します。

myhmms=c:¥hmmer¥tutorial¥myhmms

HMMER デーモン構成ファイル - 例以下の例には、PFAM データ・ソースおよび SEARCH データ・ソースで必須の設定と仕様が示されています。UNIX サーバーと Windows サーバー用の両方のデーモン構成ファイルの例があります。

以下の例は、サンプルの HMMER デーモン構成ファイルの内容を示しています。HMMER 構成ファイルは、フェデレーテッド・サーバーまたは別個の HMMER サーバー上で実行できます。HMMER 構成ファイルは、HMMER 実行可能ファイルと同じサーバー上になければなりません。

HMMER_DAEMON.config ファイル (UNIX の場合)

この例は、UNIX の場合の必須オプションとプロファイル・データベース仕様を示しています。

=DAEMON_PORT=4098MAX_PENDING_REQUESTS=10DAEMON_LOGFILE_DIR=./Q_SEQ_DIR_PATH=./HMMER_OUT_DIR_PATH=./RUNPFAM_PATH=./db2runpfam.kshHMMPFAM_PATH= ./db2runpfam.ksh /home/user_id/hmmer/bin/hmmpfamHMMSEARCH_PATH= ./db2runpfam.ksh /home/user_id/hmmer/bin/hmmsearchH2X_PATH=/home/user_id/sqllib/bin/db2h2xmyhmms=/home/user_id/hmmer/tutorial/myhmmsglobin=/home/user_id/hmmer/tutorial/globin.hmmpfamls=/home/user_id/hmmer/pfam/Pfam_ls

HMMER_DAEMON.config ファイル (Windows の場合)

この例は、Windows の場合の必須オプションとプロファイル・データベース仕様を示しています。

=DAEMON_PORT=4098MAX_PENDING_REQUESTS=10DAEMON_LOGFILE_DIR=.¥Q_SEQ_DIR_PATH=.¥HMMER_OUT_DIR_PATH=.¥HMMPFAM_PATH=c:¥hmmer¥bin¥hmmpfam.exeHMMSEARCH_PATH=c:¥hmmer¥bin¥hmmsearch.exeH2X_PATH=.¥db2h2x.exemyhmms=c:¥hmmer¥tutorial¥myhmmsglobin=c:¥hmmer¥tutorial¥globin.hmmpfamseq=c:¥hmmer¥pfam¥pfamseq

第 10 章 HMMER データ・ソース 209

Page 220: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

HMMER デーモンの開始HMMER デーモンを開始するまで、HMMER データ・ソースにはアクセスできません。

始める前に

HMMER デーモンを開始するには、構成ファイルの中の DAEMON_LOGFILE_DIR、HMMER_OUT_DIR_PATH、および Q_SEQ_DIR_PATH 項目の下にリストされているすべてのパスに対する書き込みアクセス権限をもっている必要があります。

このタスクについて

実行可能ファイルにより、HMMER デーモンが実行される新しいプロセスが開始されます。

手順

HMMER デーモンを開始するには、次のようにします。

1. デーモン実行可能ファイルが存在するディレクトリーを開きます。

2. 実行可能ファイルを実行するには、必要なパラメーターを指定してdb2hmmer_daemon コマンドを発行します。

このコマンドを発行する際に指定できるオプションがあります。

db2hmmer_daemon コマンド - オプションおよび例db2hmmer_daemon コマンドは、UNIX および Windows サーバー上で使用できます。構文内でリストされるオプションの一部は、Windows サーバーでのみ使用できます。

オプション - db2hmmer_daemon コマンド

db2hmmer_daemon コマンドのオプションは以下のとおりです。

db2hmmer_daemon -a action -c config_file -d debug_level-u user_id -p password

-a action

指定したアクティビティーを実行します。有効なアクションは、status、install、start、stop、および remove です。

このオプションは、Windows サーバーでのみ指定できます。

-c config_file

指定した構成ファイルを使用するように、デーモンに指示します。構成ファイルを指定しなかった場合、デーモンは、デーモン実行可能ファイルがインストールされているディレクトリー内で HMMER_DAEMON.config ファイルを検索します。

このオプションは、UNIX および Windows サーバーで指定できます。Windows サーバーでは、 install アクションまたは start アクションの場合に限りこのオプションを指定できます。

210 フェデレーテッド・データ・ソース 構成ガイド

Page 221: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

-d debug_level

デーモンのデバッグ・レベルを、指定した値に設定します。有効な値は、1、2、または 3 です。このオプションは、install アクションおよび start

アクションとともに使用できます。

このオプションは、UNIX および Windows サーバーで指定できます。

-u user_id

指定したユーザー ID で実行するように、デーモンを設定します。このオプションは、install アクションとともに使用できます。

このオプションは、Windows サーバーでのみ指定できます。

-p password

指定したユーザー ID のパスワードを指定します。パスワードが有効かつ必要なのは、-u オプションを指定する場合だけです。-u オプションの設定時に -p オプションを指定しなかった場合、パスワードを求めるプロンプトがプログラムによって出されます。このオプションは、install アクションとともに使用できます。

このオプションは、Windows サーバーでのみ指定できます。

start アクションで指定されるオプションは、デーモンが停止するまでの間に限り適用され、install アクションを使用して指定される値をオーバーライドします。デーモンの停止後、このオプションを指定しないで開始する場合には、このオプションの値は install アクションで指定した値か、デーモンの標準装備のデフォルトになります。

例えば、コマンドが以下の順序で発行される場合、HMMER1.config ファイルはinstall アクションとともに指定されます。HMMER2.config ファイルは start アクションとともに指定され、デーモンが停止されるまで使用されます。デーモンが再開されると、HMMER1.config ファイルが使用されます。

[1]db2hmmer_daemon -a install -c HMMER1.config[2]db2hmmer_daemon -a start -c HMMER2.config[3]db2hmmer_daemon -a stop[4]db2hmmer_daemon -a start

例 - db2hmmer_daemon コマンド

以下の例は、db2hmmer_daemon コマンドでのオプションの使用法を示しています。

デーモンの開始デーモンを開始するには、次のコマンドを発行します。

db2hmmer_daemon -a start

このコマンドでは、デーモン構成ファイルが実行可能ファイルと同じディレクトリーにあることが前提です。

デーモン構成ファイルデーモン構成ファイルの名前を変更してしまっているか、構成ファイルがデーモン実行可能ファイルと同じディレクトリーにない場合、実行可能ファイルの実行時に -c オプションを使用する必要があります。このオプションは、デーモン構成ファイルのディレクトリー・パスと名前を指定します。

第 10 章 HMMER データ・ソース 211

Page 222: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

例えば、ファイル内のデーモン構成情報が、UNIX サーバー上のサブディレクトリー cfg の HMMER_D.config を呼び出した場合、以下のコマンドを発行してください。

dbhmmer_daemon -c cfg/HMMER_D.config

デバッグデーモンのデバッグをデバッグ・レベル 2 で開始する場合、以下のコマンドを発行します。

db2hmmer_daemon -a install -d 2db2hmmer_daemon -a start

デーモンの状況 (Windows)Windows サーバーでデーモンの状況を確認するには、以下のコマンドを発行します。

db2hmmer_daemon -a status

このコマンドでは、デーモン構成ファイルが実行可能ファイルと同じディレクトリーにあることが前提です。

デーモンの停止Windows でデーモンを停止するには、以下のコマンドを発行します。

db2hmmer_daemon -a stop

このコマンドでは、デーモン構成ファイルが実行可能ファイルと同じディレクトリーにあることが前提です。

UNIX サーバーで HMMER デーモンを停止するには、ps -ef | grep

db2hmmer コマンドを発行して、db2hmmer_daemon のプロセス ID を判別します。コマンド kill nnnn を発行します。ここで、nnnn はdb2hmmer_daemon のプロセス ID です。

デーモンの削除デーモンを削除するには、以下のコマンドを発行します。

db2hmmer_daemon -a remove

HMMER ラッパーの登録HMMER データ・ソースにアクセスするには、ラッパーを登録する必要があります。ラッパーは、データ・ソースとの通信やデータの検索のためにフェデレーテッド・サーバーによって使用されます。ラッパーは、ライブラリー・ファイルのセットとしてインプリメントされます。

このタスクについて

ラッパーは、コントロール・センターを使用するか、またはコマンド行から登録できます。コントロール・センターには、ラッパーを登録するために必要なステップを順番に提供するウィザードが組み込まれています。

プロキシー・サーバーおよび鍵ストアを使用して HMMER ファイルにアクセスする場合、ラッパーまたはサーバー定義を登録するときに鍵ストア情報をオプションと

212 フェデレーテッド・データ・ソース 構成ガイド

Page 223: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

して指定できます。ラッパーの登録時に鍵ストア情報を指定すると、HMMER ファイルを照会する際にこの設定が使用されます。ただし、サーバー定義の登録時に別の設定を指定する場合は例外です。

手順

HMMER ラッパーを登録するには、次のようにします。

HMMER ラッパーを登録するのに使用する方法を選択します。

方法 手順

コントロール・センターの使用

「フェデレーテッド・オブジェクト」ウィザードを開始します。「フェデレーテッド・データベース・オブジェクト」フォルダーを右マウス・ボタンでクリックし、フェデレーテッド・オブジェクトの作成をクリックします。

コマンド行からの登録 CREATE WRAPPER ステートメントを発行します。

CREATE WRAPPER wrapper_nameLIBRARY library_name;

プロキシー・サーバーを使用して HMMER データ・ソースにアクセスする場合、次のステートメントを発行します。

CREATE WRAPPER wrapper_name LIBRARY library_nameOPTIONS (PROXY_TYPE ’type’,PROXY_SERVER_NAME ’server_name’,PROXY_SERVER_PORT ’port_number’);

LIBRARY パラメーターを CREATE WRAPPER ステートメント内に指定する必要があります。指定するラッパー・ライブラリー・ファイルの名前は、フェデレーテッド・サーバーのオペレーティング・システムによって異なります。 CREATEWRAPPER ラッパー・ステートメントで指定する正しいライブラリー名については、『HMMER ラッパー・ライブラリー・ファイル』のリストを参照してください。

HMMER ファイルにアクセスするためにプロキシー・サーバーまたは鍵ストアを使用する場合、HMMER ラッパーの登録時にいくつかのラッパー・オプションを定義しなければなりません。

HMMER ラッパー・ライブラリー・ファイルHMMER ラッパー・ライブラリー・ファイルは、IBM WebSphere Federation Server

のインストール時にフェデレーテッド・サーバーに追加されます。

IBM WebSphere Federation Server をインストールすると、デフォルトのディレクトリー・パスに 3 つのライブラリー・ファイルが追加されます。たとえば、フェデレーテッド・サーバーが AIX 上で実行されている場合、ディレクトリー・パスには、libdb2lshmmer.a、 libdb2lshmmerF.a、および libdb2lshmmerU.a が追加されます。デフォルトのラッパー・ライブラリー・ファイルは libdb2lshmmer.a です。他のラッパー・ライブラリー・ファイルは特定のラッパー・オプションで使用されます。

CREATE WRAPPER ステートメントに LIBRARY パラメーターを含め、デフォルトのラッパー・ライブラリー・ファイルの名前を指定する必要があります。

第 10 章 HMMER データ・ソース 213

Page 224: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

以下の表に、デフォルトのディレクトリー・パスとデフォルトのラッパー・ライブラリー・ファイルの名前がリストされています。

表 66. HMMER ラッパー・ライブラリー・ロケーションおよびファイル名

オペレーティング・システム

ディレクトリー・パス ラッパー・ライブラリー・ファイル名

AIX /usr/opt/<install_path>/lib32/

/usr/opt/<install_path>/lib64/

libdb2lshmmer.a

Linux /opt/IBM/db2/<install_path>/lib32

/opt/IBM/db2/<install_path>/lib64

libdb2lshmmer.so

Solaris /opt/IBM/db2/<install_path>/lib32

/opt/IBM/db2/<install_path>/lib64

libdb2lshmmer.so

Windows %DB2PATH%¥bin db2lshmmer.dll

<install_path> は、IBM WebSphere Federation Server が UNIX または Linux にインストールされる場合のディレクトリー・パスです。

%DB2PATH% は、IBM WebSphere Federation Server が Windows にインストールされる場合のディレクトリー・パスを指定するのに使用される環境変数です。デフォルトの Windows ディレクトリー・パスは、C:¥Program Files¥IBM¥SQLLIB です。

CREATE WRAPPER ステートメント - HMMER ラッパーの例HMMER ラッパーを登録するには、CREATE WRAPPER ステートメントを使用します。以下の例では、プロキシー・サーバーを使用する場合と使用しない場合の、HMMER ドキュメントにアクセスする際に必要なパラメーターを示しています。

ラッパー登録の例

プロキシー・サーバーを使用しないで HMMER ドキュメントにアクセスする場合には、次のステートメントを発行してラッパーを登録します。

CREATE WRAPPER hmmer_wrapper LIBRARY ’libdb2lshmmer.a’;

hmmer_wrapper

HMMER ラッパーに割り当てる名前。重複するラッパー名は使用できません。

LIBRARY ’libdb2lshmmer.a’

AIX オペレーティング・システムを使用するフェデレーテッド・サーバーのラッパー・ライブラリー・ファイルの名前。

HTTP プロキシー・サーバー用のラッパーの登録例

ラッパーを登録して、HTTP プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE WRAPPER hmmer_proxy LIBRARY ’libdb2lshmmer.a’OPTIONS (PROXY_TYPE ’HTTP’,PROXY_SERVER_NAME ’proxy.mysite.com’,PROXY_SERVER_PORT ’81’);

214 フェデレーテッド・データ・ソース 構成ガイド

Page 225: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

PROXY_TYPE ’HTTP’

ファイアウォールで保護された状態でインターネットにアクセスする際に使用する、プロキシー・タイプを指定します。有効なタイプは’NONE’、’HTTP’、 または ’SOCKS’ です。

PROXY_SERVER_NAME ’proxy.mysite.com’

プロキシー・サーバー名または IP アドレスを指定します。 PROXY_TYPE

サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

PROXY_SERVER_PORT ’81’

プロキシー・サーバーのポート番号を指定します。 PROXY_TYPE サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

SOCKS プロキシー・サーバーのラッパーを登録する例

ラッパーを登録して、認証情報のない SOCKS プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE WRAPPER hmmer_wrapper LIBRARY ’libdb2lshmmer.so’OPTIONS (PROXY_TYPE ’SOCKS’,PROXY_SERVER_NAME ’proxy_socks’,PROXY_SERVER_PORT ’1081’);

LIBRARY ’libdb2lshmmer.so’

Linux および Solaris オペレーティング・システムを使用するフェデレーテッド・サーバーのラッパー・ライブラリー・ファイルの名前。

PROXY_TYPE ’SOCKS’

ファイアウォールで保護された状態でインターネットにアクセスする際に使用する、プロキシー・タイプを指定します。有効なタイプは’NONE’、’HTTP’、 または ’SOCKS’ です。

PROXY_SERVER_NAME ’proxy_socks’

プロキシー・サーバー名または IP アドレスを指定します。 PROXY_TYPE

サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

PROXY_SERVER_PORT ’1081’

プロキシー・サーバーのポート番号を指定します。 PROXY_TYPE サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

HMMER データ・ソースのサーバー定義の登録フェデレーテッド・データベースに、アクセスするそれぞれの HMMER サーバーを登録する必要があります。

このタスクについて

サーバー定義は、コントロール・センターを使用するか、またはコマンド行から登録できます。コントロール・センターには、サーバー定義を登録するために必要なステップを順番に提供するウィザードが組み込まれています。

第 10 章 HMMER データ・ソース 215

Page 226: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

手順

HMMER データ・ソースのサーバー定義を登録するには、次のようにします。

1. サーバー定義を登録するのに使用する方法を選択します。

方法 手順

コントロール・センターの使用

「フェデレーテッド・オブジェクト」ウィザードを開始します。「フェデレーテッド・データベース・オブジェクト」フォルダーを右マウス・ボタンでクリックし、フェデレーテッド・オブジェクトの作成をクリックします。

コマンド行からの登録 CREATE SERVER ステートメントを発行します。例:

CREATE SERVER server_definition_nameTYPE HMMER_search_typeVERSION version_number WRAPPER wrapper_nameOPTIONS (NODE ’node_name’, DAEMON_PORT ’port_number’);

プロキシー・サーバーを使用して HMMER データ・ソースにアクセスする場合、次のステートメントを発行します。

CREATE SERVER server_definition_nameVERSION version_number WRAPPER wrapper_nameOPTIONS (PROXY_TYPE ’type’,PROXY_SERVER_NAME ’server_name’,PROXY_SERVER_PORT ’port_number’);

サーバー定義の登録時に、CREATE SERVER ステートメントにサーバー・オプションを指定することができます。必須のサーバー・オプションと任意指定のサーバー・オプションがあります。NODE サーバー・オプションとDAEMON_PORT サーバー・オプションは、HMMER データ・ソースでは必須です。

2. HMMER デーモンをインストールするコンピューターが複数ある場合、それぞれのコンピューターにサーバー定義を登録しなければなりません。

サーバー定義を登録した後、サーバー・オプションを追加またはドロップするには、ALTER SERVER ステートメントを使用します。

CREATE SERVER ステートメント - HMMER ラッパーの例HMMER ラッパーにサーバー定義を登録するには、CREATE SERVER ステートメントを使用します。このトピックには、必須パラメーターを使用した例、および追加のサーバー・オプションを使用した例が含まれています。

必須パラメーター

以下に示すのは、CREATE SERVER ステートメントを発行して、HMMER ラッパーのサーバー定義を登録する方法の例です。

CREATE SERVER hmmpfam_server TYPE PFAMVERSION 2.3 WRAPPER hmmer_wrapperOPTIONS(NODE ’someserver.someschool.edu’, DAEMON_PORT ’4422’);

hmmpfam_server

HMMER サーバーに割り当てる名前。重複するサーバー定義名は使用できません。

216 フェデレーテッド・データ・ソース 構成ガイド

Page 227: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

TYPE PFAM

hmmpfam_server サーバー定義に関連付けられた HMMER 検索のタイプ。TYPE の有効値は、PFAM (hmmpfam の場合) または SEARCH (hmmsearch

の場合) です。

VERSION 2.3

使用している hmmpfam または hmmsearch プログラム実行可能ファイルのバージョン。サポートされるバージョンは HMMER 2.2g (あるいはそれ以降) です。

WRAPPER hmmer_wrapper

CREATE WRAPPER ステートメントで指定したラッパー名。

NODE ’someserver.someschool.edu’

HMMER デーモン・プロセスが実行されるサーバーのホスト名または IP アドレスを指定します。この値は大文字小文字の区別があります。

ノード名は CREATE SERVER ステートメントではオプションとなっていますが、HMMER データ・ソースの場合は必要です。

DAEMON_PORT ’4422’

デーモンが HMMER ジョブ要求を listen するポート番号。ポート番号は、HMMER デーモン構成ファイルの DAEMON_PORT オプションに指定したのと同じ番号でなければなりません。デフォルトのポート番号は、4098 です。

オプション・パラメーターを使用した hmmpfam プログラムのサーバー定義

この例では、hmmpfam プログラムのサーバー定義を示します。

CREATE SERVER hmmpfam_server TYPE PFAMVERSION 2.2 WRAPPER hmmer_wrapperOPTIONS(NODE ’someserver.someschool.edu’, DAEMON_PORT ’4422’,PROCESSORS ’2’, HMMPFAM_OPTIONS ’--null2 --pvm’);

PROCESSORS ’2’

HMMER プログラムが使用するプロセッサーの番号を指定します。このオプションは、hmmpfam および hmmsearch プログラム --cpu オプションと同等です。

HMMPFAM_OPTIONS ’--null2 --pvm’

このサーバー・オプションを使用して、hmmpfam プログラムが使用するオプションを指定します。こうしたオプションを述部に指定することはできません。この例では、--null2 オプションと --pvm オプションは、hmmpfam_server サーバー定義を用いる照会が実行されるたびに使用されます。HMMPFAM_OPTIONS サーバー・オプションは、TYPE PFAM を指定するサーバー定義でのみ有効です。

オプション・パラメーターを使用した hmmsearch プログラムのサーバー定義

この例では、hmmsearch プログラムのサーバー定義を示します。

第 10 章 HMMER データ・ソース 217

Page 228: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CREATE SERVER hmmsearch_server TYPE SEARCHVERSION 2.2 WRAPPER hmmer_wrapperOPTIONS(NODE ’someserver.someschool.edu’, DAEMON_PORT ’4422’,PROCESSORS ’2’, HMMSEARCH_OPTIONS ’--null2 --pvm’);

PROCESSORS ’2’

HMMER プログラムが使用するプロセッサーの番号を指定します。このオプションは、hmmpfam および hmmsearch プログラム --cpu オプションと同等です。

HMMSEARCH_OPTIONS ’--null2 --pvm’

このサーバー・オプションを使用して、hmmsearch プログラムが使用するオプションを指定します。こうしたオプションを述部に指定することはできません。この例では、--null2 オプションと --pvm オプションは、hmmsearch_server サーバー定義を用いる照会が実行されるたびに使用されます。HMMSEARCH_OPTIONS サーバー・オプションは、TYPE SEARCH を指定するサーバー定義でのみ有効です。

プロキシー・サーバーを使用する場合のサーバー定義

以下の条件のすべてが真である場合は、CREATE SERVER ステートメントでプロキシー・サーバー・オプションを使用する必要があります。

v URI を使用してデータを検索する。

v 使用する URI はプロキシーを介してファイアウォールの反対側にあるデータを検索する。

v 使用されるファイアウォールまたはプロキシーは、HTTP、または SOCKS である。

指定するオプションは、アクセスするプロキシー・サーバーのタイプによって異なります。

使用するプロキシーのタイプ、およびプロキシー・オプションに指定する必要のある設定については、ネットワーク管理者に問い合せてください。

HTTP プロキシー・サーバーのサーバー定義の登録

サーバー定義を登録して、HTTP プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE SERVER hmmer_server_httpWRAPPER hmmer_wrapperOPTIONS (PROXY_TYPE ’HTTP’, PROXY_SERVER_NAME ’proxy_http’,PROXY_SERVER_PORT ’8080’);

hmmer_server_http

HMMER サーバー定義に割り当てる名前。重複するサーバー定義名は使用できません。

WRAPPER hmmer_wrapper

CREATE WRAPPER ステートメントで指定したラッパー名。

PROXY_TYPE ’HTTP’

ファイアウォールで保護された状態でインターネットにアクセスする際に使用する、プロキシー・タイプを指定します。有効なタイプは’NONE’、’HTTP’、 または ’SOCKS’ です。

218 フェデレーテッド・データ・ソース 構成ガイド

Page 229: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

PROXY_SERVER_NAME ’proxy_http’

プロキシー・サーバー名または IP アドレスを指定します。 PROXY_TYPE

サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

PROXY_SERVER_PORT ’8080’

プロキシー・サーバーのポート番号を指定します。 PROXY_TYPE サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

SOCKS プロキシー・サーバーのサーバー定義の登録

サーバー定義を登録して、認証情報が不要の場合の SOCKS プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE SERVER hmmer_server_socksWRAPPER hmmer_wrapperOPTIONS (PROXY_TYPE ’SOCKS’, PROXY_SERVER_NAME ’proxy_socks’,PROXY_SERVER_PORT ’1081’);

hmmer_server_socks

HMMER サーバー定義に割り当てる名前。重複するサーバー定義名は使用できません。

WRAPPER hmmer_wrapper

CREATE WRAPPER ステートメントで指定したラッパー名。

PROXY_TYPE ’SOCKS’

ファイアウォールで保護された状態でインターネットにアクセスする際に使用する、プロキシー・タイプを指定します。有効なタイプは’NONE’、’HTTP’、 または ’SOCKS’ です。

PROXY_SERVER_NAME ’proxy_socks’

プロキシー・サーバー名または IP アドレスを指定します。 PROXY_TYPE

サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

PROXY_SERVER_PORT ’1080’

プロキシー・サーバーのポート番号を指定します。 PROXY_TYPE サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

認証情報のある SOCKS プロキシー・サーバーのサーバー定義の登録

サーバー定義を登録して、認証情報のある SOCKS プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE SERVER xml_server_socksWRAPPER hmmer_wrapperOPTIONS (PROXY_TYPE ’SOCKS’, PROXY_SERVER_NAME ’proxy_socks’,PROXY_SERVER_PORT ’1081’, PROXY_AUTHID ’Laura’,PROXY_PASSWORD ’not4me’);

第 10 章 HMMER データ・ソース 219

Page 230: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

PROXY_AUTHID ’Laura’

プロキシー・サーバーのユーザー名を指定します。このサーバー・オプションは、PROXY_TYPE サーバー・オプションの値が ’SOCKS’ の場合には必須です。

PROXY_PASSWORD ’not4me’

ユーザー名 ’Laura’ に関連したプロキシー・サーバーのパスワードを指定します。このサーバー・オプションは、PROXY_TYPE サーバー・オプションの値が ’SOCKS’ の場合には必須です。

HMMER データ・ソースのユーザー・マッピングの作成 (オプション)HMMER サーバーにアクセスする場合、フェデレーテッド・サーバーは HMMER

サーバーへの接続を確立します。フェデレーテッド・システムが HMMER データ・ソースにアクセスするためにプロキシー・サーバーを使用する場合には、ユーザー・マッピングを作成する必要があります。

ユーザー・マッピングとは、それぞれのフェデレーテッド・サーバーのユーザー ID

とパスワード、および対応するデータ・ソースのユーザー ID とパスワードの間の関連付けのことです。

このタスクについて

フェデレーテッド・システムでユーザー・マッピングを指定するには、2 つの方法があります。LDAP などの外部リポジトリーを使用してユーザー・マッピングを保管するか、フェデレーテッド・データベース・カタログにユーザー・マッピングを作成できます。

ユーザー・マッピングを保管する LDAP などの外部リポジトリーがある場合には、ユーザー・マッピングを作成する必要はありません。HMMER ラッパーでDB2_UM_PLUGIN オプションを指定する必要があります。ラッパーの登録時または変更時に、このオプションを指定できます。

手順

ローカルのユーザー ID を、HMMER サーバーのユーザー ID とパスワードにマップするには、以下のようにします。

ユーザー・マッピングを登録するのに使用する方法を選択します。

方法 手順

コントロール・センターの使用 「フェデレーテッド・オブジェクト」ウィザードを開始します。「フェデレーテッド・データベース・オブジェクト」フォルダーを右マウス・ボタンでクリックし、フェデレーテッド・オブジェクトの作成をクリックします。

220 フェデレーテッド・データ・ソース 構成ガイド

Page 231: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

方法 手順

コマンド行の使用 CREATE USER MAPPING ステートメントを発行します。例:

CREATE USER MAPPING FOR local_userIDSERVER server_definition_nameOPTIONS (REMOTE_AUTHID ’remote_userID’,REMOTE_PASSWORD ’remote_password’)PROXY_AUTHID ’proxy_server_userID’,PROXY_PASSWORD ’proxy_server_password’;

サーバー定義とユーザー・マッピングの登録時にプロキシー・サーバーの認証情報を指定する場合には、CREATE USER MAPPING ステートメントで指定した値がCREATE SERVER ステートメントで指定した値よりも優先されます。

例えば、10 人からなる組織があり、サーバー定義の登録時に認証情報を指定するとします。10 人のうちの 3 人分のユーザー・マッピングを作成します。その 3 人がフェデレーテッド・システムにアクセスすると、ユーザー・マッピングを作成した際に指定した認証情報が使用されます。残りの 7 人に関しては、サーバー定義を登録した際に指定した認証情報が使用されます。

CREATE USER MAPPING ステートメント - HMMER ラッパーの例CREATE USER MAPPING ステートメントを使用して、フェデレーテッド・サーバーのユーザー ID を HMMER サーバーのユーザー ID およびパスワードにマップしてください。

プロキシー・サーバーを指定して、ユーザー・マッピングを作成できます。

プロキシー・サーバーの例

以下に示すのは、フェデレーテッド・サーバーのユーザー ID を HMMER プロキシー・サーバーのユーザー ID およびパスワードにマップする方法を示す例です。

サーバー定義を登録して、認証情報のある SOCKS プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE USER MAPPING FOR katherine SERVER hmmer_proxyOPTIONS (REMOTE_AUTHID ’kathy’,REMOTE_PASSWORD ’all4one’PROXY_AUTHID ’kate’PROXY_PASSWORD ’them2us’);

katherine

HMMER プロキシー・サーバーで定義されたユーザー ID にマップするローカルのユーザー ID を指定します。

SERVER hmmer_server

HMMER サーバーの CREATE SERVER ステートメントで登録したサーバー定義名を指定します。

REMOTE_AUTHID ’kathy’

katherine をマップする HMMER サーバー側のユーザー ID を指定します。このリモート ID は、HMMER サーバーで受け入れ可能な形式でなければなりません。

第 10 章 HMMER データ・ソース 221

Page 232: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

REMOTE_PASSWORD ’all4one’

’kathy’ に関連するパスワードを指定します。

PROXY_AUTHID ’kate’

プロキシー・サーバーのユーザー ID を指定します。プロキシー・サーバーで認証が必要な場合には、このユーザー・マッピング・オプションは必須です。

PROXY_PASSWORD ’them2us’

ユーザー名 ’kate’ に関連したプロキシー・サーバーのパスワードを指定します。プロキシー・サーバーで認証が必要な場合には、このユーザー・マッピング・オプションは必須です。

HMMER データ・ソースのニックネームの登録登録するそれぞれの HMMER サーバー定義で、アクセスするそれぞれの HMMER

データベースごとにニックネームを登録する必要があります。 HMMER データベースを照会するときに、こうしたニックネームを使用します。

このタスクについて

HMMER ニックネームを登録すると、プロファイル・データベースの固定入力列と固定出力列のセットがそのニックネームを使用して自動的に作成されます。固定列はフェデレーテッド・データベース・システムのカタログ内に作成されます。SQL

照会で固定列を参照します。

ニックネームに指定する名前の長さは 128 文字までです。

ニックネームは、コントロール・センターを使用するか、またはコマンド行から登録できます。コントロール・センターには、ニックネームを登録するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

HMMER データベースにニックネームを登録するには、次のようにします。

ニックネームを登録するのに使用する方法を選択します。

方法 手順

コントロール・センターの使用 「フェデレーテッド・オブジェクト」ウィザードを開始します。「フェデレーテッド・データベース・オブジェクト」フォルダーを右マウス・ボタンでクリックし、フェデレーテッド・オブジェクトの作成をクリックします。

コマンド行の使用 CREATE NICKNAME ステートメントを発行します。例:

CREATE NICKNAME nicknameFOR SERVER server_definition_nameOPTIONS (DATASOURCE data_source_name);

data_source_name は、HMMER サーバー上の HMMER_DAEMON.config ファイル内の既存の data_source_name と一致している必要があります。

222 フェデレーテッド・データ・ソース 構成ガイド

Page 233: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ニックネームを作成する HMMER データベースごとに、このステップを繰り返します。

CREATE NICKNAME ステートメント - HMMER ラッパーの例アクセスする HMMER プロファイル・データベースのニックネームを登録するには、CREATE NICKNAME ステートメントを使用します。このトピックには、必須パラメーターを使用した例、および追加のニックネーム・オプションを使用した例が含まれています。

必要パラメーターの例

以下の例では、hmmpfam プログラムを使用する検索に対するニックネームを登録する方法を示しています。この例では、hmmpfam_server サーバー定義を使用して、’myhmms’ データ・ソースにアクセスします。

CREATE NICKNAME hmmpfam_nicknameFOR SERVER hmmpfam_serverOPTIONS(DATASOURCE ’myhmms’)

hmmpfam_nickname

ニックネームに割り当てる名前。この名前は固有でなければなりません。

SERVER hmmpfam_server

このニックネームを関連付けるサーバー定義の名前。

DATASOURCE ’myhmms’

HMMER 検索を実行するデータベースの名前。このデータベースは、HMMER デーモン構成ファイル内にリストされている必要があります。

DATASOURCE ニックネーム・オプションは CREATE NICKNAME ステートメントでオプションとなっていますが、HMMER データ・ソースの場合は必要です。

任意指定のニックネーム・オプションの例

HMMER ラッパーが HMMER デーモンからの結果を待機する期間を指定できます。以下の例では、hmmpfam プログラムを使用する検索に対してニックネームを登録する方法、および TIMEOUT ニックネーム・オプションの指定方法を示しています。

CREATE NICKNAME hmmpfam_nicknameFOR SERVER hmmpfam_serverOPTIONS(DATASOURCE ’myhmms’, TIMEOUT ’30’)

TIMEOUT ’30’

HMMER ラッパーがデーモンからの結果を待つ最大時間 (分単位)。デフォルト時間は 5 分です。

HMMER ニックネームの固定列HMMER データ・ソースに対して CREATE NICKNAME ステートメントを発行すると、そのニックネームで固定列のセットが自動的に作成されます。 SQL 照会で固定列を参照できます。

第 10 章 HMMER データ・ソース 223

Page 234: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

HMMER ニックネームの登録時に自動的に作成される固定入力列と固定出力列があります。固定列はフェデレーテッド・データベース・システムのカタログに追加されます。

固定列に割り当てるデフォルトのデータ・タイプを変更する場合、CREATE

NICKNAME ステートメント内で列名およびデータ・タイプを指定できます。

例えば、AlignmentConsensus 列の出力を最初の 100 文字のみに制限するには、以下のステートメントを発行します。

CREATE NICKNAME nucleo1(AlignmentConsensus VARCHAR(100))FOR SERVER searchtestOPTIONS (DATASOURCE ’nucleo1’, TIMEOUT ’1’);

HMMER ニックネームの固定入力列固定入力列は、SQL 照会のパラメーター受け渡し述部として使用されます。

この入力固定列は、標準の HMMER スイッチを hmmpfam プログラムまたはhmmsearch プログラムのいずれかに渡します。次に、これらのスイッチを使用して、指定されたデータ・ソースに対して HMMER プログラムが実行されます。固定入力列は、照会の SELECT リストの中で参照することもでき、結果表の一部として戻されます。

作成した各ニックネームは、特定のサーバー定義に関連付けられます。サーバー定義は、PFAM タイプのサーバーか、SEARCH タイプのサーバーとして指定されます。それぞれのタイプのサーバーごとに、異なる固定入力列があります。SQL ステートメントの WHERE 文節で、こうした列を指定できます。

PFAM の固定入力列

以下の表は、hmmpfam プログラムで使用できる固定入力列をリストしています。

表 67. タイプ PFAM のサーバー用固定入力列

名前 データ・タイプ

説明 演算子 スイッチ 戻り値

HmmQSeq VARCHAR

(32000)

検索に使用される入力遺伝子列。

= 指定した入力値と同じ。この列は必須です。

ModelEValue DOUBLE 見積もられる e

値< -E n 照会出力を参

照してください。

ModelScore DOUBLE ロー・スコア > -T n 照会出力を参照してください。

224 フェデレーテッド・データ・ソース 構成ガイド

Page 235: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 67. タイプ PFAM のサーバー用固定入力列 (続き)

名前 データ・タイプ

説明 演算子 スイッチ 戻り値

DBSize INTEGER データベースに’n’ 個の遺伝子列があるとして計算された e

= -Z n 指定した入力値と同じ。指定されない場合は、デフォルトのhmmpfam が使用されます。

CutMode CHAR(2) カットオフ・モード - ga、tc、または nc (大文字小文字の区別あり)

= --cut_ga

--cut_tc

--cut_nc

指定した入力値と同じ。指定されない場合は NULL

になります。

DomainScore DOUBLE ドメイン・スコア

> --domT n 照会出力を参照してください。

DomainEValue DOUBLE ドメイン e 値 < --domE n 照会出力を参照してください。

ForwardAlgorithm CHAR Viterbi アルゴリズムではなく、Forward アルゴリズムを使用 (値は ’Y’

または ’N’)

= --forward 指定した入力値と同じ。’N’

はデフォルトです。

SEARCH の固定入力列

以下の表は、hmmsearch プログラムで使用できる固定入力列をリストしています。

表 68. タイプ SEARCH のサーバー用固定入力列

名前 データ・タイプ

説明 演算子 オプション

戻り値

Model VARCHAR

(32000)

検索で使用されるHMM プロファイル・ファイルの名前。この名前は、HMMER_DAEMON.config

ファイル内のデータベース仕様にリストされるデータ・ソース名のいずれかでなければなりません。

= 指定した入力値と同じ。この列は必須です。

SequenceEValue DOUBLE 見積もられる e 値 < -E n 照会出力を参照してください。

第 10 章 HMMER データ・ソース 225

Page 236: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 68. タイプ SEARCH のサーバー用固定入力列 (続き)

名前 データ・タイプ

説明 演算子 オプション

戻り値

SequenceScore DOUBLE ロー・スコア > -T n 照会出力を参照してください。

DBSize INTEGER データベースに ’n’ 個の遺伝子列があるとして計算された e 値

= -Z n 指定した入力値と同じ。指定されない場合は、デフォルトのhmmpfam

が使用されます。

CutMode CHAR(2) カットオフ・モード -

ga、tc、または nc (大文字小文字の区別あり)

= --cut_ga

--cut_tc

--cut_nc

指定した入力値と同じ。指定されない場合は NULL

になります。

DomainScore DOUBLE ドメイン・スコア > --domT n 照会出力を参照してください。

DomainEValue DOUBLE ドメイン e 値<

--domE n 照会出力を参照してください。

ForwardAlgorithm CHAR Viterbi アルゴリズムではなく、Forward アルゴリズムを使用 (値は’Y’ または ’N’)

= --forward 指定した入力値と同じ。’N’ はデフォルトです。

HMMER ニックネームの固定出力列固定出力列は、照会の SELECT リストで指定します。WHERE 文節内に述部として固定出力列を指定することもできます。

PFAM の固定出力列

作成した各ニックネームは、特定のサーバー定義に関連付けられます。サーバー定義は、PFAM タイプのサーバーか、SEARCH タイプのサーバーとして指定されます。

以下の表には、各タイプのサーバーの固定出力列がリストされています。

226 フェデレーテッド・データ・ソース 構成ガイド

Page 237: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

以下の表は、PFAM の出力として戻される固定列をリストしています。

表 69. タイプ PFAM のサーバー用固定出力列

名前 データ・タイプ 説明

Model VARCHAR(32) モデルの名前。

ModelDescription VARCHAR(64) モデルに関するテキスト記述。

ModelScore DOUBLE ロー・スコア (″ビット・スコア″)。

ModelEValue DOUBLE 見積もられる e 値。

ModelHits INTEGER モデル内でのドメインのヒット数。

DomainNumber INTEGER 特定のドメイン (1 つのモデル内)。

SequenceFrom INTEGER 遺伝子列の開始点。

SequenceFromGlobal CHAR 配列が遺伝子列の先頭から始まる場合は ’Y’。

HmmFrom INTEGER コンセンサス・モデルの開始点。

HmmFromGlobal CHAR 配列がコンセンサス・モデルの先頭から始まる場合は ’Y’。

HmmTo INTEGER コンセンサス・モデルの終了点。

HmmToGlobal CHAR 配列がコンセンサス・モデルの最後で終わる場合は ’Y’。

DomainScore DOUBLE 分離ドメインのロー・スコア (″ビット・スコア″)。

DomainEValue DOUBLE 分離ドメインに予測される値。

AlignmentConsensus VARCHAR

(32000)

HMM コンセンサス。HMM によれば、コンセンサスに表示されるアミノ酸は、この位置にくる可能性が最も高いアミノ酸ですが、これは必ずしもスコアの最も高いアミノ酸であるとは限りません。

AlignmentExactMatch VARCHAR

(32000)

HMM で最も可能性の高い剰余と一致します。

AlignmentSubSequence VARCHAR

(32000)

遺伝子列そのものを示します。

SEARCH の固定出力列

以下の表は、SEARCH の出力として戻される固定列をリストしています。

表 70. タイプ SEARCH のサーバー用固定出力列

名前 データ・タイプ 説明

シーケンス VARCHAR(32) シーケンス ID。

SequenceDescription VARCHAR(64) シーケンスのテキスト記述。

SequenceScore DOUBLE ロー・スコア (″ビット・スコア″)。

SequenceEValue DOUBLE 見積もられる e 値。

SequenceHits INTEGER シーケンス内でのドメインのヒット数。

DomainNumber INTEGER 特定のドメイン (1 つのシーケンス内)。

SequenceFrom INTEGER 遺伝子列の開始点。

SequenceFromGlobal CHAR 配列が遺伝子列の先頭から始まる場合は ’Y’。

第 10 章 HMMER データ・ソース 227

Page 238: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 70. タイプ SEARCH のサーバー用固定出力列 (続き)

名前 データ・タイプ 説明

HmmFrom INTEGER コンセンサス・モデルの開始点。

HmmFromGlobal CHAR 配列がコンセンサス・モデルの先頭から始まる場合は ’Y’。

HmmTo INTEGER コンセンサス・モデルの終了点。

HmmToGlobal CHAR 配列がコンセンサス・モデルの最後で終わる場合は ’Y’。

DomainScore DOUBLE 分離ドメインのロー・スコア (″ビット・スコア″)。

DomainEValue DOUBLE 分離ドメインに予測される値。

AlignmentConsensus VARCHAR

(32000)

HMM コンセンサス。HMM によれば、コンセンサスに表示されるアミノ酸は、この位置にくる可能性が最も高いアミノ酸ですが、これは必ずしもスコアの最も高いアミノ酸であるとは限りません。

AlignmentExactMatch VARCHAR

(32000)

HMM で最も可能性の高い剰余と一致します。

AlignmentSubSequence VARCHAR

(32000)

遺伝子列そのものを示します。

HMMER データ・ソース - 完全指定の例この例では、HMMER データ・ソースをフェデレーテッド・サーバーに追加するために発行する必要のあるすべての SQL ステートメントが示されています。さらにこの例には、照会でのニックネームの使用方法も示されています。

HMMER データ・ソースの SQL 照会には、標準 HMMER オプションをプログラム実行ファイルに渡すのに使用される特殊な入力述部が含まれる必要があります。

有効であるためには、HMMER ラッパーへ渡されるすべての照会は、少なくともHmmQSeq 入力述部 (TYPE PFAM の場合) あるいは model 述部 (TYPE SEARCH の場合) を含んでいなければなりません。他のすべての述部はオプションです。

HMMER ニックネームに対して照会を構成するには、WHERE 文節内の入力列および SELECT リスト内の出力列を指定します。

hmmpfam プログラムの場合の例

この例では、hmmpfam プログラム用の AIX フェデレーテッド・サーバー上にラッパー、サーバー定義、およびニックネームが作成されます。またこの例では、検索シーケンス用のストリング・リテラルを使用した照会を実行します。フェデレーテッド・オブジェクトを登録する SQL ステートメントは、以下のとおりです。

CREATE WRAPPER hmmer_wrapper LIBRARY ’libdb2lshmmer.a’;CREATE SERVER hmmpfam_server TYPE pfamVERSION 2.2 WRAPPER hmmer_wrapperOPTIONS(NODE ’HMMERserv.MyCompany.com’);

228 フェデレーテッド・データ・ソース 構成ガイド

Page 239: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CREATE NICKNAME hmmpfam_nicknameFOR SERVER hmmpfam_serverOPTIONS(DATASOURCE ’myhmms’, TIMEOUT ’1’);

hmmpfam_nickname で、7LES_DROME 遺伝子列を実行します。SQL 照会は次のとおりです。

SELECT Model, substr(ModelDescription,1,50) as ModelDescription,ModelScore, ModelEValue, ModelHits, DomainNumber,SequenceFrom, SequenceTo, SequenceFromGlobal, SequenceToGlobal,HmmFrom, HmmTo, HmmFromGlobal, HmmToGlobal, DomainScore, DomainEValue,length(HmmQSeq) as "length(HmmQSeq)",length(AlignmentConsensus) as "length(AConsensus)",length(AlignmentMatch) as "length(AMatch)",length(AlignmentSubSeq) as "length(ASubSeq)",substr(HmmQSeq,1,64) as HmmQSeq,substr(AlignmentConsensus,1,64) as AlignmentConsensus,substr(AlignmentMatch, 1,64) as AlignmentMatch,substr(AlignmentSubSeq, 1,64) as AlignmentSubSeqFROM hmmpfam_nicknameWHERE HmmQSeq =’MTMFWQQNVDHQSDEQDKQAKGAAPTKRLNISFNVKIAVNVNTKMTTTHINQQAPGTSS’;

hmmsearch プログラムの場合の例

この例では、hmmsearch プログラム用の Windows フェデレーテッド・サーバー上にラッパー、サーバー定義、およびニックネームが作成されます。またこの例では、検索シーケンス用のストリング・リテラルを使用した照会を実行します。

フェデレーテッド・オブジェクトを登録する SQL ステートメントは、以下のとおりです。

CREATE WRAPPER hmmer_wrapper LIBRARY ’db2lshmmer.dll’;CREATE SERVER hmmsearch_serv TYPE search VERSION 2.2WRAPPER hmmer_wrapperOPTIONS(NODE ’localhost’);CREATE NICKNAME artemia FOR SERVER hmmsearch_serverOPTIONS(DATASOURCE ’artemia’, TIMEOUT ’1’);

SQL 照会は次のとおりです。

SELECT Model, Sequence, substr(SequenceDescription,1,50) as SequenceDescription,SequenceScore, SequenceEValue, SequenceHits, DomainNumber,SequenceFrom, SequenceTo, SequenceFromGlobal, SequenceToGlobal,HmmFrom, HmmTo, HmmFromGlobal, HmmToGlobal, DomainScore, DomainEValue,length(AlignmentConsensus) as "length(AConsensus)",length(AlignmentMatch) as "length(AMatch)",length(AlignmentSubSeq) as "length(ASubSeq)",substr(AlignmentConsensus,1,200) as AlignmentConsensus,substr(AlignmentMatch, 1,200) as AlignmentMatch,substr(AlignmentSubSeq, 1,200) as AlignmentSubSeqFROM artemiaWHERE Model = ’globin’ and DomainScore > 50;

サンプルを使用した新規 HMMER 照会の構成以下のサンプルは、HMMER データ・ソースに対する照会の作成方法を示しています。

これらの照会において、ニックネームは、hmmpfam_nickname などの、HMMER 検索およびデータ・ソースのタイプを記述する名前です。また一部の例は、他のデータ・ソースとともに HMMER ラッパーを使用する方法を示しています。

第 10 章 HMMER データ・ソース 229

Page 240: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

照会 1

この SQL ステートメントが実行されると、ラッパーは、指示されたシーケンスおよびニックネームによって定義された HMM データベースを使用して、hmmpfam

プログラムを実行します。ラッパーは、SELECT ステートメント内でリストされる列を戻します。

SELECT Model, ModelScore, ModelEValue, DomainNumber, DomainScore, DomainEvalueFROM hmmpfam_nicknameWHERE HmmQSeq = ’MTMFWQQNVDHQSDEQDKQAKGAAPTKRLNISFNVKIAVNVNTKMTTTHINQ...’;

照会 2

この SQL ステートメントが実行されると、ラッパーは、指示された遺伝子列を使用する hmmpfam_nickname の hmmpfam 検索を実行します。加えて、ラッパーは、hmmpfam コマンドに -T 0 オプションを渡します。このオプションは、HMMER

ニックネームの固定入力列のリストにあります。ラッパーは、SELECT の後ろにリストされる 3 つの列を戻します。

SELECT Model, ModelScore, ModelEValueFROM hmmpfam_nicknameWHERE HmmQSeq = ’MTMFWQQNVDHQSDEQDKQAKGAAPTKRLNISFNVKIAVNVNTKMTTTHINQ...’AND ModelScore > 0;

照会 3

この SQL ステートメントが実行されると、ラッパーは、指示された遺伝子列を使用する hmmpfam_nickname の hmmpfam 検索を実行します。加えて、ラッパーは、hmmpfam コマンドに -E 1 オプションを渡します。このオプションは、HMMER ニックネームの固定入力列のリストにあります。ラッパーは、SELECT の後ろにリストされる 4 つの列を戻し、DomainScore ごとに高いものから低いものへ順に結果をソートします。

SELECT Model, DomainNumber, DomainScore, DomainEValueFROM hmmpfam_nicknameWHERE HmmQSeq = ’MTMFWQQNVDHQSDEQDKQAKGAAPTKRLNISFNVKIAVNVNTKMTTTHINQ...’AND ModelEValue < 1ORDER BY DomainScore DESC;

照会 4

この SQL ステートメントが実行されると、ラッパーは、globin によって指定された HMM を使用して、シーケンス・ファイル artemia に対して hmmsearch を実行します。 DomainScore が 50 以上の行は戻されます。これは、ラッパーが --domT

50 オプションを hmmsearch コマンドに渡すためです。ラッパーは SELECT の後に指定された列を戻します。200 文字より長い列値は切り捨てられます。これらの列内の最初の 200 文字だけが戻されます。

CREATE WRAPPER hmmer_wrapperLIBRARY ’db2lshmmer.dll’;CREATE SERVER hmmsearch_serverTYPE search VERSION 2.2WRAPPER hmmer_wrapperOPTIONS(NODE ’HMMERserv.MyCompany.com’);CREATE NICKNAME artemia_nicknameFOR SERVER hmmsearch_serverOPTIONS(DATASOURCE ’artemia’, TIMEOUT ’1’);SELECT Model, Sequence, substr(SequenceDescription,1,50)

230 フェデレーテッド・データ・ソース 構成ガイド

Page 241: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

as SequenceDescription, SequenceScore, SequenceEValue,SequenceHits, DomainNumber, SequenceFrom,SequenceTo, SequenceFromGlobal, SequenceToGlobal,HmmFrom, HmmTo, HmmFromGlobal, HmmToGlobal, DomainScore,DomainEValue,length(AlignmentConsensus) as "length(AConsensus)",length(AlignmentMatch) as "length(AMatch)",length(AlignmentSubSeq) as "length(ASubSeq)",substr(AlignmentConsensus,1,200) as AlignmentConsensus,substr(AlignmentMatch, 1,200) as AlignmentMatch,substr(AlignmentSubSeq, 1,200) as AlignmentSubSeqFROM artemia_nicknameWHERE Model = ’globin’AND DomainScore > 50;

第 10 章 HMMER データ・ソース 231

Page 242: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

232 フェデレーテッド・データ・ソース 構成ガイド

Page 243: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 11 章 Informix データ・ソース

Informix データ・ソースへのアクセスの構成Informix データ・ソースにアクセスするようにフェデレーテッド・サーバーを構成するには、アクセスするデータ・ソースとオブジェクトに関する情報をフェデレーテッド・サーバーに提供する必要があります。

始める前に

v Informix Client SDK ソフトウェアは、フェデレーテッド・サーバーとして機能するサーバー上にインストールされ、構成されている必要があります。

v フェデレーテッド・サーバーのセットアップのチェック

v FEDERATED パラメーターをチェックして、フェデレーションが有効になっていることを確認します。

v AIX フェデレーテッド・サーバーでは、AIXBase Application Development Math

Library がインストールされている必要があります。このライブラリーがインストールされているかどうかは、AIX コマンド lslpp -l bos.adt.libm で確認できます。

このタスクについて

DB2 コントロール・センターを使用するか、または DB2 コマンド行で SQL ステートメントを発行することによって、Informix データ・ソースに保管されているデータへアクセスするようにフェデレーテッド・サーバーを構成することができます。DB2 コントロール・センターには、必須フェデレーテッド・オブジェクトを構成するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

Informix データ・ソースをフェデレーテッド・サーバーに追加するには、次のようにします。

1. Informix クライアント構成ファイルをセットアップしてテストします。

2. Informix 環境変数を設定します。

3. ラッパーを登録します。

4. サーバー定義を登録します。

5. ユーザー・マッピングを作成します。

6. サーバーへの接続をテストします。

7. Informix の表、ビュー、およびシノニムのニックネームを登録します。

Informix クライアント構成ファイルのセットアップおよびテストInformixクライアント構成ファイルは、フェデレーテッド・サーバーにインストールされているクライアント・ライブラリーを使用して、Informixデータベースに接続するために使用されます。

© Copyright IBM Corp. 1998, 2006 233

Page 244: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

始める前に

Informix Client SDK ソフトウェアは、フェデレーテッド・サーバー上にインストールされている必要があります。

このタスクについて

このクライアント構成ファイルは、各 Informix データベース・サーバーのロケーション、およびそのデータベース・サーバーへの接続のタイプ (プロトコル) を指定します。

クライアント構成ファイルのデフォルトのロケーションは、フェデレーテッド・サーバーによって使用されるオペレーティング・システムによって異なります。

v UNIXが稼働するフェデレーテッド・サーバーの場合、構成ファイルのデフォルトの場所と名前は $INFORMIXDIR/etc/sqlhosts です。sqlhosts ファイルは、Informix

Client SDK でインストールされます。

v Windows が稼働するフェデレーテッド・サーバーの場合、sqlhosts レジストリーのデフォルトのロケーションはローカル・コンピューターです。

sqlhosts のフォーマットは、「Administrator’s Guide for Informix Dynamic Server」に記載されています。

手順

Informix クライアント構成ファイルをセットアップおよびテストするには、次のようにします。

1. Informix Client SDK を構成します。

v UNIXが稼働するフェデレーテッド・サーバーの場合は、sqlhosts ファイルを編集することによって Informix Client SDK を構成できます。sqlhosts ファイルは、Informix Connect または Informix Client SDK がインストールされている別のシステムからコピーすることもできます。

v Windowsが稼働するフェデレーテッド・サーバーの場合は、Informix Setnet32

ユーティリティーを使用することによってInformix Client SDK を構成できます。Setnet32 ユーティリティーは、sqlhosts レジストリーをセットアップします。

2. sqlhosts ファイルまたはレジストリーの位置を検査します。

v UNIX稼働するフェデレーテッド・サーバーの場合は、sqlhosts ファイルは$INFORMIXDIR/etc/ ディレクトリーにあります。

v Windowsが稼働するフェデレーテッド・サーバーの場合は、sqlhosts 情報はWindows レジストリーの次のキーに保持されます。

HKEY_LOCAL_MACHINE¥SOFTWARE¥INFORMIX¥SQLHOSTS

3. sqlhostsファイルまたはレジストリーをデフォルトの検索パス以外のパスに置く場合は、INFORMIXSQLHOSTS 環境変数を設定してファイルの場所を指定してください。以下のいずれかのオプションを使用して、INFORMIXSQLHOSTS 環境変数を設定します。

v UNIXが稼働するフェデレーテッド・サーバーの場合は、INFORMIXSQLHOSTS 環境変数を sqlhosts ファイルの完全修飾名に設定します。

234 フェデレーテッド・データ・ソース 構成ガイド

Page 245: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v Windows が稼働するフェデレーテッド・サーバーの場合は、Setnet32 ユーティリティーを使用して、INFORMIXSQLHOSTS 環境変数をレジストリーを保管する Windowsコンピューターの名前に設定します。

4. 接続をテストして、クライアント・ソフトウェアが Informix サーバーに接続できることを確認してください。Informixdbaccess ユーティリティーがフェデレーテッド・サーバーにある場合は、そのツールを使用して接続をテストしてください。ない場合は、Informix デモ・プログラムを実行して、クライアントのセットアップをテストしてください。

Informix 環境変数の設定Informix環境変数は、フェデレーテッド・サーバーの db2dj.ini ファイルに設定する必要があります。

制約事項

db2dj.ini ファイルの制約事項

このタスクについて

Informixデータ・ソース用の環境変数には、必須の変数とオプションの変数があります。

Informixラッパーをインストールする前に Informixクライアント・ソフトウェアをインストールしてある場合には、必須の Informix環境変数は db2dj.ini ファイルに設定されています。

Informixラッパーをインストールする前に Informixクライアント・ソフトウェアをインストールしていない場合や、オプションの環境変数を設定する場合は、このタスクのステップにしたがって、環境変数を設定する必要があります。

手順

Informix 環境変数を設定するには、以下のようにします。

1. 以下のいずれかの方法で、使用する Informix環境変数を設定します。

方法 ステップ

DB2コントロール・センターを使用して環境変数を設定する

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

第 11 章 Informix データ・ソース 235

Page 246: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

方法 ステップ

環境変数を自動的に設定するには、次のようにします。

DB2セットアップ・プログラムを再び実行して、「カスタム」インストール・オプションを指定します。ウィザードの指示に従ってください。重要: インストール・プログラムを再び実行した場合は、必須の環境変数のみが設定されます。オプショナル環境変数は手動で設定する必要があります。

手動で環境変数を設定するには、以下のようにします。

db2dj.ini ファイルを編集します。

v UNIX が稼働するフェデレーテッド・サーバーでは、db2dj.ini ファイルは sqllib/cfg

ディレクトリーにあります。

v Windows が稼働するフェデレーテッド・サーバーでは、db2dj.ini ファイルは%DB2PATH%¥cfgディレクトリーにあります。

db2dj.ini ファイルには、ご使用のフェデレーテッド・サーバーにインストールされている Informix クライアント・ソフトウェアに関する構成情報が含まれます。このファイルがない場合は、任意のテキスト・エディターを使用して、db2dj.ini という名前のファイルを作成することができます。 db2dj.ini ファイルには、環境変数の完全修飾パスを指定する必要があります。そうしないと、エラーが発生します。次の環境変数は、UNIXの db2dj.ini ファイル内の項目の一例です。

INFORMIXDIR=/informix/csdkINFORMIXSERVER=inf10

2. Informixコード・ページ変換環境変数を (必要に応じて) 設定します。

3. フェデレーテッド・サーバーに環境変数を設定するには、フェデレーテッド・データベース・インスタンスをリサイクルします。

フェデレーテッド・データベース・インスタンスをリサイクルするには、次のコマンドを発行します。

db2stopdb2start

Informix 環境変数Informixデータ・ソース用の環境変数には、必須の変数とオプションの変数があります。これらの変数は db2dj.ini ファイルに設定されます。

Informix の有効な環境変数は以下のとおりです。

v INFORMIXDIR

v INFORMIXSERVER

v INFORMIXSQLHOSTS (オプション)

v CLIENT_LOCALE (オプション)

v DB_LOCALE (オプション)

v DBNLS (オプション)

236 フェデレーテッド・データ・ソース 構成ガイド

Page 247: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CLIENT_LOCALE、DB_LOCALE、および DBNLS 環境変数はコード・ページ環境変数です。

変数の説明

INFORMIXDIRInformixClient SDK ソフトウェアがインストールされているディレクトリー・パスを指定します。

たとえば、次のようにします。

v UNIX が稼働するフェデレーテッド・サーバーの場合、パスを次のように設定します。

INFORMIXDIR=/informix/csdk

v Windowsが稼働するフェデレーテッド・サーバーの場合、パスを次のように設定します。

INFORMIXDIR=C:\informix\csdk

INFORMIXSERVERデフォルトの Informix サーバーの名前を識別します。この設定は、sqlhosts

ファイル (UNIX) または SQLHOSTS レジストリー・キー (Windows) で有効な項目でなければなりません。 INFORMIXSERVER の値を入手するには、sqlhosts ファイルを読み取ります。dbservername 値のいずれかを選択します。 dbservername は、sqlhosts ファイル内の各項目の最初の値です。

たとえば、次のようにします。

INFORMIXSERVER=inf10

要件: Informix ラッパーがこの環境変数の値を使用しない場合でも、Informix クライアントによってこの環境変数を設定するよう要求されます。ラッパーは、アクセスしたい Informix データベース・サーバーを指定する NODE サーバー・オプションの値を使用します。

INFORMIXSQLHOSTSInformix sqlhosts ファイルのデフォルトのパスを使用している場合、この環境変数を設定する必要はありません。ただし、Informix sqlhosts ファイルの他のパスを使用している場合、この環境変数を設定する必要があります。INFORMIXSQLHOSTS 変数を Informix sqlhosts ファイルがある絶対パス名に設定する必要があります。

v UNIXが稼働するフェデレーテッド・サーバーの場合、デフォルトのパスは $INFORMIXDIR/etc/sqlhosts です。

v Windowsが稼働するフェデレーテッド・サーバーの場合、SQLHOSTS レジストリー・キーがローカル・コンピューター上にない場合には、レジストリーを保管する Windows コンピューターの名前がINFORMIXSQLHOSTS 環境変数の値になります。

この環境変数を別のパスに設定する UNIX の例は、次のとおりです。

INFORMIXSQLHOSTS=/informix/csdk/etc/my_sqlhosts

Informix コード・ページ変換:

Informix ラッパーが Informix データ・ソースに接続するたび、ラッパーは、その接続に使用するコード・ページ値を判別します。 Informixラッパーが設定したコー

第 11 章 Informix データ・ソース 237

Page 248: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ド・ページ値を使用することもできますし、CLIENT_LOCALE 環境変数を設定してコード・ページを指定することもできます。

Informixコード・ページ変換を指定する環境変数は、フェデレーテッド・サーバーのdb2dj.ini ファイルに設定されます。

Informix コード・ページ変換の場合、以下のオプション環境変数を設定することができます。

v CLIENT_LOCALE

v DB_LOCALE

v DBNLS

Informix コード・ページ環境変数は以下のとおりです。

CLIENT_LOCALE使用する Informixロケールを指定します。Informixラッパーが変数設定を自動的に決定することのないようにするには、この変数を使用します。

たとえば、次のようにします。

CLIENT_LOCALE=Informix_client_locale_value

v CLIENT_LOCALE 変数がフェデレーテッド・サーバー上の db2dj.ini ファイルに設定されている場合、ラッパーは db2dj.ini ファイルのコード・ページ値を使用します。

v フェデレーテッド・サーバー上で CLIENT_LOCALE 変数が設定されていない場合、ラッパーはフェデレーテッド・データベースのテリトリーとコード・ページを判断します。ラッパーは、CLIENT_LOCALE 変数を最もよく一致する Informix ロケールに設定します。一致する Informix ロケールがない場合、ラッパーは、CLIENT_LOCALE 変数を UNIX システムの場合には en_us.8859-1 ロケールに、Windows システムの場合にはen_us.CP1252 ロケールに設定します。

Informix サーバー上で glfiles コマンドを発行することによって、有効なInformixロケールのリストを表示できます。

コード・ページ変換についての詳細は、『 Informix Guide to GLS

Functionality』を参照してください。

DB_LOCALEInformix データベースが、クライアント・ロケールとは異なるコード・ページを使用することを指定します。Informix に 2 つのコード・ページ間で変換を実行させるには、この変数を使用します。DB_LOCALE 環境変数をInformix データベース・ロケールの名前に設定します。

たとえば、次のようにします。

DB_LOCALE=Informix_db_locale_value

DBNLSDB_LOCALE 設定が Informix データベースの実際のロケールと一致することを Informixが検証するように指定します。この環境変数を 1 に設定します。

たとえば、次のようにします。

238 フェデレーテッド・データ・ソース 構成ガイド

Page 249: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

DBNLS=1

Informixによるコード・ページ変換の強制実行

Informix データベースが、クライアント・ロケールとは異なるコード・ページを使用しており、Informix が 2 つのコード・ページ間で変換を実行するようにしたいとします。その場合、以下のことを行う必要があります。

1. Informix環境変数 DB_LOCALE を Informixデータベース・ロケールの名前に設定します。フェデレーテッド・サーバー上の db2dj.ini ファイル内で、この変数を設定します。

2. DB_LOCALE 設定が Informix データベースの実際のロケールと一致することを検証するには、Informix 環境変数 DBNLS を 1 に設定する必要があります。この変数は、フェデレーテッド・サーバー上の db2dj.ini ファイル内で設定します。

中国語 コード・ページ GB 18030 を使用する Informixデータ

中国語コード・ページ GB 18030 を使用するデータにアクセスするには、フェデレーテッド・データベースで UTF-8 コード・ページを使用し、次の設定を db2dj.ini

ファイルに追加することによって、Informix で GB 18030 データが正しく Unicode

に変換されるようにします。

DB_LOCALE=zh_cn.GB18030-2000

Informix ラッパーの登録Informix データ・ソースにアクセスするためには、ラッパーを登録する必要があります。ラッパーを介して、フェデレーテッド・サーバーはデータ・ソースとの通信やデータ検索を行います。ラッパーは、ライブラリー・ファイルのセットとしてインプリメントされます。

手順

Informix ラッパーを登録するには、次のようにします。

CREATE WRAPPER ステートメントを発行し、 Informixラッパーのデフォルト名を指定します。

たとえば、次のようにします。

CREATE WRAPPER INFORMIX

推奨: デフォルトのラッパー名を使用します。Informix用のラッパーのデフォルト名は INFORMIX です。このデフォルト名を使用してラッパーを登録する場合、フェデレーテッド・サーバーは稼働しているオペレーティング・システムに適した Informixラッパー・ライブラリーを自動的に使用します。

デフォルトのラッパー名がフェデレーテッド・データベース内の既存のラッパー名と競合する場合、デフォルトのラッパー名を、指定の名前で置き換えることができます。デフォルト名とは別の名前を使用する場合は、CREATE WRAPPER ステートメントに LIBRARY パラメーターを含める必要があります。

第 11 章 Informix データ・ソース 239

Page 250: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

たとえば、AIX オペレーティング・システムを使用するフェデレーテッド・サーバーで、informix_wrapper という名前のラッパーを登録するには、以下のステートメントを発行します。

CREATE WRAPPER informix_wrapper LIBRARY ’libdb2informix.a’;

指定するラッパー・ライブラリー・ファイルの名前は、フェデレーテッド・サーバーのオペレーティング・システムによって異なります。 CREATE WRAPPER ラッパー・ステートメントで指定する正しいライブラリー名については、『Informixラッパー・ライブラリー・ファイル』のリストを参照してください。

Informix ラッパー・ライブラリー・ファイルInformix ラッパー・ライブラリー・ファイルは、WebSphere Federation Server のインストール時にフェデレーテッド・サーバーに追加されます。

WebSphere Federation Server をインストールすると、デフォルトのディレクトリー・パスに 3 つのライブラリー・ファイルが追加されます。たとえば、フェデレーテッド・サーバーが AIX 上で実行されている場合、ディレクトリー・パスには、ラッパー・ライブラリー・ファイル libdb2informix.a、libdb2informixF.a、 およびlibdb2informixU.a が追加されます。デフォルトのラッパー・ライブラリー・ファイルは libdb2informix.a です。それ以外のラッパー・ライブラリー・ファイルは、デフォルトのラッパー・ライブラリーによって内部的に使用されます。

ラッパーの登録時にデフォルトのラッパー名を使用しないことにした場合、CREATE WRAPPER ステートメントに LIBRARY パラメーターを含めて、デフォルトのラッパー・ライブラリー・ファイルの名前を指定する必要があります。

以下の表に、デフォルトのディレクトリー・パスとデフォルトのラッパー・ライブラリー・ファイルの名前がリストされています。

表 71. Informix ラッパー・ライブラリー・ロケーションおよびファイル名

オペレーティング・システム

ディレクトリー・パス ライブラリー・ファイル名

AIX /usr/opt/install_path/lib32/

/usr/opt/install_path/lib64/

libdb2informix.a

HP-UX /opt/IBM/db2/install_path/lib32

/opt/IBM/db2/install_path/lib64

libdb2informix.sl

Linux /opt/IBM/db2/install_path/lib32

/opt/IBM/db2/install_path/lib64

libdb2informix.so

Solaris /opt/IBM/db2/install_path/lib32

/opt/IBM/db2/install_path/lib64

libdb2informix.so

Windows %DB2PATH%\bin db2informix.dll

v install_path は、UNIX または Linuxにインストールされている WebSphere

Federation Server のディレクトリー・パスです。

v %DB2PATH% は、Windows にインストールされている WebSphere Federation

Server のディレクトリーを指定するのに使用する環境変数です。デフォルトのWindows ディレクトリー・パスは C:\Program Files\IBM\SQLLIB です。

240 フェデレーテッド・データ・ソース 構成ガイド

Page 251: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Informix データ・ソースのサーバー定義の登録フェデレーテッド・データベース内に、アクセスする各 Informixサーバーを登録する必要があります。

手順

Informix データ・ソースのサーバー定義を登録するには、次のようにします。

1. Informix sqlhosts ファイルまたはレジストリーでノード名を見つけます。

sqlhosts ファイルの例:

inf10an onsoctcp anaconda inmx10inf10bo onsoctcp boa ifmx10inf10py onsoctcp python ifmx10

v 各行の最初の値は inf10an などの node_name です。

v 各行の 2 番目の値は nettype、または接続のタイプです。この例の場合、onsoctcp はこれが TCP/IP 接続であることを示します。

v 各行の 3 番目の値は anaconda、boa、python などのホスト名です。

v 各行の 4 番目の値は inmx10 などのサービス名です。サービス名フィールドは、2 番目の値にリストされた nettype により異なります。

sqlhostsファイルのフォーマットおよび、それらのフィールドの意味の詳細は、Informix 資料「 Administrators Guide for Informix Dynamic Server」を参照してください。

2. 以下のいずれかの方法で、サーバー定義を作成します。

v DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

v CREATE SERVER ステートメントを発行します。

たとえば、次のようにします。

CREATE SERVER server_definition_name TYPE informixVERSION version_number WRAPPER INFORMIXOPTIONS (NODE ’node_name’, DBNAME ’database_name’);

’node_name’ および ’database_name’ 変数の指定は、CREATE SERVER ステートメントではオプションですが、 Informix のデータ・ソースにアクセスする場合には必須です。

サーバー定義を登録した後、サーバー・オプションを追加またはドロップするには、ALTER SERVER ステートメントを使用します。

CREATE SERVER ステートメント - Informixラッパーの例Informixラッパーのサーバー定義を登録するには、CREATE SERVER ステートメントを使用します。必須パラメーターを使用する完全なステートメントの例、およびその他のサーバー・オプションを使用する例が、このトピックには含まれています。

第 11 章 Informix データ・ソース 241

Page 252: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

完全指定の例

次の例は、CREATE SERVER ステートメントを発行して、Informix ラッパーのサーバー定義を登録する方法を示しています。

CREATE SERVER asia TYPE informix VERSION 10 WRAPPER INFORMIXOPTIONS (NODE ’abc’, DBNAME ’sales’);

asia Informix データベース・サーバーに割り当てる名前。重複するサーバー定義名は使用できません。

TYPE informix

アクセスを構成するデータ・ソース・サーバーのタイプを指定します。Informix ラッパーの場合、サーバー・タイプは informix でなければなりません。

VERSION 10

これは、アクセスする Informix データベース・サーバーのバージョンです。

WRAPPER INFORMIX

CREATE WRAPPER ステートメントで指定したラッパー名。

NODE ’abc’

Informix データベース・サーバーが存在するノードの名前。ノード名はsqlhosts ファイルから入手します。この値は大/小文字の区別があります。

ノード名は CREATE SERVER ステートメントではオプションとなっていますが、Informix データ・ソースの場合は必要です。

DBNAME ’sales’

アクセスする Informixデータベースの名前。この値は大/小文字の区別があります。

データベースの名前の指定は、CREATE SERVER ステートメントではオプションですが、Informix データ・ソースの場合は必須です。

追加のサーバー・オプション

サーバー定義の作成時に、CREATE SERVER ステートメントに追加のサーバー・オプションを指定することができます。サーバー・オプションには、汎用のサーバー・オプションと Informix に特有のサーバー・オプションを指定できます。

FOLD_ID および FOLD_PW サーバー・オプション

データ・ソースに接続する時に、フェデレーテッド・サーバーは、ユーザー ID とパスワードについて、入力された文字だけでなく、大文字と小文字のすべての可能な組み合わせを使用して接続を試みます。フェデレーテッド・サーバーはデータ・ソース・サーバーとの接続に成功するまで、最高 9 回、接続を試みます。このような試みは接続時間を長引かせることになり、ユーザー ID がロックアウトされる結果になる可能性もあります。 FOLD_ID および FOLD_PW サーバー・オプションに値を指定することで、ロックアウトを防ぐことができます。FOLD_ID と FOLD_PW

のサーバー・オプションを ’N’ (ユーザー ID またはパスワードを大文字変換しない) に設定することができます。

242 フェデレーテッド・データ・ソース 構成ガイド

Page 253: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

FOLD_ID と FOLD_PW のサーバー・オプションを ’N’ に設定する場合は、ユーザー ID とパスワードを大/小文字を間違えずに指定する必要があります。これらのサーバー・オプションを ’N’ にすると、指定したユーザー ID やパスワードが間違っている場合に、ラッパーがさまざまな大文字と小文字の組み合わせを試行しないで済むという利点があります。これらの 2 つのサーバー・オプションにより、ログインに何回も失敗して限度を超え、ID がロックアウトされる可能性を減らすことができます。

以下に、サーバー・オプションを追加した Informix サーバー定義の例を示します。

CREATE SERVER asia TYPE informix VERSION 10 WRAPPER INFORMIXOPTIONS (NODE ’abc’, DBNAME ’sales’, FOLD_ID ’N’, FOLD_PW ’N’);

IUD_APP_SVPT_ENFORCE サーバー・オプションの例

IUD_APP_SVPT_ENFORCE オプションは、フェデレーテッド・サーバーがアプリケーション・セーブポイント・ステートメントの検出または作成を実施すべきかどうかを指定します。Informix はアプリケーション・セーブポイント・ステートメントをサポートしません。’N’ にすると、エラーが検出されても、フェデレーテッド・サーバーはトランザクションをロールバックしません。エラー・リカバリーは、アプリケーションが処理する必要があります。

IUD_APP_SVPT_ENFORCE サーバー・オプションは、Informix データ・ソースとの間で複製が行えるよう、’N’ に設定する必要があります。以下に、IUD_APP_SVPT_ENFORCE サーバー・オプションを追加した Informix サーバー定義の例を示します。

CREATE SERVER asia TYPE informix VERSION 10 WRAPPER INFORMIXOPTIONS (NODE ’abc’, DBNAME ’sales’, IUD_APP_SVPT_ENFORCE ’N’);

INFORMIX_DB_LOCALE および INFORMIX_CLIENT_LOCALE オプション

INFORMIX_DB_LOCALE オプションは、フェデレーテッド・サーバーとデータ・ソース・サーバーの接続に使用するデータベース・ロケール環境変数 (DB_LOCALE)

を設定します。INFORMIX_DB_LOCALE オプションを指定しない場合は、InformixDB_LOCALE 環境変数が db2dj.ini ファイルに指定されている値に設定されます。 db2dj.ini ファイルに DB_LOCALE 環境変数が指定されていない場合には、InformixDB_LOCALE 環境変数は設定されません。有効な値は、任意の有効なInformixロケールです。このオプションは任意です。デフォルト設定は「なし」です。

INFORMIX_CLIENT_LOCALE オプションは、フェデレーテッド・サーバーとデータ・ソース・サーバーの接続に使用するクライアント・ロケール環境変数(CLIENT_LOCALE) を設定します。INFORMIX_CLIENT_LOCALE オプションを指定しない場合は、 InformixCLIENT_LOCALE 環境変数が db2dj.ini ファイルに指定されている値に設定されます。 db2dj.ini に CLIENT_LOCALE が指定されていない場合は、InformixCLIENT_LOCALE 環境変数がフェデレーテッド・データベースのコード・ページとテリトリーに最も近い Informixロケールに設定されます。有効な値は任意の有効な Informixロケールです。このオプションは任意です。デフォルト設定は「なし」です。

第 11 章 Informix データ・ソース 243

Page 254: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

以下に、INFORMIX_DB_LOCALE および INFORMIX_CLIENT_LOCALE オプションを追加した Informix サーバー定義の例を示します。

CREATE SERVER asia TYPE informix VERSION 10 WRAPPER INFORMIXOPTIONS (NODE ’abc’, DBNAME ’sales’, INFORMIX_DB_LOCALE ’en_us.8859-1’,INFORMIX_CLIENT_LOCALE ’en_us.CP1252’);

Informix データ・ソースのユーザー・マッピングの作成Informix サーバーにアクセスする場合、フェデレーテッド・サーバーは、データ・ソースに対して有効なユーザー ID とパスワードを使用して、Informix サーバーへの接続を確立します。それぞれのフェデレーテッド・サーバーのユーザー ID とパスワード、および対応するデータ・ソースのユーザー ID とパスワードの間の関連付け (ユーザー・マッピング) を定義しなければなりません。

このタスクについて

フェデレーテッド・システムにアクセスする、各ユーザー ID のユーザー・マッピングを作成して、Informix データ・ソースへの分散要求を送信します。

手順

ローカル・ユーザー ID を Informix サーバーのユーザー ID とパスワードにマップするには、以下のようにします。

CREATE USER MAPPING ステートメントを発行します。

たとえば、次のようにします。

CREATE USER MAPPING FOR local_userID SERVER server_definition_nameOPTIONS (REMOTE_AUTHID ’remote_userID’, REMOTE_PASSWORD ’remote_password’);

REMOTE_AUTHID および REMOTE_PASSWORD 変数の指定は、CREATE USER

MAPPING ステートメントではオプションですが、 Informix データ・ソースにアクセスする場合には必須です。

CREATE USER MAPPING ステートメント - Informixラッパーの例CREATE USER MAPPING ステートメントを使用して、フェデレーテッド・サーバーのユーザー ID を Informix のユーザー ID およびパスワードにマップしてください。このトピックには、必要パラメーターを使用する完全指定の例と、CREATE

USER MAPPING ステートメントで DB2 特殊レジスター USER を使用する方法を示す例が含まれます。

完全指定の例

以下に示すのは、フェデレーテッド・サーバーのユーザー ID を Informix サーバーのユーザー ID およびパスワードにマップする方法を示す例です。

CREATE USER MAPPING FOR VINCENT SERVER asiaOPTIONS (REMOTE_AUTHID ’vinnie’, REMOTE_PASSWORD ’close2call’);

VINCENT

Informix サーバーで定義されるユーザー ID にマップする、ローカルのユーザー ID を指定します。

244 フェデレーテッド・データ・ソース 構成ガイド

Page 255: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

SERVER asia

CREATE SERVER ステートメントで登録した Informixサーバーのサーバー定義名を指定します。

REMOTE_AUTHID ’vinnie’

VINCENTのマップ先となる Informix データベース・サーバー側のユーザーID を指定します。CREATE SERVER ステートメントで FOLD_ID サーバー・オプションを ’U’ または ’L’ にしている場合を除き、この値の大/小文字の区別を保持するように単一引用符を使用してください。

リモート・ユーザー ID の指定は、CREATE USER MAPPING ステートメントではオプションとなっていますが、Informix データ・ソースの場合は必要です。

REMOTE_PASSWORD ’close2call’

’vinnie’ に関連するパスワードを指定します。 CREATE SERVER ステートメントで FOLD_PW サーバー・オプションを ’U’ または ’L’ にしている場合を除き、この値の大/小文字の区別を保持するように単一引用符を使用してください。

リモート・パスワードの指定は、CREATE USER MAPPING ステートメントではオプションとなっていますが、Informix データ・ソースの場合は必要です。

特殊レジスターの例

DB2 特殊レジスター USER を使用して、CREATE USER MAPPING ステートメントを実行する人の許可 ID を、REMOTE_AUTHID ユーザー・オプションに指定されるデータ・ソースの許可 ID にマップすることができます。

以下に、特殊レジスター USER を含む CREATE USER MAPPING ステートメントの例を示します。

CREATE USER MAPPING FOR USER SERVER asiaOPTIONS (REMOTE_AUTHID ’vinnie’, REMOTE_PASSWORD ’close2call’);

Informix サーバーへの接続のテストInformix データ・ソースへアクセスするようにフェデレーテッド・サーバーが適正に構成されているかどうかを判別するには、Informixデータ・ソース・サーバーへの接続をテストします。

このタスクについて

サーバー定義および定義したユーザー・マッピングを使用して、Informix サーバーへの接続をテストできます。

手順

Informix サーバーへの接続をテストするには、次のようにします。

パススルー・セッションを開き、Informix システム表に対して SELECT ステートメントを発行します。 SELECT ステートメントがカウントを戻す場合、サーバー定義およびユーザー・マッピングは適切にセットアップされています。

第 11 章 Informix データ・ソース 245

Page 256: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

たとえば、次のようにします。

SET PASSTHRU server_definition_nameSELECT count(*) FROM informix.systablesSET PASSTHRU RESET

SELECT ステートメントがエラーを戻す場合には、接続エラーのトラブルシューティングをする必要があります。

Informixラッパーのパフォーマンス調整FOLD_ID および FOLD_PW サーバー・オプションを使用することで、フェデレーテッド・サーバーと Informixデータ・ソースの接続を改善することができます。

データ・ソースに接続する時に、フェデレーテッド・サーバーは、ユーザー ID とパスワードについて、大文字と小文字のすべての可能な組み合わせを使用して接続を試みます。サーバーはデータ・ソース・サーバーとの接続に成功するまで、最高9 回、接続を試みます。このような試みは接続時間を長引かせることになり、ユーザー ID がロックアウトされる結果になる可能性もあります。

FOLD_ID および FOLD_PW サーバー・オプションに値を指定することにより、パフォーマンスを改善することができます。

v Informix のすべてのユーザー ID とパスワードが小文字である場合、FOLD_ID

および FOLD_PW サーバー・オプションを値 ’L’ を使用して設定することにより、接続時間が改善されます。

たとえば、次のようにします。

ALTER SERVER TYPE INFORMIXOPTIONS (ADD FOLD_ID ’L’);ALTER SERVER TYPE INFORMIXOPTIONS (ADD FOLD_PW ’L’);

v フェデレーテッド・サーバーは、ユーザー ID およびパスワードの大文字と小文字の値のそれぞれの組み合わせを試みます。これらのオプションを ’N’ (ユーザー ID とパスワードを大文字に変換しない) にすることにより、何回もログインを試みて失敗し、失敗ログインの最大数を超えるという可能性を減らすことができます。このような設定をした場合は、常に大/小文字を正しく使用して、ユーザー ID とパスワードを指定する必要があります。誤ったユーザー ID とパスワードが指定されても、ラッパーは組み合わせを変えて試行することはありません。

たとえば、次のようにします。

ALTER SERVER TYPE INFORMIXOPTIONS (ADD FOLD_ID ’N’);ALTER SERVER TYPE INFORMIXOPTIONS (ADD FOLD_PW ’N’);

Informix 表、ビュー、およびシノニムのニックネームの登録登録する Informixサーバー定義ごとに、アクセスする各表、ビュー、またはシノニムのニックネームを登録する必要があります。Informix サーバーを照会するときには、データ・ソース・オブジェクトの名前ではなく、これらのニックネームを使用します。

始める前に

246 フェデレーテッド・データ・ソース 構成ガイド

Page 257: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ニックネームを登録する前に、Informix データ・ソース側で統計を更新します。フェデレーテッド・データベースは、データ・ソースのカタログ統計に基づいて、照会処理を最適化します。 DB2 RUNSTATS コマンドに相当する Informix UPDATE

STATISTICS コマンドを使用して、データ・ソースの統計を更新することができます。

手順

Informix表、ビュー、またはシノニムのニックネームを登録するには、以下のようにします。

CREATE NICKNAME ステートメントを発行します。ニックネームの長さは 128 バイトまでです。

たとえば、次のようにします。

CREATE NICKNAME nickname FOR server_definition_name."remote_schema"."remote.table" ;

ニックネームを作成すると、フェデレーテッド・サーバーはニックネームを使用してデータ・ソース・カタログを照会します。この照会は、データベース・ソースの表、ビュー、またはシノニムへの接続をテストします。接続不可能な場合、エラー・メッセージが出ます。

このステップを、ニックネームを作成したいそれぞれの Informix 表、ビュー、またはシノニムごとに繰り返します。

CREATE NICKNAME ステートメント - Informixラッパーの例アクセス先の Informix 表、ビュー、またはシノニムのニックネームを登録するには、CREATE NICKNAME ステートメントを使用します。 必須パラメーターを使用する完全なステートメントの例が、このトピックには含まれています。

完全指定の例CREATE NICKNAME JPSALES FOR asia."vinnie"."japan" ;

JPSALES

Informix の表、ビュー、またはシノニムを識別するために使用する固有なニックネーム。

重要: ニックネームは、2 つの部分 (スキーマとニックネーム) からなる名前です。ニックネームの登録時にスキーマを省略すると、そのニックネームのスキーマはニックネームを登録するユーザーの許可 ID になります。

asia.″vinnie″.″japan″リモート・オブジェクトを表す、3 つの部分からなる ID。

v asia は、CREATE SERVER ステートメントで Informix データベース・サーバーに割り当てたサーバー定義名です。

v vinnieは、データベースが ANSI 準拠ではない場合に、表、ビュー、またはシノニムが属する所有者の名前です。ANSI 準拠のデータベースでは、スキーマ名です。

v japanは、アクセスするリモートの表、ビュー、またはシノニムの名前です。

第 11 章 Informix データ・ソース 247

Page 258: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

フェデレーテッド・サーバーは、引用符で名前を囲まない限り、Informix スキーマおよび表の名前を大文字に変換します。

248 フェデレーテッド・データ・ソース 構成ガイド

Page 259: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 12 章 Microsoft SQL Server データ・ソース

Microsoft SQL Server データ・ソースへのアクセスの構成Microsoft SQL Server データ・ソースにアクセスするようにフェデレーテッド・サーバーを構成するには、アクセスしたいデータ・ソースとオブジェクトの情報をフェデレーテッド・サーバーに提供しなければなりません。

始める前に

v ODBC ドライバーがフェデレーテッド・サーバー上にインストール・構成されていなければなりません。

v IBM WebSphere Federation Server が、フェデレーテッド・サーバーとして機能するサーバー上にインストールされている必要があります。

v フェデレーテッド・サーバーのセットアップのチェック

v federated パラメーターをチェックして、フェデレーションが使用可能になっていることを確かめます。

このタスクについて

DB2 コントロール・センターを使用するか、または DB2 コマンド行で SQL ステートメントを発行することによって、Microsoft SQL Server データ・ソースをアクセスするようにフェデレーテッド・サーバーを構成することができます。

手順

Microsoft SQL Server データ・ソースへのアクセスを構成するには、以下のようにします。

1. オペレーティング・システムに応じて、以下の方法のいずれかを使用して、フェデレーテッド・サーバーとフェデレーテッド・データベースを準備します。

v フェデレーテッド・サーバーとフェデレーテッド・データベースを準備します(Windows)。

v フェデレーテッド・サーバーとフェデレーテッド・データベースを準備します(UNIX)。

2. Microsoft SQL Server ラッパー用の環境変数を設定します。

3. ラッパーを登録します。

4. サーバー定義を登録します。

5. ユーザー・マッピングを作成します。

6. Microsoft SQL Server リモート・サーバーへの接続をテストします。

7. Microsoft SQL Server の表およびビューのニックネームを登録します。

© Copyright IBM Corp. 1998, 2006 249

Page 260: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Microsoft SQL Server データ・ソースにアクセスするためのフェデレーテッド・サーバーの準備 (Windows)

Windows を実行するフェデレーテッド・サーバーは、 Microsoft SQL Server データ・ソースにアクセスできなければなりません。フェデレーテッド・サーバーを準備するには、ODBC システム DSN 内の設定を検査し、Microsoft SQL Server データ・ソースへの接続をテストする必要があります。

手順

Microsoft SQL Server データ・ソースにアクセスするようにフェデレーテッド・サーバーを準備するには、以下のようにします。

1. ODBC システム DSN が Microsoft SQL Server データ・ソースに接続するように設定されていることを確認します。コントロール・パネルで、Microsoft SQL

Server リモート・サーバーの既存の DSN 項目を見付けるか、DSN 項目を作成します。

Microsoft SQL Server リモート・サーバーの DSN 項目は、フェデレーテッド・データベースにサーバー定義を登録するときに NODE サーバー・オプションに使用する値です。

2. 以下の方法のいずれかを使用して、Microsoft SQL Server データ・ソースへの接続をテストします。

v 「ODBC データ ソース アドミニストレータ」ウィンドウから、「構成」を選択します。

v Microsoft SQL Server 照会ツールを使用します。

この作業を完了したら、環境変数を設定することができます。

Microsoft SQL Server データ・ソースにアクセスするためのフェデレーテッド・サーバーの準備 (Linux、UNIX)

Linux または UNIX を実行するフェデレーテッド・サーバーは、 Microsoft SQL

Server データ・ソースにアクセスできなければなりません。フェデレーテッド・サーバーを準備するには、odbc.ini ファイル内の設定を検査し、シンボリック・リンクを作成してから、Microsoft SQL Server データ・ソースへの接続をテストする必要があります。

手順

Microsoft SQL Server データ・ソースにアクセスするようにフェデレーテッド・サーバーを準備するには、以下のようにします。

1. フェデレーテッド・サーバー上の odbc.ini ファイルが更新されていることを確認してください。odbc.ini ファイルがフェデレーテッド・サーバーに存在しない場合は、テキスト・エディターで作成することができます。 odbc.ini ファイルについては、ODBC クライアントのベンダーからの資料を参照してください。

要確認: odbc.ini ファイルやこのファイルのコピーは、DB2 インスタンス所有者のホーム・ディレクトリーに置きます。これにより、インスタンス所有者が root ユーザーでない場合にもアクセスできます。

250 フェデレーテッド・データ・ソース 構成ガイド

Page 261: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

2. odbc.ini へのパスが ODBCINI 環境変数にあることを確認します。

オペレーティング・システムのコマンド・プロンプトから次のコマンドを発行します。

export ODBCINI=$HOME/.odbc.ini

3. 適切なシンボリック・リンクを作成します。

フェデレーテッド・サーバーのオペレーティング・システム ステップ

Linux 以下のシンボリック・リンクを作成します。

ln -s $DJX_ODBC_LIBRARY_PATH/../locale /usr/local/locale

ln -s$DJX_ODBC_LIBRARY_PATH/libodbcinst.so/usr/lib/libodbcinst.so

DataDirect Technologies Connect for ODBC

ドライバーを使用している場合、ライブラリー名を検査して以下のシンボリック・リンクを作成します。ライブラリーの名前は、ドライバーのバージョンや、32 ビットと 64 ビットのどちらのドライバーを使用しているかによって異なります。

たとえば、DataDirect バージョン 4.2 を使用している場合、以下のリンクを作成します。ln -s

$DJX_ODBC_LIBRARY_PATH/libivicu19.so /

usr/lib/libivicu19.so

DataDirect バージョン 5.0 を使用している場合、以下のリンクを作成します。ln -s

$DJX_ODBC_LIBRARY_PATH/libivicu20.so /

usr/lib/libivicu20.so

DataDirect を使用している場合、このシンボリック・リンクを組み込まないと、 CREATE

WRAPPER MSSQLODBC3 は以下のエラー・メッセージを出して失敗します。

SQL10013N 指定したライブラリー (name)をロードできませんでした。

Solaris 以下のシンボリック・リンクを作成します。

ln -s$DJX_ODBC_LIBRARY_PATH/../locale $HOME/sqllib/locale

$HOME は、DB2 インスタンス所有者のホーム・ディレクトリーです。

4. /opt/odbc/odbc.sh スクリプトを実行します。このスクリプトは、いくつかのオペレーティング・システム特有の環境変数をセットアップします。

第 12 章 Microsoft SQL Server データ・ソース 251

Page 262: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

5. DataDirect Connect ODBC demoodbc ユーティリティーを使用して、フェデレーテッド・サーバーから Microsoft SQL Server データ・ソースへの接続をテストします。 demoodbc ユーティリティーは、DataDirect Connect ODBC ライブラリーの /demo サブディレクトリーにあります。

この作業を完了したら、環境変数を設定することができます。

Microsoft SQL Server 環境変数の設定フェデレーテッド・サーバー上の db2dj.ini ファイルで、Microsoft SQL Server 環境変数を設定する必要があります。

制約事項

この作業を始める前に、db2dj.ini ファイルに関する制限を確認してください。

このタスクについて

db2dj.ini ファイルには、フェデレーテッド・サーバーにインストールされているMicrosoft SQL Server ODBC ドライバーに関する構成情報が含まれます。

Microsoft SQL Server データ・ソースには、必須の環境変数とオプションの環境変数があります。

Microsoft SQL Server ラッパーをインストールする前に Microsoft SQL Server クライアント・ソフトウェアをインストールした場合、必要な Microsoft SQL Server 環境変数は db2dj.ini ファイルで設定されています。

Microsoft SQL Server ラッパーをインストールする前に Microsoft SQL Server クライアント・ソフトウェアをインストールしなかった場合や、いずれかのオプションの環境変数を設定する場合は、この作業のステップを使用して環境変数を設定する必要があります。

手順

Microsoft SQL Server 環境変数を設定するには、以下のようにします。

1. 次の方法のいずれかを使用します。

方法 ステップ

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

自動的に環境変数を設定します。

WebSphere Federation Server インストール・ウィザードを実行します。ウィザードの指示に従ってください。重要: 必須の環境変数は、インストール・ウィザードを実行して設定します。オプションの環境変数は手動で設定する必要があります。

252 フェデレーテッド・データ・ソース 構成ガイド

Page 263: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

方法 ステップ

手動で環境変数を設定します。

db2dj.ini ファイルを編集します。

v UNIX が稼働するフェデレーテッド・サーバーの場合、このファイルは sqllib/cfg ディレクトリーにあります。

v Windows を実行しているフェデレーテッド・サーバーの場合、このファイルは %DB2PATH%¥cfg ディレクトリー内にあります。

このファイルが存在しない場合、任意のテキスト・エディターを使用して、db2dj.ini という名前のファイルを作成できます。 db2dj.ini

ファイルには、環境変数の値に完全修飾パスを指定する必要があります。そうしないと、エラーが発生します。

たとえば、次のようにします。

DJX_ODBC_LIBRARY_PATH=/opt/odbc/libODBCINI=/opt/odbc/.odbc.ini

2. 環境変数がフェデレーテッド・サーバーで設定されていることを確認するには、DB2 インスタンスをリサイクルします。

db2stopdb2start

この作業を完了したら、ラッパーを登録することができます。

Microsoft SQL Server 環境変数Microsoft SQL Server データ・ソースには、必須の環境変数とオプションの環境変数があります。これらの変数は db2dj.ini ファイルで設定されます。

Microsoft SQL Server では、以下の環境変数が有効です。

v DJX_ODBC_LIBRARY_PATH

v ODBCINI

v LD_LIBRARY_PATH (Solaris のみ)

変数の説明DJX_ODBC_LIBRARY_PATH

ODBC ライブラリー・ファイルへのディレクトリー・パスを指定します。この変数は、Solaris を実行するフェデレーテッド・サーバーでも指定する必要があります。

たとえば、次のようにします。

DJX_ODBC_LIBRARY_PATH=ODBC_driver_directory/lib

ODBC_driver_directory は、ODBC ドライバーがインストールされているディレクトリー・パスです。

ODBCINIODBC 構成ファイル (odbc.ini) があるディレクトリー・パスを指定します。

たとえば、次のようにします。

ODBCINI=/home/db2inst1/.odbc.ini

ODBCINI 環境変数はシステム変数として設定してはなりません。

第 12 章 Microsoft SQL Server データ・ソース 253

Page 264: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

LD_LIBRARY_PATH (Solaris のみ)Solaris を実行するフェデレーテッド・サーバーで ODBC ライブラリー・ファイルへのディレクトリー・パスを指定します。

たとえば、次のようにします。

LD_LIBRARY_PATH=ODBC_driver_directory/lib

Microsoft SQL Server ラッパーの登録Microsoft SQL Server データ・ソースにアクセスするためのラッパーを登録しなければなりません。フェデレーテッド・サーバーは、データ・ソースとの通信やデータの検索のためにラッパーを使用します。ラッパーは、ライブラリー・ファイルのセットとしてインプリメントされます。

手順

Microsoft SQL Server ラッパーを登録するには、次のようにします。

次の方法のいずれかを使用します。

方法 説明

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

254 フェデレーテッド・データ・ソース 構成ガイド

Page 265: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

方法 説明

CREATE WRAPPER ステートメントを発行し、Microsoft SQL Server ラッパーにデフォルト名を指定します。

たとえば、次のようにします。

CREATE WRAPPER MSSQLODBC3;

要確認: デフォルト名 MSSQLODBC3 を使用してラッパーを登録する場合、フェデレーテッド・サーバーは、フェデレーテッド・サーバーが実行されているオペレーティング・システムに適した Microsoft SQL Server ラッパー・ライブラリーを自動的に使用します。

デフォルトのラッパー名がフェデレーテッド・データベース内の既存のラッパー名と競合する場合、デフォルトのラッパー名を、指定の名前で置き換えることができます。デフォルト名とは別の名前を使用する場合は、CREATE WRAPPER ステートメントにLIBRARY パラメーターを含める必要があります。

たとえば、AIX を使用するフェデレーテッド・サーバー上で sqlserver_wrapper という名前のラッパーを登録するには、次のステートメントを発行します。

CREATE WRAPPER sqlserver_wrapperLIBRARY ’libdb2mssql3.a’;

指定するラッパー・ライブラリー・ファイルは、フェデレーテッド・サーバーのオペレーティング・システムによって異なります。

この作業を完了したら、サーバー定義を登録することができます。

Microsoft SQL Server ラッパー・ライブラリー・ファイルMicrosoft SQL Server ラッパー・ライブラリー・ファイルはラッパーのインストール時にフェデレーテッド・サーバーに追加されます。

Microsoft SQL Server ラッパーをインストールすると、デフォルトのディレクトリー・パスに 3 つのライブラリー・ファイルが追加されます。たとえば、フェデレーテッド・サーバーが AIX 上で実行されている場合、ディレクトリー・パスに追加されるラッパー・ライブラリー・ファイルは libdb2mssql3.a、 libdb2mssql3F.a、およびlibdb2mssql3U.a です。デフォルトのラッパー・ライブラリー・ファイルはlibdb2mssql3.a です。他のラッパー・ライブラリー・ファイルは Microsoft SQL

Server ラッパーの内部で使用されます。

ラッパーの登録時にデフォルトのラッパー名を使用しない場合は、CREATE

WRAPPER ステートメントに LIBRARY パラメーターを含め、デフォルトのラッパー・ライブラリー・ファイルの名前を指定する必要があります。

第 12 章 Microsoft SQL Server データ・ソース 255

Page 266: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

以下の表に、デフォルトのディレクトリー・パスとデフォルトのラッパー・ライブラリー・ファイルの名前がリストされています。

表 72. Microsoft SQL Server クライアント・ライブラリーの場所とファイル名

オペレーティング・システム

ディレクトリー・パス ライブラリー・ファイル名

AIX /usr/opt/install_path/lib32/

/usr/opt/install_path/lib64/

libdb2mssql3.a

Linux /opt/IBM/db2/install_path/lib32

/opt/IBM/db2/install_path/lib64

libdb2mssql3.so

Solaris /opt/IBM/db2/install_path/lib32

/opt/IBM/db2/install_path/lib64

libdb2mssql3.so

Windows %DB2PATH%¥bin db2mssql3.dll

install_path は、IBM WebSphere Federation Server が UNIX または Linux でインストールされているディレクトリー・パスです。

Microsoft SQL Server データ・ソースのサーバー定義の登録フェデレーテッド・データベースでアクセスする各 Microsoft SQL Server リモート・サーバーを登録する必要があります。

手順

Microsoft SQL Server データ・ソースのサーバー定義を登録するには、次のようにします。

1. Microsoft SQL Server のノード名を見付けます。

v Windows を実行するフェデレーテッド・サーバーの場合、このノード名は、アクセスするMicrosoft SQL Server リモート・サーバーに指定したシステムDSN 名です。

v UNIX を実行するフェデレーテッド・サーバーの場合、このノード名は.odbc.ini ファイルに定義されています。

.odbc.ini ファイルの先頭に ODBC Data Sources とラベルの付いたセクションがあり、そこにノードがリストされています。ノードごとに、各ノードを記述するセクションが .odbc.ini ファイルにあります。

以下の例は、AIX での .odbc.ini ファイルです。ノード名は [rawilson] と[medusa] です。

[ODBC Data Sources]rawilson=MS SQL Server 2000medusa=MS SQL Server 2000[rawilson]Driver=/opt/odbc/lib/ddmsss20.soDescription=MS SQL Server Driver for AIXAddress=9.112.30.39,1433[medusa]Driver=/opt/odbc/lib/ddmsss20.so

256 フェデレーテッド・データ・ソース 構成ガイド

Page 267: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Description=MS SQL Server Driver for AIXAddress=9.112.98.123,1433[ODBC]InstallDir=/opt/odbc

2. 以下の方法のいずれかを使用して、サーバー定義を作成します。

方法 説明

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

CREATE SERVER ステートメントを発行します

たとえば、次のようにします。

CREATE SERVER server_definition_nameTYPE MSSQLSERVERVERSION version_numberWRAPPER wrapper_nameOPTIONS (NODE ’node_name’,DBNAME ’database_name’);

’node_name’ および ’db_name’ 変数はCREATE SERVER ステートメントではオプションとして指定されますが、Microsoft SQL

Server データ・ソースの場合は必須です。

サーバー定義を登録した後、サーバー・オプションを追加またはドロップするには、ALTER SERVER ステートメントを使用します。

この作業を完了したら、ユーザー・マッピングを作成することができます。

Microsoft SQL Server データ・ソース用のユーザー・マッピングの作成Microsoft SQL Server リモート・サーバーへのアクセスを試行する際、フェデレーテッド・サーバーはそのデータ・ソースで有効なユーザー ID とパスワードを使用して、Microsoft SQL Server リモート・サーバーへの接続を確立します。それぞれのフェデレーテッド・サーバーのユーザー ID とパスワード、および対応するデータ・ソースのユーザー ID とパスワードの間の関係付け (ユーザー・マッピング) を定義しなければなりません。

このタスクについて

フェデレーテッド・システムにアクセスする、各ユーザー ID のユーザー・マッピングを作成して、Microsoft SQL Server データ・ソースへの分散要求を送信します。

手順

ローカル・ユーザー ID を Microsoft SQL Server リモート・サーバーのユーザーID とパスワードにマップするには、以下のようにします。

CREATE USER MAPPING ステートメントを発行します。

第 12 章 Microsoft SQL Server データ・ソース 257

Page 268: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

たとえば、次のようにします。

CREATE USER MAPPING FOR local_userID SERVER server_definition_nameOPTIONS (REMOTE_AUTHID ’remote_userID’, REMOTE_PASSWORD ’remote_password’);

REMOTE_AUTHID および REMOTE_PASSWORD 変数は CREATE USER

MAPPING ステートメントではオプションとして指定されますが、 Microsoft SQL

Server データ・ソースにアクセスする場合は必須です。

この作業を完了したら、Microsoft SQL Server の表とビューへの接続をテストすることができます。

Microsoft SQL Server リモート・サーバーへの接続のテストMicrosoft SQL Server リモート・サーバーへの接続をテストして、フェデレーテッド・サーバーが MicrosoftSQL Server データ・ソースにアクセスするように適切に構成されているかどうかを判別します。

このタスクについて

Microsoft SQL Server リモート・サーバーへの接続のテストは、定義したサーバー定義とユーザー・マッピングを使用して行うことができます。

手順

Microsoft SQL Server リモート・サーバーへの接続をテストするには、以下のようにします。

パススルー・セッションを開き、Microsoft SQL Server システム表に対して SQL

SELECT ステートメントを発行します。 SELECT ステートメントがカウントを戻す場合、サーバー定義およびユーザー・マッピングは適切にセットアップされています。

たとえば、次のようにします。

SET PASSTHRU server_definition_nameSELECT count(*) FROM dbo.sysobjectsSET PASSTHRU RESET

この作業を完了したら、ニックネームを登録することができます。

Microsoft SQL Server 表およびビューのニックネームの登録登録するそれぞれの Microsoft SQL Server リモート・サーバー定義に対して、アクセスしたい表またはビューごとにニックネームを登録する必要があります。Microsoft SQL Server リモート・サーバーを照会するときには、データ・ソース・オブジェクトの名前ではなく、これらのニックネームを使用します。

始める前に

フェデレーテッド・データベースの統計が現行の、完全なものとなるようにするには、ニックネームを作成する前に、Microsoft SQL Server の sp_createstats ストアード・プロシージャーおよび Microsoft SQL Server の CREATE STATISTICS コマンドを Microsoft SQL Server データベースから実行します。

258 フェデレーテッド・データ・ソース 構成ガイド

Page 269: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

sp_createstats ストアード・プロシージャーは Microsoft SQL Server データ・ソースの表にあるすべてのデフォルトの列に関する統計を収集しますが、索引内で最初に現れる列の統計は収集しません。フェデレーテッド・データベースが Microsoft

SQL Server 表に関する完全な統計を持つようにするには、Microsoft SQL Server のCREATE STATISTICS コマンドをさらに使用して、索引内で最初に現れる各列の統計を収集しなければなりません。

Microsoft SQL Server データベースから CREATE STATISTICS コマンドを使用する場合、統計の名前を、その統計が収集される列の名前と同じにしなければなりません。統計の名前を列の名前と同じにすることにより、CREATE NICKNAME ステートメントを使ってニックネームを登録するときに Microsoft SQL Server のCREATE STATISTICS コマンドによって収集される統計をフェデレーテッド・データベースが読み取るようにします。

手順

Microsoft SQL Server の表またはビューにニックネームを登録するには、次のようにします。

次の方法のいずれかを使用します。

方法 説明

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

CREATE

NICKNAME ステートメントを発行します。ニックネームの長さは128 文字までです。

たとえば、次のようにします。

CREATE NICKNAME nicknameFOR server_definition_name."remote_schema"."remote.table";

ニックネームを作成すると、フェデレーテッド・サーバーはニックネームを使用してデータ・ソース・カタログを照会します。この照会は、データベース・ソースの表、ビュー、またはシノニムへの接続をテストします。接続が働かない場合、エラー・メッセージが出ます。

ニックネームを作成したい Microsoft SQL Server の表またはビューごとに、このステップを繰り返します。

ODBC トレース情報による、Microsoft SQL Server データ・ソースへの接続のトラブルシューティング

データ・ソースへの接続に問題がある場合、ODBC トレース情報を入手して問題を分析し、解決することができます。

症状

しかしながら、トレースをオンにすると、システム・パフォーマンスに影響が出ます。接続に関する問題が解決したら、トレースはオフにすべきです。

第 12 章 Microsoft SQL Server データ・ソース 259

Page 270: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Microsoft SQL Server ラッパーでデータ・ソースに接続できない場合、トレースの実行は問題の診断に役立つことがあります。

原因

この問題の原因は、ラッパー構成の誤りである可能性があります。

問題の診断

Windows を実行するフェデレーテッド・サーバーの問題を診断する場合:

1. 「コントロール パネル」で「管理ツール」フォルダーを開きます。

2. 「データ ソース (ODBC)」をクリックし、「ODBC データ ソース アドミニストレータ」ウィンドウを開きます。

3. 「トレース」タブをクリックします。

4. 「トレースの開始」をクリックし、トレース・ユーティリティーを開始します。

UNIX を実行するフェデレーテッド・サーバーの場合:

1. odbc.ini ファイルを変更します。

たとえば、DataDirect ODBC 3.x ドライバーを使用している場合、クライアント・ディレクトリーで odbc.ini ファイルの例を見つけてください。 odbc.ini ファイルには、トレース・ファイルを活動化するのに必要な設定の例が含まれています。

[ODBC]Trace=1TraceFile=/home/user1/trace_dir/filename.xxxTraceDll==ODBC_driver_directory/odbctrac.soInstallDir=/opt/odbc

トレースをオンにするには、1 行目を Trace=1 に設定します。トレースをオフにするには、1 行目を Trace=0 に設定します。 TraceFile 設定の値は、フェデレーテッド・データベース・インスタンスが書き込みアクセス権限を持っているパスおよびファイル名です。

問題の解決

トレース・ログ・ファイルに問題がないかどうか調べます。

Windows の場合、「ODBC データ ソース アドミニストレータ」を開き、「トレース」タブをクリックします。トレース・ログ・ファイルへのパスは「ログ ファイルのパス」フィールドに示されています。

UNIX の場合、odbc.ini ファイルを開きます。トレース・ログ・ファイルへのパスはTraceFile 設定で示されています。

260 フェデレーテッド・データ・ソース 構成ガイド

Page 271: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CREATE USER MAPPING ステートメント - Microsoft SQL Server ラッパーの例

CREATE USER MAPPING ステートメントを使用して、フェデレーテッド・サーバーのユーザー ID を Microsoft SQL Server リモート・サーバーのユーザー ID およびパスワードにマップします。このトピックには、必須パラメーターを使用する完全指定の例と、CREATE USER MAPPING ステートメントで DB2 特殊レジスターUSER を使用する方法を示す例があります。

以下に示すのは、フェデレーテッド・サーバーのユーザー ID を Microsoft SQL

Server リモート・サーバーのユーザー ID およびパスワードにマップする方法を示す例です。

CREATE USER MAPPING FOR elizabeth SERVER sqlserverOPTIONS (REMOTE_AUTHID ’liz’, REMOTE_PASSWORD ’abc123’)

elizabeth

Microsoft SQL Server リモート・サーバーで定義されたユーザー ID にマップする、ローカルのユーザー ID を指定します。

SERVER sqlserver

CREATE SERVER ステートメントで Microsoft SQL Server リモート・サーバー用に登録したサーバー定義名を指定します。

REMOTE_AUTHID ’liz’

elizabeth をマップする、Microsoft SQL Server リモート・サーバー側のユーザー ID を指定します。 CREATE SERVER ステートメントで FOLD_ID

サーバー・オプションを ’U’ または ’L’ にしている場合を除き、この値の大文字小文字の区別を保持するように単一引用符を使用してください。

REMOTE_PASSWORD ’abc123’

’liz’ に関連するパスワードを指定します。 CREATE SERVER ステートメントで FOLD_PW サーバー・オプションを ’U’ または ’L’ にしている場合を除き、この値の大文字小文字の区別を保持するように単一引用符を使用してください。

DB2 特殊レジスター USER

DB2 特殊レジスター USER を使用して、CREATE USER MAPPING ステートメントを実行する人の許可 ID を、REMOTE_AUTHID ユーザー・オプションに指定されるデータ・ソースの許可 ID にマップすることができます。

以下に、特殊レジスター USER を含む CREATE USER MAPPING ステートメントの例を示します。

CREATE USER MAPPING FOR USER SERVER sqlserverOPTIONS (REMOTE_AUTHID ’liz’, REMOTE_PASSWORD ’abc123’);

CREATE NICKNAME ステートメント - Microsoft SQL Server ラッパーの例

CREATE NICKNAME ステートメントを使用して、アクセスする Microsoft SQL

Server の表またはビューのニックネームを登録します。必須パラメーターが含まれる完全な例が、このトピックに示されています。

第 12 章 Microsoft SQL Server データ・ソース 261

Page 272: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

以下の例は、CREATE NICKNAME ステートメントを使用して Microsoft SQL

Server の表またはビューのニックネームを登録する方法を示しています。

CREATE NICKNAME cust_africa FOR sqlserver."vinnie"."egypt"

cust_africa

Microsoft SQL Server の表またはビューを識別するために使用する固有なニックネームです。

重要: ニックネームは、2 つの部分 (スキーマとニックネーム) からなる名前です。ニックネームの登録時にスキーマを省略すると、そのニックネームのスキーマはニックネームを登録するユーザーの許可 ID になります。

sqlserver.″vinnie″.″egypt″リモート・オブジェクトを表す、3 つの部分からなる ID。

v sqlserver は、CREATE SERVER ステートメントで Microsoft SQL Server

リモート・サーバーに割り当てたサーバー定義名です。

v vinnie は、表またはビューが属する所有者のユーザー ID です。

v egypt は、アクセスしたいリモートの表またはビューの名前です。

フェデレーテッド・サーバーは、引用符で名前を囲まない限り、Microsoft

SQL Server スキーマおよび表の名前を大文字に変換します。

262 フェデレーテッド・データ・ソース 構成ガイド

Page 273: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 13 章 ODBC データ・ソース

ODBC データ・ソースへのアクセスの構成ODBC データ・ソースにアクセスするようにフェデレーテッド・サーバーを構成するには、アクセスするデータ・ソースとオブジェクトの情報をフェデレーテッド・サーバーに提供しなければなりません。

始める前に

v ODBC ドライバーが、フェデレーテッド・サーバーとして機能するサーバー上にインストールされ、構成されている必要があります。

v IBM WebSphere Federation Server が、フェデレーテッド・サーバーとして機能するサーバー上にインストールされている必要があります。

v フェデレーテッド・サーバーのセットアップを確認します。

v フェデレーテッド・パラメーターをチェックして、フェデレーションが有効になっていることを確認します。

v システム環境変数、db2dj.ini ファイル変数、および DB2 Profile Registry (db2set)

変数の適切なセットアップ。 ODBC クライアントで必要な変数については、ODBC データ・ソースから提供される資料を確認してください。 LIBPATH 環境変数が必要な場合があります。

制約事項

v ODBC ラッパーを使用して DB2 ファミリーのデータ・ソースにアクセスすることはできません。 DB2 ファミリーのデータ・ソースにアクセスするには、DRDA ラッパーを使用してください。

v ODBC ラッパーは、以下の関数やステートメントをサポートしていません。

– ニックネームでの LOCK TABLE ステートメント

– ODBC 3.x で推奨されない機能

– X/Open または SQL/CLI ドライバー

– ストアード・プロシージャーのニックネーム

– リモート・セーブポイント・ステートメントを使用した、ステートメント・レベルの一貫性の確保

– WITH HOLD カーソル

v 位置指定更新および削除操作をサポートしないデータ・ソースの場合、非 NULL

可能の列に対するユニーク索引がニックネームや対応するリモート表に存在しないと、ニックネームによる位置指定 UPDATE および DELETE ステートメントや、一部の検索 UPDATE および DELETE ステートメントは失敗します。こうしたステートメントが失敗した場合は、エラー SQL30090 (理由コード 21) が戻されます。

v ODBC ラッパーは、接続ごとのアクティブなステートメントの数を制限するデータ・ソースに対する INSERT、UPDATE、DELETE ステートメントをサポートしません。データ・ソースが接続ごとのアクティブ・ステートメントの数を制限す

© Copyright IBM Corp. 1998, 2006 263

Page 274: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

るかどうかを判断するには、そのデータ・ソースのための文書を調べてください。この制限が当てはまる ODBC データ・ソースの 1 つとして、IBM Red

Brick™ Warehouse があります。

v ODBC ラッパーは、ドライバー固有の SQL データ・タイプ標識を持つ列を含む表に対する操作をサポートしません。また、パススルー・モードでの CREATE

NICKNAME ステートメントおよび SELECT ステートメントもサポートされません。 ODBC ラッパーは、Microsoft ODBC プログラマーズ・リファレンス にある ODBC 規格によって定義されている SQL データ・タイプ標識のみをサポートします。

このタスクについて

DB2 コントロール・センターを使用するか、または DB2 コマンド行で SQL ステートメントを発行することによって、ODBC データ・ソースをアクセスするようにフェデレーテッド・サーバーを構成することができます。 DB2 コントロール・センターには、必須フェデレーテッド・オブジェクトを構成するために必要なステップを順番に提供するウィザードが組み込まれています。

ODBC API を通してアクセスされるデータ・ソースのことを、ここでは ODBC データ・ソースと呼びます。

必要に応じて、Excel ラッパーを使用する代わりに ODBC ラッパーを使用してExcel データにアクセスすることができます。 Excel データにアクセスするようにODBC ラッパーを構成する特定のステップについては、別のトピックで説明されています。

手順

ODBC データ・ソースをフェデレーテッド・サーバーに追加するには、以下のようにします。

1. フェデレーテッド・サーバーおよびフェデレーテッド・データベースをオペレーティング・システムに応じて準備するには、次の方法のいずれかを使用します。

v ODBC (Windows) を介してデータ・ソースにアクセスするためにフェデレーテッド・サーバーを準備します。

v ODBC (Linux、UNIX) を通してデータ・ソースにアクセスするためにフェデレーテッド・サーバーを準備します。

2. ODBC ラッパーを登録します。

3. ODBC データ・ソースのサーバー定義を登録します。

4. ODBC データ・ソースのユーザー・マッピングを作成します。

5. ODBC データ・ソース・サーバーとの接続をテストします。

6. ODBC データ・ソースの表およびビューのニックネームを登録します。

ODBC ラッパーを使用した Excel データへのアクセスExcel ODBC ドライバーを使用すると、ODBC ラッパーで Microsoft Excel ワークブックにアクセスできます。

始める前に

264 フェデレーテッド・データ・ソース 構成ガイド

Page 275: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v Excel ODBC ドライバーがフェデレーテッド・サーバー上になければなりません。

v フェデレーテッド・サーバーは Excel ワークブック中のワークシートを開き読み取って、データを取り出せなければなりません。したがって、Excel ワークブックはフェデレーテッド・サーバーと同じコンピューター上か、またはアクセス可能なマップされたネットワーク・ドライブ上になければなりません。

v 予期される列のデータ・タイプに応じて、列のフォーマットを設定します。

v 列に挿入されるデータは、その列に指定されたフォーマット・タイプに適合するものでなければなりません。

v スプレッドシートの最初の 8 行にデータがない場合は、空であるか確認します。セルを確実に空にするには、Microsoft Excel でスプレッドシートを開いて、「編集」 → 「すべてクリア」 を選択します。

v スプレッドシートの列に挿入されるデータは、必ず指定されたタイプに適合するものにします。

制約事項

v ワークブックがユーザーまたはアプリケーションによって読み取り/書き込みモードですでに開かれている場合、ODBC ラッパーはワークシートにアクセスできません。しかし、ユーザーまたはアプリケーションがワークブックを開く前にODBC ラッパーがワークブックを開いた場合は、ユーザーまたはアプリケーションは読み取り専用モードでワークブックを開くことができます。

v Excel ODBC ドライバーは、最初の非ブランク行にワークシート列のラベルが含まれていることを予期しています。ワークシートにラベルがない場合は、ワークシート中に列ラベルの行を挿入しなければなりません。

v Excel ODBC ドライバーは Windows オペレーティング・システムでだけ入手可能なので、ODBC ラッパーを使用してアクセスできるのは、Windows が稼働しているフェデレーテッド・サーバー上の Excel データだけです。

v Excel ワークシート上で挿入操作と更新操作を実行できますが、削除操作は実行できません。 Excel ODBC ドライバーは、削除操作をサポートしていません。ワークシートからデータを削除するには、Excel でワークシートを開いて変更を加えなければなりません。

このタスクについて

Excel アプリケーションをフェデレーテッド・サーバー上にインストールする必要はありません。 Excel ODBC ドライバーは、自動的に Windows と共にインストールされます。

ODBC ラッパーと Excel ODBC ドライバーを使用すると、ワークブック中のすべてのワークシート中のデータにアクセスできます。 Excel ODBC ドライバーは、ワークブックをデータベースと解釈し、ワークブック中の個々のワークシートを表と解釈します。

ワークブックを作成したバージョンの Excel アプリケーションがサポートされなくなっても、Excel ODBC ドライバーは旧バージョンの Excel ワークブックをサポートしています。たとえば、Microsoft 社は Excel バージョン 4.0 で作成されたワークシートをサポートしなくなりましたが、このドライバーはこのバージョンで作成した Excel ワークシートをサポートしています。

第 13 章 ODBC データ・ソース 265

Page 276: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

手順

ODBC ラッパーを使用して Excel ワークシートにアクセスするには、以下のようにします。

1. アクセスする Excel ワークブックが、フェデレーテッド・サーバー上にあるか、アクセス可能なマップされたネットワーク・ドライブにあるか確認します。

2. 必要に応じて、Excel ワークシート中のデータのレイアウトに変更を加えて、Excel ODBC ドライバーの要件を満たすようにします。アクセスするワークシートまたは名前付き範囲ごとに、このステップを繰り返します。

3. 必要に応じて、アクセスする名前付き範囲を作成します。

4. アクセスするワークブックのシステム DSN を作成します。システム DSN の構成には、「ODBC データ ソース アドミニストレータ」を使用できます。システム DSN の作成時に指定した名前が、 CREATE SERVER ステートメント中のNODE オプションの値として割り当てられます。

5. CREATE WRAPPER ステートメントを発行します。

6. フェデレーテッド・データベース・システム・カタログ中にサーバー・オブジェクトを登録して、ワークブックの場所を指定します。 ODBC ラッパーの場合は、DSN ごとにサーバー・オブジェクトが必要です。 Excel ODBC ドライバーの使用時に DSN がワークブックと関連付けられます。 NODE

compounds_workbook_dsn は、作成したシステム DSN です。 ODBC ラッパーがExcel ワークシートにアクセスするには、NODE オプションが必要です。

ワークブックの場所を指定するには、CREATE SERVER ステートメントを発行し、NODE オプションのシステム DSN として DSN を使用します。

例:

CREATE SERVER compounds_workbook WRAPPER odbcOPTIONS (NODE ’compounds_workbook_dsn’, PASSWORD ’n’)

アクセスしようとしているワークブックごとに、このステップを繰り返します。

7. CREATE NICKNAME ステートメントを発行して、アクセスするワークシートのニックネームを作成します。構文は次のとおりです。

CREATE NICKNAME nickname FOR server_name.remote_table

8. 名前付き範囲を作成してデータにアクセスする場合は、CREATE NICKNAME ステートメントの remote_table の部分に範囲の名前を指定します。

たとえば、範囲の名前が testing の場合は、CREATE NICKNAME ステートメントは以下のようになります。

CREATE NICKNAME compounds_nickname FOR compounds_workbook.testing

範囲ではなくワークシート全体のデータにアクセスするには、ワークシートの名前の後に $ 記号を指定します。

たとえば、ワークシートの名前が Sheet1 の場合は、CREATE NICKNAME ステートメントは以下のようになります。

CREATE NICKNAME compounds_nick FOR compounds_workbook.Sheet1$

266 フェデレーテッド・データ・ソース 構成ガイド

Page 277: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

WebSphere Classic Federation Server for z/OS データ・ソースへのODBC アクセスの構成

ODBC ラッパーは、WebSphere Classic Federation Server for z/OS データ・ソースへのアクセスのために最適化されています。ODBC ラッパーは、ODBC ドライバーを検出し、自動的にパフォーマンス・オプションを構成します。

始める前に

フェデレーテッド・サーバーで以下の項目の構成が必要になります。

v フェデレーテッド・サーバー

v WebSphere Classic Federation Server for z/OS クライアント

v フェデレーテッド・データベース

v システム環境 db2dj.ini ファイルの変数、DB2 プロファイル・レジストリー(db2set)。LIBPATH 環境変数が必要な場合があります。 Linux および UNIX システムの場合、 CAC_CONFIG 変数を cac.ini ファイルのパスに設定する必要があります。例:

CAC_CONFIG=/home/db2inst1/cac.ini

v AIX および Solaris システムでは、DB2_FENCED ラッパー・オプションを Y に設定し、DB2_SOURCE_CLIENT_MODE ラッパー・オプションを 32BIT に設定する必要があります。

インストール、構成、ODBC 要件については、個々の製品に添付されている資料を参照してください。

制約事項

ODBC ラッパーは、WebSphere Classic Federation Server for z/OS データ・ソースに関して、以下のステートメントをサポートしていません。

v CREATE TABLE

WebSphere Classic Federation Server for z/OS データ・ソースに以下のデータ・タイプを使用することはサポートされていません。

v BLOB

v CLOB

v DBCLOB

v CHAR FOR BIT DATA

v VARCHAR FOR BIT DATA

手順

WebSphere Classic Federation Server for z/OS データ・ソースへの ODBC アクセスを構成するには、以下のようにします。

1. ご使用のオペレーティング・システムに応じて、以下のいずれかの作業をします。

v Windows の場合、データ・ソースのノード名がシステム DSN として定義されていることを確認します。 Microsoft ODBC データ・ソース・アドミニス

第 13 章 ODBC データ・ソース 267

Page 278: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

トレータを使用して DSN を定義した場合は、「コントロール パネル」でシステム DSN として登録されていることを確認できます。

v UNIX の場合、 ODBC クライアントの構成方法の説明について、WebSphere

Classic Federation Server for z/OS の資料で確認してください。

2. クライアント・ライブラリーの適切なロードを可能にするため、データ・ソース・クライアント・ライブラリー・パスを DB2LIBPATH レジストリー変数に追加することが必要になる場合もあります。レジストリー変数を設定するには次のコマンドを発行します。

db2set DB2LIBPATH="/opt/IBM/DB2IIClassic82/cli/lib"

″/opt/IBM/DB2IIClassic82/cli/lib″データ・ソース・クライアントのライブラリー・ディレクトリーのパス

3. ODBC ラッパーを登録します。

4. ODBC データ・ソースのサーバー定義を登録します。

5. ODBC データ・ソースのユーザー・マッピングを作成します。

6. ODBC データ・ソース・サーバーとの接続をテストします。

7. ODBC データ・ソースの表およびビューのニックネームを登録します。

ODBC を通してデータ・ソースにアクセスするためのフェデレーテッド・サーバーの準備 (Windows)

Windows が稼働するフェデレーテッド・サーバーの場合、フェデレーテッド・サーバーは、ODBC データ・ソースにアクセスできる必要があります。フェデレーテッド・サーバーの準備をするには、ODBC System DSN の設定を確認する必要があります。

手順

ODBC を通してデータ・ソースにアクセスするためにフェデレーテッド・サーバーを準備するには、以下のようにします。

フェデレーテッド・サーバー上に、ODBC 3.x ドライバーがインストールされていて構成されているか調べてください。

ODBC データ・ソースのノード名が、システム DSN に定義されている必要があります。インストールと構成の手順については、ODBC ドライバーの資料を参照してください。

Microsoft ODBC データ ソース アドミニストレータを使用して DSN を構成した場合は、「コントロール パネル」でこの設定を検査できます。「システム DSN」として ODBC データ・ソースが登録されているか確認してください。そうなっていないと、フェデレーテッド・サーバーが DSN を見つけられない可能性があります。

この作業が完了したら、ラッパーの登録ができます。

268 フェデレーテッド・データ・ソース 構成ガイド

Page 279: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ODBC を通してデータ・ソースにアクセスするためのフェデレーテッド・サーバーの準備 (Linux、UNIX)

Linux または UNIX が稼働するフェデレーテッド・サーバーの場合、フェデレーテッド・サーバーは ODBC データ・ソースにアクセスできる必要があります。フェデレーテッド・サーバーを準備するには、odbc.ini ファイルの設定を確認し、シンボリック・リンクを作成し、ODBC データ・ソースへの接続をテストする必要があります。

手順

ODBC を通してデータ・ソースにアクセスするためにフェデレーテッド・サーバーを準備するには、以下のようにします。

1. フェデレーテッド・サーバーの odbc.ini ファイルが更新されていることを確認します。このファイルがない場合は、任意のテキスト・エディターを使用して作成することができます。 odbc.ini ファイルについては、ODBC クライアント・ベンダーの資料を参照してください。

2. ODBC クライアントを構成します。

ODBC クライアントの構成方法については、ODBC クライアントのベンダーからの資料を参照してください。

3. クライアントが DataDirect ODBC か RedBrick である場合、適切なシンボリック・リンクが作成されていることを確認します。以下のシンボリック・リンクで、ODBC_CLIENT_DIR は ODBC クライアントがインストールされるディレクトリーです。

フェデレーテッド・サーバーのオペレーティング・システム ステップ

Linux 以下のシンボリック・リンクを作成します。

ln -s $ODBC_CLIENT_DIR/../locale /usr/local/locale

ln -s $ODBC_CLIENT_DIR/libodbcinst.so /usr/lib/libodbcinst.so

DataDirect Technologies Connect for ODBC 4.2 ドライバーを使用している場合、次のシンボリック・リンクも作成しなければなりません。

ln -s $ODBC_CLIENT_DIR/libivicu19.so /usr/lib/libivicu19.so

Solaris 以下のシンボリック・リンクを作成します。

ln -s $ODBC_CLIENT_DIR/../locale $HOME/sqllib/locale

$HOME は、DB2 インスタンス所有者のホーム・ディレクトリーです。

4. クライアントが DataDirect ODBC の場合、フェデレーテッド・サーバーからデータ・ソースへの接続は、DataDirect Connect ODBC demoodbc ツールを使用してテストできます。

a. /opt/odbc/odbc.sh スクリプトを実行します。このスクリプトは、いくつかのオペレーティング・システム特有の環境変数をセットアップします。

第 13 章 ODBC データ・ソース 269

Page 280: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

b. DataDirect Connect ODBC demoodbc ツールを使用して、ODBC データ・ソースへの接続をテストします。 demoodbc ツールは、Connect ODBC ライブラリーの /demo サブディレクトリーにあります。

この作業が完了したら、ラッパーの登録ができます。

ODBC ラッパーの登録ODBC データ・ソースにアクセスするためには、ラッパーを登録する必要があります。フェデレーテッド・サーバーは、ラッパーを使用して、データ・ソースと通信を行い、データ・ソースからデータを取得します。ラッパーは、ライブラリー・ファイルのセットとしてインプリメントされます。

手順

ODBC ラッパーを登録するには、次のようにします。

次の方法のいずれかを使用します。

方法 説明

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

CREATE WRAPPER

ステートメントを発行し、ODBC ラッパーのデフォルト名を指定します。

例:

CREATE WRAPPER ODBC;

要確認: このデフォルト名、ODBC を使用してラッパーを登録する場合、フェデレーテッド・サーバーはフェデレーテッド・サーバーが稼働するオペレーティング・システムにとって適切な ODBC ラッパー・ライブラリーを自動的に採用します。

Linux または UNIX が稼働するフェデレーテッド・サーバーでは、MODULE ラッパー・オプションを指定する必要があります。MODULE ラッパー・オプションでは、ODBC Driver Manager を含むライブラリーの絶対パスを指定します。

AIX および Solaris では、WebSphere Classic Federation Server on

z/OS データ・ソースへのアクセスを構成する場合、DB2_FENCED

および DB2_SOURCE_CLIENT_MODE オプションを、以下の例に示すように指定する必要があります。

CREATE WRAPPER ODBCLIBRARY ’libdb2rcodbc.a’OPTIONS (DB2_FENCED ’Y’,DB2_SOURCE_CLIENT_MODE ’32BIT’,MODULE ’/opt/IBM/DB2IIClassic82/cli/lib/cacsqlcli.so’)

270 フェデレーテッド・データ・ソース 構成ガイド

Page 281: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

方法 説明

CREATE WRAPPER

ステートメントを発行し、ODBC ラッパーの代替名を指定します。

デフォルトのラッパー名がフェデレーテッド・データベース内の既存のラッパー名と競合する場合、デフォルトのラッパー名を、指定の名前で置き換えることができます。デフォルト名とは別の名前を使用する場合は、CREATE WRAPPER ステートメントに LIBRARY

パラメーターを含める必要があります。

たとえば、AIX を使用するフェデレーテッド・サーバー上でodbc_wrapper という名前のラッパーを登録するには、次のステートメントを発行します。

CREATE WRAPPER odbc_wrapperLIBRARY ’libdb2rcodbc.a’;

指定するラッパー・ライブラリー・ファイルは、フェデレーテッド・サーバーのオペレーティング・システムによって異なります。

この作業が完了したら、サーバー定義の登録ができます。

ODBC ラッパー・ライブラリー・ファイルODBC ラッパー・ライブラリー・ファイルは、ラッパーのインストール時にフェデレーテッド・サーバーに追加されます。

ODBC ラッパーをインストールすると、デフォルトのディレクトリー・パスに、3

つのライブラリー・ファイルが追加されます。たとえば、フェデレーテッド・サーバーが AIX 上で稼働している場合、ディレクトリー・パスに追加されるラッパー・ライブラリー・ファイルは、libdb2rcodbc.a、libdb2rcodbcF.a、libdb2rcodbcU.a です。デフォルトのラッパー・ライブラリー・ファイルは、libdb2rcodbc.a です。他のラッパー・ライブラリー・ファイルは、ODBC ラッパーによって内部で使用されます。

ラッパーを登録する際にデフォルトのラッパー名を使用しない場合は、CREATE

WRAPPER ステートメントに LIBRARY パラメーターを含め、デフォルトのラッパー・ライブラリー・ファイル名を指定する必要があります。

以下の表に、デフォルトのディレクトリー・パスとデフォルトのラッパー・ライブラリー・ファイルの名前がリストされています。

表 73. ODBC クライアント・ライブラリーの場所とファイル名

オペレーティング・システム

ディレクトリー・パス ラッパーのライブラリー・ファイル

AIX /usr/opt/install_path/lib32/

/usr/opt/install_path/lib64/

libdb2rcodbc.a

Linux /opt/IBM/db2/install_path/lib32

/opt/IBM/db2/install_path/lib64

libdb2rcodbc.so

Solaris /opt/IBM/db2/install_path/lib32

/opt/IBM/db2/install_path/lib64

libdb2rcodbc.so

Windows %DB2PATH%¥bin db2rcodbc.dll

install_path は、IBM WebSphere Federation Server が UNIX または Linux にインストールされるディレクトリー・パスです。

第 13 章 ODBC データ・ソース 271

Page 282: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ODBC データ・ソースのサーバー定義の登録フェデレーテッド・データベース内に、アクセスする ODBC サーバーをそれぞれ登録する必要があります。

手順

ODBC データ・ソースのサーバー定義を登録するには、次のようにします。

方法 説明

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

CREATE SERVER

ステートメントを発行します。

例:

CREATE SERVER server_definition_name TYPE data_source_typeVERSION version_number WRAPPER wrapper_nameOPTIONS (NODE ’node_name’, DBNAME ’database_name’);

ノード名は CREATE SERVER ステートメントではオプションとなっていますが、ODBC データ・ソースの場合は必要です。

サーバー定義を作成した後、サーバー・オプションを追加またはドロップするには、ALTER SERVER ステートメントを使用します。

この作業が完了したら、ユーザー・マッピングを作成できます。

ODBC データ・ソースのユーザー・マッピングの作成ODBC サーバーにアクセスする場合、フェデレーテッド・サーバーは、データ・ソースに対して有効なユーザー ID とパスワードを使用して、ODBC サーバーへの接続を確立します。ユーザー・マッピングを必要とするデータ・ソースの場合、それぞれのフェデレーテッド・サーバーのユーザー ID とパスワード、および対応するデータ・ソースのユーザー ID とパスワードの間の関係付け (ユーザー・マッピング) を定義しなければなりません。

このタスクについて

フェデレーテッド・システムにアクセスして ODBC データ・ソースへの分散要求を送信するユーザー ID ごとに、ユーザー・マッピングを作成します。

手順

ローカル・ユーザー ID を ODBC データ・ソースのユーザー ID とパスワードにマップするには、以下のようにします。

CREATE USER MAPPING ステートメントを発行します。

例:

CREATE USER MAPPING FOR local_userID SERVER server_definition_nameOPTIONS (REMOTE_AUTHID ’remote_userID’, REMOTE_PASSWORD ’remote_password’);

272 フェデレーテッド・データ・ソース 構成ガイド

Page 283: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

remote_userID と remote_password の値は CREATE USER MAPPING ステートメントではオプションの指定となりますが、ODBC データ・ソースへのアクセスには必須です。

この作業が完了したら、ODBC データ・ソースへの接続をテストできます。

ODBC データ・ソース・サーバーへの接続のテストフェデレーテッド・サーバーが ODBC データ・ソースへのアクセスのために適切に構成されているかを確認するために、ODBC データ・ソース・サーバーへの接続をテストします。

このタスクについて

ODBC データ・ソース・サーバーへの接続のテストは、定義したサーバー定義とユーザー・マッピングを使用して行うことができます。

手順

ODBC データ・ソース・サーバーへの接続をテストするには、以下のようにします。

パススルー・セッションを開き、ODBC データ・ソース・システム表に対してSELECT ステートメントを発行します。 SELECT ステートメントがカウントを戻す場合、サーバー定義およびユーザー・マッピングは適切にセットアップされています。

SET PASSTHRU server_definition_nameSELECT count(*) FROM schema_name.table_nameSET PASSTHRU RESET

SELECT ステートメントがエラーを戻す場合には、接続エラーのトラブルシューティングをします。

この作業が完了したら、ODBC データ・ソース表およびビューのニックネームを登録できます。

ODBC データ・ソース表およびビューのニックネームの登録登録するそれぞれの ODBC サーバー定義で、アクセスするそれぞれの表またはビューごとにニックネームを登録する必要があります。 ODBC データ・ソースを照会するときには、データ・ソース・オブジェクトの名前ではなく、これらのニックネームを使用します。

始める前に

ニックネームを登録する前に、ODBC データ・ソース側の統計を更新します。フェデレーテッド・データベースは、データ・ソースのカタログ統計に基づいて、照会処理を最適化します。 DB2 RUNSTATS コマンドに相当するデータ・ソース・コマンドを使用して、データ・ソースの統計を更新します。

手順

第 13 章 ODBC データ・ソース 273

Page 284: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ODBC データ・ソース表またはビューのニックネームを登録するには、以下のいずれかの方法を使用します。

方法 説明

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

CREATE

NICKNAME ステートメントを発行します。ニックネームの長さは128 文字までです。

例:

CREATE NICKNAME nickname FORserver_definition_name."remote_schema"."remote.table";

ニックネームを作成すると、フェデレーテッド・サーバーはニックネームを使用してデータ・ソース・カタログを照会します。この照会は、データベース・ソースの表またはビューへの接続をテストします。接続が働かない場合、エラー・メッセージが出ます。

ニックネームを作成する ODBC の表またはビューごとに、このステップを繰り返します。

ODBC チューニング・ユーティリティー (db2fedsvrcfg) による ODBCラッパーのパフォーマンスの最適化

ODBC ラッパーのパフォーマンスは、ODBC チューニング・ユーティリティーdb2fedsvrcfg によって最適化できます。このユーティリティーでは、データ・ソースに対して定義済み照会のセットを実行し、結果の正確さをテストします。ユーティリティーは ALTER SERVER ステートメントのセットを作成します。このセットをサーバーに対して実行して、最適なパフォーマンスが得られるサーバー・オプションを設定できます。

始める前に

フェデレーテッド・サーバーで以下の項目の構成が必要になります。

v WebSphere Federation Server

v ODBC ラッパー

v ODBC クライアント・ソフトウェア

v システム環境の変数ODBCINI と LIBPATH 変数が必要な場合があります。

インストール、構成、ODBC 要件については、個々の製品に添付されている資料を参照してください。

手順

ODBC チューニング・ユーティリティーによって ODBC ラッパーのパフォーマンスを最適化するには、以下のようにします。

274 フェデレーテッド・データ・ソース 構成ガイド

Page 285: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

1. ODBC サーバーが定義されていない場合は、DB2 Control Center または DB2

コマンド行プロセッサーを使用してフェデレーテッド・サーバーに接続し、ODBC ラッパーおよびサーバーを作成します。

2. オプション: テスト表が ODBC データ・ソースにすでに存在する場合は、ODBC データ・ソースに接続してドロップします。

3. ODBC チューニング・ユーティリティーに必要なオプションを指定して DB2

コマンド行から実行します。ユーティリティーが完了するにはしばらく時間がかかります。

4. ユーティリティーが正常に実行されたことを確認します。ユーティリティーが正常に実行された場合は、コマンド・ウィンドウまたは指定の出力ファイルで以下のメッセージを見ることができます。

ALTER SERVER "DS1" OPTIONS (ADD option1, ’value1’)ALTER SERVER "DS1" OPTIONS (ADD option2, ’value2’)ALTER SERVER "DS1" OPTIONS (ADD option3, ’value3’).....db2fedsvrcfg コマンドが正常に終了しました。

コマンドが正常に実行されなかった場合には、エラーの理由を知らせるエラー・メッセージが表示されます。問題を訂正し、コマンドを再度実行してください。

以下の場合には、テスト表を手動で作成する必要があります。

v デフォルトとは異なる表名を使用する場合

v ODBC 経由でアクセスするデータ・ソースが読み取り専用の場合

v ODBC チューニング・ユーティリティーが、ユーティリティーに必要とされるテスト表を作成できない場合

5. データ・ソースが定義されたフェデレーテッド・サーバーに接続します。

6. ODBC チューニング・ユーティリティーによって作成されたファイルを実行する前に、db2look ユーティリティーを使用して、既存のサーバー設定を保管します。既存のサーバー設定の保管に関しては、db2look ユーティリティーの資料を参照してください。

7. オプション: ODBC サーバーが定義されている場合、フェデレーテッド・サーバーに接続して、サーバー・オプションをドロップすることができます。ユーティリティーは、ステップ 4 に記述されているフォーマットの ALTER

SERVER ステートメントを作成します。これらのサーバー・オプションがすでに追加されている場合は、ALTER SERVER ステートメントが正常に実行されなくなります。

8. 以下のコマンドを使用して、ユーティリティーによって生成された ALTER

SERVER ステートメントを、フェデレーテッド・データベースに対して実行します。 ODBC チューニング・ユーティリティーによって作成された ALTER

SERVER ステートメントは、db2fedsvrcfg.sql ファイルに含まれます。

db2 -tvf db2fedsvrcfg.sql

9. ALTER SERVER ステートメントの結果を確認します。いずれかのステートメントが失敗した場合は、db2fedsvrcfg.sql ファイルのステートメントを修正して再度実行してみるということを、正常に実行されるようになるまで繰り返します。

第 13 章 ODBC データ・ソース 275

Page 286: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

10. ODBC チューニング・ユーティリティーによるサーバーのチューニングが完了したら、PUSHDOWN サーバー・オプションを ’Y’ に設定し、最適化プロセスを完了します。

db2fedsvrcfg コマンド構文 - ODBC チューニング・ユーティリティー

ODBC ラッパーのパフォーマンスを向上させるには、db2fedsvrcfg コマンドを使用します。

構文

db2fedsvrcfg-s serverName [-m odbcDriverManagerLibrary] -dsn odbcDSNname

[-dbname dsDBname] [-u userid] [-p password] [-noprep] [-prefix tableNamePrefix]

[-suffix tableNameSuffix] [-dscp codePage] [-v] [-o outputFile] [-h]

パラメーター

AIX または Solaris で 32 ビットの ODBC ドライバーを使用する場合は、コマンド db2fedsvrcfg32 を使用します。それ以外の場合は、コマンド db2fedsvrcfg を使用します。

-dbname dsDBname

データ・ソースのデータベース名

-dscp codePage

データ・ソースのコード・ページ IDこのオプションが指定されていないと、ユーティリティーはユーザーの環境のコード・ページを使用します。このパラメーターはオプションです。

-dsn odbcDSNname

データ・ソースのシステム・データ・ソース名 (DSN)

-h 詳細ヘルプが表示されます。このパラメーターはオプションです。

-m odbcDriverManagerLibrary

ODBC ドライバー・マネージャー・ライブラリーの完全修飾ファイル名。Windowsの場合、ODBC ドライバー・マネージャー・ライブラリーのファイル名はオプションです。

-noprepテスト前にテスト表がデータ・ソースで作成されないようにする。このパラメーターはオプションです。

-o outputFile

ODBC チューニング・ユーティリティー出力ファイルの完全修飾ファイル名。出力ファイルには、ODBC ラッパー・パフォーマンスのチューニングに使用される ALTER SERVER ステートメントが含まれます。このパラメーターはオプションです。このパラメーターが指定されていないと、出力はコマンド・ウィンドウに表示されます。

-p password

データ・ソースへの接続のためのパスワード。このパラメーターはオプションです。

276 フェデレーテッド・データ・ソース 構成ガイド

Page 287: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

-prefix tableNamePrefix

ユーティリティーが分析に使用する ODBC データ・ソース表名の接頭部。接頭部が指定されていないと、デフォルトの接頭部である IITEST が使用されます。このパラメーターはオプションです。

-s serverName

フェデレーテッド・サーバーの名前。

-suffixtableNameSuffix

ユーティリティーが分析に使用する ODBC データ・ソース表名の接尾部。接尾部が指定されなければ、空ストリングが使用されます。

-u userid

データ・ソースへの接続のためのユーザー名。このパラメーターはオプションです。

-v ユーティリティーの出力が詳細になるよう指定します。このパラメーターはオプションです。

以下は、データ・ストア、つまり ODBC データ・ソースに対して実行されるコマンドの例です。この例では、テスト表の名前は、ABCnXYZ となっています。n には1 から 7 の数字が入ります。

db2fedsvrcfg -s DS1 -m "/usr/lib/odbc.a"-dsn datastore -dbname db1 -u authid -p password -noprep-prefix ABC -suffix XYZ -o "/home/user1/db2fedsvrcfg.sql"

ODBC チューニング・ユーティリティー (db2fedsvrcfg) のためのテスト表定義

場合によっては、ODBC チューニング・ユーティリティーのためのテスト表を手動で作成する必要があります。このトピックでは、テスト表定義について説明します。

以下の場合には、ODBC チューニング・ユーティリティーのためのテスト表をユーザーが作成する必要があります。

v デフォルトとは異なる表名を使用する場合

v ODBC 経由でアクセスするデータ・ソースが読み取り専用の場合

v ODBC チューニング・ユーティリティーが、ユーティリティーに必要とされるテスト表を作成できない場合

必要となる 7 つのテスト表 (IITEST1 から IITEST7) すべてに、以下の表定義が適用されます。デフォルトの表名の接頭部は IITEST で、デフォルトの接尾部は空ストリングです。それ以外の接頭部や接尾部を指定する場合は、ODBC チューニング・ユーティリティーの実行時に -prefix および -suffix オプションを指定する必要があります。

表 74. 表 IITEST1 のための ODBC チューニング・ユーティリティー・テスト表定義

列名 SQL データ・タイプ SQL データ・タイプ ID 長さ

IT1C1 integer SQL_INTEGER

IT1C2 integer SQL_INTEGER

第 13 章 ODBC データ・ソース 277

Page 288: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 74. 表 IITEST1 のための ODBC チューニング・ユーティリティー・テスト表定義 (続き)

列名 SQL データ・タイプ SQL データ・タイプ ID 長さ

IT1C3 char(1) SQL_CHAR 1

IT1C4 char(3) SQL_CHAR 3

IT1C5 char(10) SQL_CHAR 10

IT1C6 varchar(10) SQL_VARCHAR 10

IT1C7 char(100) SQL_CHAR 100

表 75. 表 IITEST2 のための ODBC チューニング・ユーティリティー・テスト表定義

列名 SQL データ・タイプ SQL データ・タイプ ID 長さ

IT2C1 integer SQL_INTEGER

IT2C2 integer SQL_INTEGER

IT2C3 char(30) SQL_CHAR 30

表 76. 表 IITEST3 から IITEST7 のための ODBC チューニング・ユーティリティー・テスト表定義

各表の列数 列名 SQL データ・タイプSQL データ・タイプID 長さ

66 ITxCn char(100) SQL_CHAR 100

x 定義される表に対応する番号

n 列番号

たとえば、IT3C1 は、表 IITEST3 の最初の列の列名です。

CREATE SERVER ステートメント - ODBC ラッパーの例ODBC ラッパーにサーバー定義を登録するには、CREATE SERVER ステートメントを使用します。必須パラメーターを使用した完全指定の例と、追加のサーバー・オプションを使用した例がこのトピックには含まれています。

次に、CREATE SERVER ステートメントを実行して MySQL データ・ソースのサーバー定義を登録する方法の例を示します。

CREATE SERVER mysql_server TYPE mysqlVERSION 4.0 WRAPPER wrapper_name

OPTIONS (NODE ’odbc_node’, DBNAME ’venice’)

mysql_server

ODBC データ・ソース・サーバーに割り当てる名前。重複するサーバー定義名は使用できません。

TYPE mysql

アクセスを構成するデータ・ソース・サーバーのタイプを指定します。このパラメーターはオプションです。

VERSION 4.0

アクセスする ODBC データ・ソースのバージョン。このパラメーターはオプションです。

278 フェデレーテッド・データ・ソース 構成ガイド

Page 289: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

WRAPPER wrapper_name

CREATE WRAPPER ステートメントで指定したラッパー名。

NODE ’odbc_node’

DSN を定義した時に ODBC データ・ソースに割り当てたノード名 (システム DSN 名)。 Windows が稼働するフェデレーテッド・サーバーの場合、この値は、「ODBC データ ソース アドミニストレータ (ODBC Data Source

Administrator)」ウィンドウにあるシステム DSN の名前である必要があります。 UNIX が稼働するフェデレーテッド・サーバーの場合、ノードの名前は ODBC 構成ファイルで定義されている DSN になります。 ODBC 構成ファイルの名前は通常 odbc.ini です。

ノード名は CREATE SERVER ステートメントではオプションとなっていますが、ODBC データ・ソースの場合は必要です。

DBNAME ’venice’

オプション。アクセスする ODBC データ・ソースの名前。

サーバー・オプション

サーバー定義の作成時に、CREATE SERVER ステートメントに追加のサーバー・オプションを指定することができます。サーバー・オプションには、汎用のサーバー・オプションと ODBC に特有のサーバー・オプションを指定できます。

一部の ODBC データ・ソースは (例: MySQL)、SQL ステートメントで表名や列名を囲んでいる引用符を処理できません。これらのデータ・ソースにアクセスするには、CREATE SERVER ステートメントに以下のサーバー・オプションを含める必要があります。

v DB2_TABLE_QUOTE_CHAR ’ ` ’

v DB2_ID_QUOTE_CHAR ’ ` ’

v DB2_AUTHID_QUOTE_CHAR ’ ` ’

` 文字はスキーマ名、表名、列名などの ID の区切り文字です。

例:

CREATE SERVER mysql_server TYPE mysqlVERSION 4.0 WRAPPER wrapper_name

OPTIONS (NODE ’mysql_node’, DB2_TABLE_QUOTE_CHAR ’ ` ’,DB2_ID_QUOTE_CHAR ’`’ DB2_AUTHID_QUOTE_CHAR ’`’)

CREATE USER MAPPING ステートメント - ODBC ラッパーの例CREATE USER MAPPING ステートメントを使用して、フェデレーテッド・サーバーのユーザー ID を ODBC データ・ソースのユーザー ID およびパスワードにマップしてください。このトピックには、必須パラメーターを使用する完全指定の例と、CREATE USER MAPPING ステートメントで DB2 特殊レジスター USER を使用する方法を示す例が含まれています。

以下に示すのは、フェデレーテッド・サーバーのユーザー ID を ODBC データ・ソースのユーザー ID とパスワードにマップする方法の例です。

CREATE USER MAPPING FOR arturo SERVER mysql_serverOPTIONS (REMOTE_AUTHID ’art’, REMOTE_PASSWORD ’red4blue’)

第 13 章 ODBC データ・ソース 279

Page 290: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

arturo ODBC データ・ソースで定義されたユーザー ID にマップするローカルのユーザー ID を指定します。

mysql_server

CREATE SERVER ステートメントで定義した ODBC データ・ソースのサーバー定義名を指定します。

’art’ arturo をマップする ODBC データ・ソース側のユーザー ID を指定します。 CREATE SERVER ステートメントで FOLD_ID サーバー・オプションを ’U’ または ’L’ にしている場合を除き、この値の大文字小文字の区別を保持するように単一引用符を使用してください。

’red4blue’

’art’ に関連するパスワードを指定します。 CREATE SERVER ステートメントで FOLD_PW サーバー・オプションを ’U’ または ’L’ にしている場合を除き、この値の大文字小文字の区別を保持するように単一引用符を使用してください。

DB2 特殊レジスター USER

DB2 特殊レジスター USER を使用して、CREATE USER MAPPING ステートメントを実行する人の許可 ID を、REMOTE_AUTHID ユーザー・オプションに指定されるデータ・ソースの許可 ID にマップすることができます。

以下に、特殊レジスター USER を含む CREATE USER MAPPING ステートメントの例を示します。

CREATE USER MAPPING FOR USER SERVER mysql_serverOPTIONS (REMOTE_AUTHID ’art’, REMOTE_PASSWORD ’red4blue’);

CREATE NICKNAME ステートメント - ODBC ラッパーの例CREATE NICKNAME ステートメントを発行して、アクセスする ODBC 表またはビューのニックネームを登録します。必須パラメーターを使用した完全指定の例がこのトピックには含まれています。

以下の例では、CREATE NICKNAME ステートメントを使用して、ODBC 表またはビューのニックネームを登録する方法を示します。

CREATE NICKNAME cust_europe FOR mysql_server."vinnie"."italy"

cust_europe

ODBC の表またはビューを識別するために使用する固有なニックネームです。ニックネームはスキーマ内で固有でなければなりません。

重要: ニックネームは、2 つの部分 (スキーマとニックネーム) からなる名前です。ニックネームの登録時にスキーマを省略すると、そのニックネームのスキーマはニックネームを登録するユーザーの許可 ID になります。

ODBC データ・ソースがスキーマをサポートしていない場合、CREATE

NICKNAME ステートメントからスキーマを省略してください。

mysql_server.″vinnie″.″italy″リモート・オブジェクトを表す、3 つの部分からなる ID。

280 フェデレーテッド・データ・ソース 構成ガイド

Page 291: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v mysql_server は、ユーザーが CREATE SERVER ステートメントでODBC データ・ソース・サーバーに割り当てたサーバー定義名です。

v vinnie は、表またはビューが属する所有者のユーザー ID です。

v italy は、アクセスするリモートの表またはビューの名前です。

フェデレーテッド・サーバーは、名前を引用符で囲んでいない限り、ODBC

スキーマおよび表の名前を大文字に変換します。

CREATE WRAPPER ステートメント - ODBC ラッパーの例ODBC ラッパーを登録するには、CREATE WRAPPER ステートメントを使用します。このトピックでは、Linux、 UNIX および Windows に関する例を提供します。

以下の例では、odbc_wrapper は、フェデレーテッド・データベースに登録するラッパーに割り当てる名前です。

Linux および Solaris のフェデレーテッド・サーバー

以下の例では、Linux または Solaris が稼働するフェデレーテッド・サーバーにラッパーをデフォルト名で登録する方法を示します。

CREATE WRAPPER odbc OPTIONS (MODULE ’/opt/lib/odbc.so’);

Linux または UNIX が稼働するフェデレーテッド・サーバーでは、 MODULE ラッパー・オプションを指定する必要があります。MODULE ラッパー・オプションでは、ODBC Driver Manager を含むライブラリーの絶対パスを指定します。

以下の例では、Linux または Solaris が稼働するフェデレーテッド・サーバーで代替名を使用してラッパーを登録する方法を示します。

CREATE WRAPPER odbc_wrapper LIBRARY ’libdb2rcodbc.so’OPTIONS (MODULE ’/opt/lib/odbc.so’);

AIX フェデレーテッド・サーバー

以下の例では、AIX が稼働するフェデレーテッド・サーバーでデフォルト名を使用してラッパーを登録する方法を示します。

CREATE WRAPPER odbcOPTIONS (MODULE ’/usr/lib/odbc.a’);

UNIX が稼働するフェデレーテッド・サーバーでは、 MODULE ラッパー・オプションを指定する必要があります。MODULE ラッパー・オプションでは、ODBC

Driver Manager を含むライブラリーの絶対パスを指定します。

以下の例では、AIX が稼働するフェデレーテッド・サーバーで代替名を使用してラッパーを登録する方法を示します。

CREATE WRAPPER odbc_wrapper LIBRARY ’libdb2rcodbc.a’OPTIONS (MODULE ’/usr/lib/odbc.a’);

WebSphere Classic Federation Server for z/OS (AIX)

以下に示すのは、AIX オペレーティング・システムで CREATE WRAPPER ステートメントを発行して ODBC ラッパーを登録する方法の例です。 AIX および

第 13 章 ODBC データ・ソース 281

Page 292: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Solaris の場合、DB2_FENCED および DB2_SOURCE_CLIENT_MODE オプションを以下の例に示すように指定する必要があります。

CREATE WRAPPER odbcOPTIONS (DB2_FENCED ’Y’, DB2_SOURCE_CLIENT_MODE ’32BIT’,MODULE ’/opt/IBM/DB2IIClassic82/cli/lib/cacsqlcli.so’);

UNIX が稼働するフェデレーテッド・サーバーでは、 MODULE ラッパー・オプションを指定する必要があります。MODULE ラッパー・オプションでは、ODBC

Driver Manager を含むライブラリーの絶対パスを指定します。

以下の例では、代替名を使用して WebSphere Classic Federation Server for z/OS データ・ソースにアクセスするためのラッパーを登録する方法を示しています。

CREATE WRAPPER odbc_wrapper LIBRARY ’libdb2rcodbc.a’OPTIONS (DB2_FENCED ’Y’, DB2_SOURCE_CLIENT_MODE ’32BIT’,MODULE ’/opt/IBM/DB2IIClassic82/cli/lib/cacsqlcli.so’);

Windows フェデレーテッド・サーバー

以下の例では、Windows が稼働するフェデレーテッド・サーバーでデフォルト名を使用してラッパーを登録する方法を示します。

CREATE WRAPPER odbc;

以下の例では、Windows が稼働するフェデレーテッド・サーバーで代替名を使用してラッパーを登録する方法を示します。

CREATE WRAPPER odbc_wrapper LIBRARY ’db2rcodbc.dll’;

282 フェデレーテッド・データ・ソース 構成ガイド

Page 293: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 14 章 OLE DB データ・ソース

OLE DB ラッパーの登録OLE DB データ・ソースにアクセスするためには、ラッパーを登録する必要があります。フェデレーテッド・サーバーでは、データ・ソースとの通信やデータの検索のためにラッパーが使用されます。ラッパーは、ライブラリー・ファイルのセットとしてインプリメントされます。

このタスクについて

OLE DB ラッパーにより、Microsoft OLE DB バージョン 2.0 以上に準拠するOLE DB プロバイダーにアクセスできるようになります。

OLE DB ラッパーは、フェデレーテッド・データベースにおけるユーザー定義の外部表関数の登録を支援する目的でのみ使用されます。他のラッパーとは異なり、OLE DB ラッパーは、データ・ソースに保管されているデータへのアクセスにニックネームを使用しません。

手順

OLE DB ラッパーを登録するには、次のようにします。

次の方法のいずれかを使用して、OLE DB ラッパーを登録します。

方法 説明

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

© Copyright IBM Corp. 1998, 2006 283

Page 294: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

方法 説明

CREATE WRAPPER

ステートメントを発行し、OLE DB ラッパーにデフォルト名を指定します。

たとえば、

CREATE WRAPPER OLEDB

要確認: デフォルト名 OLEDB を使用してラッパーを登録する場合、フェデレーテッド・サーバーは、そのフェデレーテッド・サーバーが実行されているオペレーティング・システムに該当する OLE

DB ラッパー・ライブラリーを自動的に使用します。

デフォルト・ラッパー名がフェデレーテッド・データベース内の既存のラッパー名と競合する場合、デフォルトのラッパー名を、指定の名前で置き換えることができます。デフォルト名とは別の名前を使用する場合は、CREATE WRAPPER ステートメントに LIBRARY

パラメーターを含める必要があります。

たとえば、Windows を使用するフェデレーテッド・サーバー上でoledb_wrapper という名前のラッパーを登録するには、次のステートメントを発行します。

CREATE WRAPPER oledb_wrapperLIBRARY ’db2oledb.dll’

指定するラッパー・ライブラリー・ファイルは、フェデレーテッド・サーバーのオペレーティング・システムによって異なります。

この作業が完了したなら、サーバー定義を登録できます。

OLE DB ラッパー・ライブラリー・ファイルOLE DB ラッパー・ライブラリー・ファイルは、ラッパーのインストール時にフェデレーテッド・サーバーに追加されます。

OLE DB ラッパーをインストールすると、デフォルトのディレクトリー・パスにライブラリー・ファイルが追加されます。

ラッパー登録時にデフォルトのラッパー名を使用しない場合は、CREATE

WRAPPER ステートメントに LIBRARY パラメーターを含め、ライブラリー・ファイル名を指定する必要があります。

以下の表に、デフォルトのディレクトリー・パスとデフォルトのラッパー・ライブラリー・ファイルの名前がリストされています。

表 77. OLE DB クライアント・ライブラリーの場所とファイル名

オペレーティング・システム

ディレクトリー・パス ライブラリー・ファイル名

Windows %DB2PATH%¥bin db2oledb.dll

284 フェデレーテッド・データ・ソース 構成ガイド

Page 295: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

OLE DB データ・ソースのサーバー定義の登録フェデレーテッド・データベース中でアクセスする各 OLE DB データ・ソース・サーバーごとに登録が必要です。

このタスクについて

OLE DB データ・ソースへのサーバー定義の登録は、DB2 コマンド行から実行します。

手順

OLE DB データ・ソースのサーバー定義を登録するには、次のようにします。

CREATE SERVER ステートメントを発行します。

たとえば、

CREATE SERVER server_definition_name WRAPPER wrapper_nameOPTIONS (CONNECTSTRING ’keyword=value;keyword=value’);

CONNECTSTRING 変数は、CREATE SERVER ステートメントではオプションですが、OLE DB データ・ソースの場合、このオプションは必須です。

この作業が完了したなら、ユーザー・マッピングを作成できます。

OLE DB データ・ソースのユーザー・マッピングの作成OLE DB サーバーにアクセスしようとすると、フェデレーテッド・サーバーは、データ・ソースに対して有効なユーザー ID とパスワードを使用することによって、その OLE DB サーバーへの接続を確立します。それぞれのフェデレーテッド・サーバーのユーザー ID とパスワード、および対応するデータ・ソースのユーザー ID

とパスワードの間の関連付け (ユーザー・マッピング) を定義しなければなりません。

このタスクについて

フェデレーテッド・システムにアクセスするユーザー ID ごとに、ユーザー・マッピングを作成します。

手順

ローカル・ユーザー ID を OLE DB データ・ソースのユーザー ID とパスワードにマップするには、

CREATE USER MAPPING ステートメントを発行します。

たとえば、

CREATE USER MAPPING FOR local_ userid SERVER server_definition_nameOPTIONS (REMOTE_AUTHID ’remote_userID’, REMOTE_PASSWORD ’remote_password’);

REMOTE_AUTHID および REMOTE_PASSWORD の変数の指定は、CREATE

USER MAPPING ステートメントではオプションですが、OLE DB データ・ソースにアクセスする場合、それらのオプションは必須です。

第 14 章 OLE DB データ・ソース 285

Page 296: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

OLE DB データ・ソースのパスワードかフェデレーテッド・サーバーのパスワードのいずれかの長さが 8 文字未満の場合、OLE DB データ・ソースにアクセスするSQL ステートメントは失敗します。次のエラー・メッセージが表示されます。

SQL30082N 接続確立の試行は、セキュリティー上の理由 "15" ("PROCESSING FAILURE")により失敗しました。SQLSTATE=08001

この問題を避けるには、OLE DB データ・ソースのパスワードかフェデレーテッド・サーバーのパスワードを 8 文字以上に変更してください。

CREATE SERVER ステートメント - OLE DB ラッパーの例OLE DB ラッパーにサーバー定義を登録するには、CREATE SERVER ステートメントを使用します。このトピックでは、必須パラメーターを使用する詳細な例、および付加的なサーバー・オプションを使用した例を示します。

以下に示すのは、CREATE SERVER ステートメントを発行して、OLE DB ラッパーのサーバー定義を登録する方法の例です。

CREATE SERVER Nwind WRAPPER OLEDBOPTIONS (CONNECTSTRING ’Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:¥msdasdk¥bin¥oledb¥nwind.mdb’);

Nwind OLE DB データ・ソースに割り当てる名前。重複するサーバー定義名は使用できません。

WRAPPER OLEDB

CREATE WRAPPER ステートメントで指定したラッパー名。

CONNECTSTRING ’Provider=Microsoft.Jet.OLEDB.4.0; Data

Source=c:¥msdasdk¥bin¥oledb¥nwind.mdb’

OLE DB プロバイダーへの接続に必要な初期化プロパティーを提供します。

CONNECTSTRING オプションの値には、一連のキーワードと値の対をセミコロンで区切ったものを入れます。等号 (=) は、各キーワードとその値を区切ります。キーワードは、OLE DB 初期化プロパティー (プロパティー・セット DBPROPSET_DBINT) の記述、またはプロバイダー特有のキーワードです。

CONNECTSTRING オプションの完全な構文とセマンティクスについては、「Microsoft OLE DB 2.0 Programmer’s Reference and Data Access SDK」(Microsoft Press、1998) を参照してください。

サーバー・オプション

サーバー定義の作成時に、CREATE SERVER ステートメントに追加のサーバー・オプションを指定することができます。サーバー・オプションには、汎用サーバー・オプションと OLE DB に特有のサーバー・オプションを指定できます。

COLLATING_SEQUENCE サーバー・オプションは、データ・ソースがフェデレーテッド・サーバーと同じ照合シーケンスを使用しているかどうかを指定します。COLLATING_SEQUENCE サーバー・オプションのデフォルトの設定値は ’N’ で

286 フェデレーテッド・データ・ソース 構成ガイド

Page 297: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

す。 OLE DB データ・ソースで使用されている照合シーケンスがフェデレーテッド・サーバーと同じ場合は、COLLATING_SEQUENCE サーバー・オプションを’Y’ に設定します。

以下の例は、COLLATING_SEQUENCE サーバー・オプションを含む OLE DB サーバー定義を示します。

CREATE SERVER Nwind WRAPPER OLEDBOPTIONS (CONNECTSTRING ’Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:¥msdasdk¥bin¥oledb¥nwind.mdb’,COLLATING_SEQUENCE ’Y’)

CREATE USER MAPPING ステートメント - OLE DB ラッパーの例CREATE USER MAPPING ステートメントは、フェデレーテッド・サーバーのユーザー ID を OLE DB データ・ソースのユーザー ID およびパスワードにマップするために使用します。このトピックでは、必須パラメーターを使用する詳細な例、および CREATE USER MAPPING ステートメントで DB2 特殊レジスター USER

を使用する方法を示す例が含まれています。

以下に示すのは、フェデレーテッド・サーバーのユーザー ID を OLE データ・ソースのユーザー ID およびパスワードにマップする方法の例です。

CREATE USER MAPPING FOR laura SERVER NwindOPTIONS (REMOTE_AUTHID ’lulu’, REMOTE_PASSWORD ’raiders’)

laura OLE DB データ・ソースで定義されているユーザー ID にマップするローカルのユーザー ID を指定します。

SERVER Nwind

OLE DB サーバーに関する CREATE SERVER ステートメントで登録したサーバー定義名を指定します。

REMOTE_AUTHID ’lulu’

lulu のマップ先となる OLE DB データベース・サーバー側のユーザー ID

を指定します。 CREATE SERVER ステートメントで FOLD_ID サーバー・オプションを ’U’ または ’L’ にしている場合を除き、この値の大文字小文字の区別を保持するように単一引用符を使用してください。

リモート・ユーザー ID は CREATE SERVER ステートメントではオプションとなっていますが、OLE DB データ・ソースの場合は必要です。

REMOTE_PASSWORD ’raiders’

’lulu’ に関連するパスワードを指定します。 CREATE SERVER ステートメントで FOLD_PW サーバー・オプションを ’U’ または ’L’ にしている場合を除き、この値の大文字小文字の区別を保持するように単一引用符を使用してください。

リモート側パスワードは CREATE SERVER ステートメントではオプションとなっていますが、OLE DB データ・ソースの場合は必要です。

DB2 特殊レジスター USER

DB2 特殊レジスター USER を使用して、CREATE USER MAPPING ステートメントを実行する人の許可 ID を、REMOTE_AUTHID ユーザー・オプションに指定されるデータ・ソースの許可 ID にマップすることができます。

第 14 章 OLE DB データ・ソース 287

Page 298: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

以下に、特殊レジスター USER を含む CREATE USER MAPPING ステートメントの例を示します。

CREATE USER MAPPING FOR USER SERVER NwindOPTIONS (REMOTE_AUTHID ’lulu’, REMOTE_PASSWORD ’raiders’);

288 フェデレーテッド・データ・ソース 構成ガイド

Page 299: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 15 章 Oracle データ・ソース

Oracle データ・ソースへのアクセスの構成Oracle データ・ソースにアクセスするようにフェデレーテッド・システムを構成するには、アクセスするデータ・ソースとオブジェクトの情報をフェデレーテッド・システムに提供しなければなりません。

始める前に

v Oracle クライアント・ソフトウェアが、フェデレーテッド・サーバーとして機能するサーバー上にインストールされ、構成されている必要があります。

v IBM WebSphere Federation Server が、フェデレーテッド・サーバーとして機能するサーバー上にインストールされている必要があります。

v フェデレーテッド・サーバーのセットアップを確認します。

v フェデレーテッド・パラメーターをチェックして、フェデレーションが有効になっていることを確認します。

手順

Oracle データ・ソースをフェデレーテッド・システムに追加するには、以下のようにします。

1. Oracle 環境変数をセットアップします。

2. Oracle クライアント構成ファイルをセットアップしてテストします。

3. Oracle ラッパーを登録します。

4. Oracle データ・ソースのサーバー定義を登録します。

5. ユーザー・マッピングを作成します。

6. Oracle サーバーとの接続をテストします。

7. ニックネームを登録します。

Oracle 環境変数の設定Oracle 環境変数は、フェデレーテッド・サーバー上の db2dj.ini ファイルで設定する必要があります。

制約事項

db2dj.ini ファイルに関する制約事項を確認します。

このタスクについて

db2dj.ini ファイルには、フェデレーテッド・サーバー上にインストールされているOracle クライアント・ソフトウェアの構成情報が入っています。

Oracle データ・ソース用の環境変数には、必須の変数とオプションの変数とがあります。

© Copyright IBM Corp. 1998, 2006 289

Page 300: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Oracle ラッパーをインストールする前に Oracle クライアント・ソフトウェアをインストールした場合、必須の Oracle 環境変数は db2dj.ini ファイルに設定されています。

Oracle ラッパーをインストールする前に Oracle クライアント・ソフトウェアをインストールしていない場合、またはいずれかのオプションの環境変数を設定する場合には、ここで示す手順にしたがって環境変数を設定する必要があります。

手順

Oracle 環境変数を設定するには、以下のようにします。

1. 次の方法のいずれかを使用します。

方法 説明

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

環境変数を自動的に設定する。

WebSphere Federation Server インストール・ウィザードを実行します。ウィザードの指示に従います。重要: 必須の環境変数は、インストール・ウィザードを実行して設定してください。オプションの環境変数は手動で設定する必要があります。

環境変数を手動で設定する。

db2dj.ini ファイルを編集します。

db2dj.ini ファイルは、DB2 レジストリー変数 DB2_DJ_INI に指定されているディレクトリーにあります。 DB2_DJ_INI 変数が設定されていない場合、db2dj.ini ファイルは、オペレーティング・システムに応じて、以下のいずれかのデフォルト・パスにあります。

v Linux および UNIX の場合: instancehome/sqllib/cfg/db2dj.ini

instancehome

インスタンス所有者のホーム・ディレクトリー

v Windows の場合: %DB2PATH%¥cfg¥db2dj.ini

%DB2PATH%

DB2 データベース・システムがインストールされているディレクトリー、たとえば、C:¥Program Files¥IBM¥sqllib

このファイルがない場合は、任意のテキスト・エディターを使用して、db2dj.ini という新規ファイルを作成することができます。db2dj.ini ファイルには、環境変数の値を完全修飾パスで指定する必要があります。そうしないと、エラーが発生します。

2. UNIX が稼働するフェデレーテッド・サーバーの場合は、DB2 インスタンスの.profile ファイルに Oracle 環境変数を追加します。 例:

export ORACLE_HOME=oracle_home_directoryexport PATH=$ORACLE_HOME/bin:$PATH

ここで、oracle_home_directory は Oracle クライアント・ソフトウェアがインストールされているディレクトリーです。

290 フェデレーテッド・データ・ソース 構成ガイド

Page 301: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

3. Linux または UNIX が稼働するフェデレーテッド・サーバーの場合、次のように入力して、DB2 インスタンス .profile ファイルを実行します。

. $HOME/ .profile

4. 環境変数がフェデレーテッド・サーバーで設定されていることを確認するには、以下のコマンドで DB2 インスタンスをリサイクルします。

db2stopdb2start

この作業が終了したら、Oracle クライアントのセットアップとテストを行えます。

Oracle 環境変数Oracle データ・ソース用の環境変数には、必須の変数とオプションの変数とがあります。これらの変数は、db2dj.ini ファイルに設定されています。

以下の環境変数は、Oracle に有効です。

v ORACLE_HOME

v ORACLE_BASE (オプション)

v ORA_NLS (オプション)

v NLS_LANG (オプション)

v TNS_ADMIN (オプション)

変数の説明ORACLE_HOME

ORACLE_HOME 環境変数に、Oracle クライアント・ソフトウェアがインストールされているディレクトリー・パスを設定します。この環境変数ORACLE_HOME=oracle_home_directory には、完全修飾パスを指定します。たとえば、Oracle ホーム・ディレクトリーが ¥usr¥oracle¥8.1.7 である場合、db2dj.ini ファイルの項目は、ORACLE_HOME=¥usr¥oracle¥8.1.7 となります。

フェデレーテッド・インスタンスの個々のユーザーが ORACLE_HOME 環境変数をローカルに設定していても、フェデレーテッド・インスタンスはその設定を使用しません。フェデレーテッド・インスタンスは、db2dj.ini ファイルに設定された ORACLE_HOME の値だけを使用します。

ORACLE_BASE

ORACLE_BASE は、Oracle クライアント・ディレクトリー・ツリーのルートを表します。 Oracle クライアント・ソフトウェアをインストールする際に ORACLE_BASE 環境変数を設定したら、フェデレーテッド・サーバーにORACLE_BASE 環境変数を設定します。

例:

ORACLE_BASE=oracle_root_directory

ORA_NLSOracle の複数のバージョンがシステム上で稼働している場合、以下を確認します。

v 適切な ORA_NLS 環境変数が設定されている。

第 15 章 Oracle データ・ソース 291

Page 302: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v 使用するバージョンに対応する NLS データ・ファイルが使用可能である。

ORA_NLS 環境変数で指定されるディレクトリーに、場所に固有のデータが保存されます。 Oracle はバージョンごとに異なる ORA_NLS データ・ディレクトリーを持っています。

表 78. 各バージョンの ORA_NLS 環境変数

Oracle バージョン 環境変数

8.x、9.x ORA_NLS33

10.x ORA_NLS10

たとえば、Oracle 8.1 データ・ソースにアクセスする UNIX の稼働するフェデレーテッド・サーバーでは、ORA_NLS33 環境変数の設定は以下のようになります。

ORA_NLS33=oracle_home_directory/ocommon/nls/admin/<data>

NLS_LANGNLS_LANG 環境変数は、コード・ページ環境変数です。この変数の設定については、Oracle NLS の資料を参照してください。

TNS_ADMIN

Windows が稼働するフェデレーテッド・サーバーの場合フェデレーテッド・サーバーの場合、Oracle クライアントはtnsnames.ora ファイルを %ORACLE_HOME%¥NETWORK¥ADMIN

ディレクトリーで探します。ここで %ORACLE_HOME% は db2dj.ini ファイルで定義されます。 tnsnames.ora ファイルが%ORACLE_HOME%¥NETWORK¥ADMIN ディレクトリーにない場合、フェデレーテッド・サーバー上の db2dj.ini ファイルで、TNS_ADMIN 環境変数を設定する必要があります。この環境変数は、db2dj.ini ファイルで、tnsnames.ora ファイルが見つかるパスを設定します。

AIX または Linux が稼働するフェデレーテッド・サーバーの場合Oracle クライアントは tnsnames.ora ファイルを /etc ディレクトリーで探します。tnsnames.ora ファイルが /etc ディレクトリーにない場合、Oracle クライアントは、$ORACLE_HOME/network/admin ディレクトリーで tnsnames.ora ファイルを探します。$ORACLE_HOME

は、db2dj.ini ファイルで定義されます。 tnsnames.ora ファイルが$ORACLE_HOME/network/admin ディレクトリーにない場合、フェデレーテッド・サーバー上に TNS_ADMIN 環境変数を設定する必要があります。この環境変数は、db2dj.ini ファイルで、tnsnames.ora

ファイルが見つかるパスを設定します。

たとえば、tnsnames.ora ファイルが /home/oracle ディレクトリーにある場合、次のようにこの環境変数を設定します。

TNS_ADMIN=/home/oracle

Solaris が稼働するフェデレーテッド・サーバーの場合フェデレーテッド・サーバーの場合、Oracle クライアントはtnsnames.ora ファイルを /var/opt/oracle ディレクトリーで探します。

292 フェデレーテッド・データ・ソース 構成ガイド

Page 303: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

tnsnames.ora ファイルが /var/opt/oracle ディレクトリーにない場合、Oracle クライアントは、$ORACLE_HOME/network/admin ディレクトリーで tnsnames.ora ファイルを探します。$ORACLE_HOME は、db2dj.ini ファイルで定義されます。 tnsnames.ora ファイルが$ORACLE_HOME/network/admin ディレクトリーにない場合、TNS_ADMIN 環境変数を設定する必要があります。この変数は、db2dj.ini ファイルで、tnsnames.ora ファイルが見つかるパスを設定します。

たとえば、tnsnames.ora ファイルが /home/oracle ディレクトリーにある場合、次のようにこの環境変数を設定します。

TNS_ADMIN=/home/oracle

Oracle コード・ページ変換Oracle ラッパーが Oracle データ・ソースに接続するたびに、ラッパーはその接続のためにどのコード・ページを使用するかを決定します。コード・ページ値をOracle ラッパーが設定するよう指定したり、あるいは NLS_LANG 環境変数を設定することでコード・ページを指定することができます。

Oracle コード・ページ変換を指定する環境変数は、フェデレーテッド・サーバーのdb2dj.ini ファイルで設定されます。

フェデレーテッド・サーバー上の db2dj.ini ファイルで NLS_LANG 環境変数が設定されている場合、ラッパーは db2dj.ini ファイルのコード・ページ値を使用します。

フェデレーテッド・サーバー上の db2dj.ini ファイルで NLS_LANG 環境変数が設定されていない場合、ラッパーはフェデレーテッド・データベースのテリトリーとコード・ページを判断します。ラッパーは NLS_LANG 環境を一致する Oracle ロケールのうち最も近いものに設定します。近く一致するロケールがない場合、NLS_LANG 環境は American_America.US7ASCII に設定されます。

有効なロケールのリストは、Oracle ソフトウェアに付属する資料を参照してください。

中国語コード・ページ GB 18030 の例:

中国語コード・ページ GB 18030 でエンコードされたデータを含む Oracle データ・ソースにアクセスする際、フェデレーテッド・データベースが UTF-8 コード・ページを使用する場合、Oracle ラッパーは、NLS_LANG 環境変数を以下のように設定します。

NLS_LANG=Simplified Chinese_China.UTF8

この設定は、Oracle 8 クライアントを使用している場合には正しいですが、Oracle

バージョン 9i (またはそれ以降) クライアントを使用している場合には、NLS_LANG 環境変数を設定して、Oracle ラッパーのデフォルト設定をオーバーライドする必要があります。 Oracle 9i クライアントが GB 18030 データを Unicode

に正しく変換できるよう、NLS_LANG 環境変数を Simplified

Chinese_China.AL32UTF8 に設定します。

例:

NLS_LANG=Simplified Chinese_China.AL32UTF8

第 15 章 Oracle データ・ソース 293

Page 304: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Oracle クライアント構成ファイルのセットアップおよびテストOracle クライアント構成ファイルは、フェデレーテッド・システムにインストールされているクライアント・ライブラリーを使用して、Oracle データベースに接続するために使用されます。

このタスクについて

クライアント構成ファイルは、各 Oracle データベース・サーバーのロケーション、およびそのデータベース・サーバーへの接続のタイプ (プロトコル) を指定します。

Oracle クライアント構成ファイルのデフォルト名は tnsnames.ora です。

クライアント構成ファイルのデフォルトのロケーションは、フェデレーテッド・システムによって使用されるオペレーティング・システムによって異なります。

v Linux および UNIX システムでは、ファイルのデフォルト・ロケーションは、$ORACLE_HOME/network/admin です。

v Windows システムでは、ファイルのデフォルト・ロケーションは、%ORACLE_HOME%¥NETWORK¥ADMIN です。

手順

Oracle クライアント構成ファイルをセットアップおよびテストするには、次のようにします。

1. Oracle クライアント・ソフトウェアに付属してくる Oracle NET8/NET 構成ユーティリティーを使用して、tnsnames.ora を作成します。

tnsnames.ora ファイル内で、SID (または SERVICE_NAME) は Oracle インスタンスの名前であり、HOST は Oracle サーバーが存在するホスト名です。

2. tnsnames.ora ファイルをデフォルトの検索パス以外のパスに置く場合は、TNS_ADMIN 環境変数を設定してファイルのロケーションを指定してください。

a. sqllib/cfg ディレクトリーにある db2dj.ini ファイルを編集し、TNS_ADMIN

環境変数を次のように設定します。例:

TNS_ADMIN=x:/path/

b. DB2 インスタンスをリサイクルし、プログラムで環境変数が確実に設定されるようにするため、次のコマンドを発行します。

db2stopdb2start

3. クライアント・ソフトウェアが Oracle サーバーに接続できるか確認するために、接続をテストしてください。接続をテストするには、Oracle sqlplus ユーティリティーを使用します。

この作業が終了したら、Oracle ラッパーを登録できます。

294 フェデレーテッド・データ・ソース 構成ガイド

Page 305: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Oracle ラッパーの登録Oracle データ・ソースにアクセスするためには、ラッパーを登録する必要があります。フェデレーテッド・サーバーは、ラッパーを使用して、データ・ソースとの通信、およびデータ・ソースからのデータの取得を行います。ラッパーは、ライブラリー・ファイルのセットとしてインプリメントされます。

手順

Oracle ラッパーを登録するには、次のようにします。

次の方法のいずれかを使用します。

方法 説明

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

CREATE WRAPPER ステートメントを発行し、Oracle ラッパーにデフォルト名を指定します。

例:

CREATE WRAPPER NET8

要確認: デフォルト名 NET8 を使用してラッパーを登録する場合、フェデレーテッド・サーバーは自動的に、フェデレーテッド・サーバーが稼働するオペレーティング・システムに対応する適切な Oracle ラッパー・ライブラリーを使用します。

ラッパーを登録する際にデフォルトのラッパー名を使用しない場合は、CREATE

WRAPPER ステートメントに LIBRARY パラメーターを含め、デフォルト・ラッパー・ライブラリー・ファイル名を指定する必要があります。

たとえば、AIXを使用するフェデレーテッド・サーバー上で、oracle_wrapper という名前でラッパーを登録するには、次のステートメントを発行します。

CREATE WRAPPER oracle_wrapperLIBRARY ’libdb2net8.a’

指定するラッパー・ライブラリー・ファイルは、フェデレーテッド・サーバーのオペレーティング・システムによって異なります。

この作業が終了したら、サーバー定義を登録できます。

第 15 章 Oracle データ・ソース 295

Page 306: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Oracle ラッパー・ライブラリー・ファイルOracle ラッパー・ライブラリー・ファイルは、ラッパーのインストール時にフェデレーテッド・サーバーに追加されます。

Oracle ラッパーのインストール時に、デフォルトのディレクトリー・パスに 3 つのライブラリー・ファイルが追加されます。たとえば、フェデレーテッド・サーバーが AIX で稼働している場合、以下のディレクトリー・パスに追加されるラッパー・ライブラリー・ファイルは、libdb2net8.a、libdb2net8F.a、libdb2net8U.a です。デフォルトのラッパー・ライブラリー・ファイルは、libdb2net8.a です。他のラッパー・ライブラリー・ファイルは、Oracle ラッパーによって内部で使用されます。

以下の表に、デフォルトのディレクトリー・パスとデフォルトのラッパー・ライブラリー・ファイルの名前がリストされています。

表 79. Oracle ラッパー・ライブラリーの場所とファイル名

オペレーティング・システム ディレクトリー・パス ライブラリー・ファイル名

AIX /usr/opt/install_path/lib32/

/usr/opt/install_path/lib64/

libdb2net8.a

Linux /opt/IBM/db2/install_path/lib32

/opt/IBM/db2/install_path/lib64

libdb2net8.so

Solaris /opt/IBM/db2/install_path/lib32

/opt/IBM/db2/install_path/lib64

libdb2net8.so

Windows %DB2PATH%¥bin db2net8.dll

install_path は、IBM WebSphere Federation Server が UNIX または Linux 上でインストールされるディレクトリー・パスです。

Oracle データ・ソースのサーバー定義の登録フェデレーテッド・データベース内に、アクセスする Oracle サーバーをそれぞれ登録する必要があります。

手順

Oracle データ・ソースのサーバー定義を登録するには、次のようにします。

1. Oracle tnsnames.ora ファイルでノード名を見つけます。 tnsnames.ora ファイルの例:

paris_node =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = somehost)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = ora9i.seel)))

この例の場合、CREATE SERVER ステートメントで使用するノード値はparis_node です。

node_name は CREATE SERVER SQL ステートメントでオプションとなっていますが、Oracle データ・ソースの場合は必要です。

296 フェデレーテッド・データ・ソース 構成ガイド

Page 307: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

2. Oracle データ・ソースのサーバー定義を登録するには、次の方法のいずれかを使用します。

方法 説明

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

CREATE SERVER ステートメントを発行します。

例:

CREATE SERVER server_name TYPE oracleVERSION 8.1.7 WRAPPER net8OPTIONS (NODE ’node_name’)

サーバー定義を作成した後、サーバー・オプションを追加またはドロップするには、ALTER SERVER ステートメントを使用します。

この一連のタスクの次のタスクは、『Oracle データ・ソースのユーザー・マッピングの作成』です。

Oracle データ・ソースのユーザー・マッピングの作成Oracle サーバーにアクセスする場合、フェデレーテッド・サーバーはデータ・ソースにとって有効なユーザー ID とパスワードを使用して、Oracle サーバーへの接続を確立します。それぞれのフェデレーテッド・サーバーのユーザー ID とパスワード、および対応するデータ・ソースのユーザー ID とパスワードの間の関係付け(ユーザー・マッピング) を定義しなければなりません。

制約事項

Oracle データ・ソース側のユーザー ID は、Oracle create user コマンドでidentified externally 文節ではなく、identified by 文節を使用して作成する必要があります。

このタスクについて

フェデレーテッド・システムにアクセスして Oracle データ・ソースへの分散要求を送信するユーザー ID ごとに、ユーザー・マッピングを作成します。

手順

Oracle データ・ソースのユーザー・マッピングを作成するには、以下のようにします。

CREATE USER MAPPING ステートメントを発行します。 例:

CREATE USER MAPPING FOR local_userID SERVER server_definition_nameOPTIONS (REMOTE_AUTHID ’remote_userID’, REMOTE_PASSWORD ’remote_password’) ;

第 15 章 Oracle データ・ソース 297

Page 308: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

REMOTE_AUTHID および REMOTE_PASSWORD 変数は、CREATE USER

MAPPING ステートメントではオプションの指定となりますが、Oracle データ・ソースへのアクセスには必須です。

この作業が終了したら、Oracle サーバーへの接続をテストします。

Oracle サーバーへの接続のテストフェデレーテッド・サーバーが Oracle データ・ソースにアクセスするために適切に構成されているかを確認するため、Oracle サーバーへの接続をテストします。

このタスクについて

Oracle サーバーへの接続のテストは、定義したサーバー定義とユーザー・マッピングを使用して行うことができます。

手順

Oracle サーバーへの接続をテストするには、次のようにします。

パススルー・セッションを開き、Oracle システム表に対して SELECT ステートメントを発行します。 SELECT ステートメントがカウントを戻す場合、サーバー定義およびユーザー・マッピングは適切にセットアップされています。

例:

SET PASSTHRU remote_server_nameSELECT count(*) FROM sys.all_tablesSET PASSTHRU RESET

SELECT ステートメントがエラーを戻す場合には、接続エラーのトラブルシューティングをします。

この作業が終了したら、Oracle 表およびビューのニックネームを登録できます。

Oracle データ・ソースの接続に関する問題のトラブルシューティング

Oracle データ・ソースにアクセスするためにフェデレーテッド・サーバーを構成する場合にユーザーが最も多く直面する問題は、接続に関するものです。

症状

フェデレーテッド・サーバーから Oracle データ・ソースに接続できない場合は、TCP/IP hosts ファイルを更新する必要があるかもしれません。

原因

この問題は、TCP/IP hosts ファイルが古くて無効になっていることが原因である可能性があります。

298 フェデレーテッド・データ・ソース 構成ガイド

Page 309: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

問題の解決

tnsnames.ora ファイルの DESCRIPTION セクションにある HOST ごとに、TCP/IP

hosts ファイルを更新することが必要になる場合があります。このファイルを更新するかどうかは、ネットワークで TCP/IP がどのように構成されているかによります。ネットワークの一部で、tnsnames.ora ファイルの DESCRIPTION セクションに指定されたリモート・ホスト名をアドレスに変換する必要があります。

ホスト名を認識する指定のサーバーがネットワークにある場合は、TCP/IP hosts ファイルを更新する必要はありません。ホスト名を認識する指定のサーバーがネットワークに存在しない場合は、リモート・ホストのTCP/IP hosts ファイルに項目を追加する必要があります。

TCP/IP hosts ファイルのロケーションは、フェデレーテッド・サーバーで稼働するオペレーティング・システムによって異なります。

Linux または UNIX が稼働するフェデレーテッド・サーバーの場合hosts ファイルは /etc/hosts ディレクトリー内にあります。

Windows が稼働するフェデレーテッド・サーバーの場合hosts ファイルは、x:¥winnt¥system32¥drivers¥etc¥hosts ディレクトリー内にあります。

Oracle 表およびビューのニックネームの登録登録するそれぞれの Oracle サーバー定義で、アクセスするそれぞれの表またはビューごとにニックネームを登録する必要があります。 Oracle サーバーを照会するときには、データ・ソース・オブジェクトの名前ではなく、これらのニックネームを使用します。

始める前に

ニックネームを登録する前に、Oracle データ・ソース側の統計を更新します。フェデレーテッド・データベースは、データ・ソースのカタログ統計に基づいて、照会処理を最適化します。 DB2 RUNSTATS コマンドに相当するデータ・ソース・コマンドを使用して、データ・ソースの統計を更新します。

このタスクについて

Oracle Label Security を使用するデータ・ソース・オブジェクトの場合は、ニックネーム・データをキャッシュできません。 ALTER NICKNAME ステートメントを使用して、キャッシングのオン/オフを切り替えることができます。

手順

Oracle 表またはビューのニックネームを登録するには、次の方法のいずれかを使用します。

第 15 章 Oracle データ・ソース 299

Page 310: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

方法 説明

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

CREATE

NICKNAME ステートメントを発行します。ニックネームの長さは128 文字までです。

例:

CREATE NICKNAME nickname FORserver_definition_name."remote_schema"."remote.table";

ニックネームを作成すると、フェデレーテッド・サーバーはニックネームを使用してデータ・ソース・カタログを照会します。この照会は、データベース・ソースの表またはビューへの接続をテストします。接続が働かない場合、エラー・メッセージが出ます。

ニックネームを作成する Oracle の表またはビューごとに、このステップを繰り返します。

Oracle データ・ソースの接続に関する問題のトラブルシューティングOracle データ・ソースにアクセスするためにフェデレーテッド・サーバーを構成する場合にユーザーが最も多く直面する問題は、接続に関するものです。

症状

フェデレーテッド・サーバーから Oracle データ・ソースに接続できない場合は、TCP/IP hosts ファイルを更新する必要があるかもしれません。

原因

この問題は、TCP/IP hosts ファイルが古くて無効になっていることが原因である可能性があります。

問題の解決

tnsnames.ora ファイルの DESCRIPTION セクションにある HOST ごとに、TCP/IP

hosts ファイルを更新することが必要になる場合があります。このファイルを更新するかどうかは、ネットワークで TCP/IP がどのように構成されているかによります。ネットワークの一部で、tnsnames.ora ファイルの DESCRIPTION セクションに指定されたリモート・ホスト名をアドレスに変換する必要があります。

ホスト名を認識する指定のサーバーがネットワークにある場合は、TCP/IP hosts ファイルを更新する必要はありません。ホスト名を認識する指定のサーバーがネットワークに存在しない場合は、リモート・ホストのTCP/IP hosts ファイルに項目を追加する必要があります。

TCP/IP hosts ファイルのロケーションは、フェデレーテッド・サーバーで稼働するオペレーティング・システムによって異なります。

300 フェデレーテッド・データ・ソース 構成ガイド

Page 311: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Linux または UNIX が稼働するフェデレーテッド・サーバーの場合hosts ファイルは /etc/hosts ディレクトリー内にあります。

Windows が稼働するフェデレーテッド・サーバーの場合hosts ファイルは、x:¥winnt¥system32¥drivers¥etc¥hosts ディレクトリー内にあります。

CREATE SERVER ステートメント - Oracle ラッパーの例Oracle ラッパーにサーバー定義を登録するには、CREATE SERVER ステートメントを使用します。必須パラメーターを使用した完全指定の例と、追加のサーバー・オプションを使用した例がこのトピックには含まれています。

以下に示すのは、CREATE SERVER ステートメントを発行して、Oracle ラッパーのサーバー定義を登録する方法の例です。

CREATE SERVER oraserver TYPE oracle VERSION 8.1.7 WRAPPER wrapper_nameOPTIONS (NODE ’paris_node’) ;

oraserver

Oracle データベース・サーバーに割り当てた名前。重複するサーバー定義名は使用できません。

TYPE oracle

アクセスを構成するデータ・ソース・サーバーのタイプを指定します。Oracle ラッパーの場合、サーバー・タイプは oracle でなければなりません。

VERSION 8.1.7

アクセスする Oracle データベース・サーバーのバージョン。

WRAPPER wrapper_name

CREATE WRAPPER ステートメントで指定したラッパー名。

NODE ’paris_node’

Oracle データベース・サーバーが存在するノードの名前。ノード名は、tnsnames.ora ファイルから入手します。この値は大文字小文字の区別があります。

ノード名は CREATE SERVER ステートメントではオプションとなっていますが、Oracle データ・ソースの場合は必要です。

サーバー・オプション

サーバー定義の作成時に、CREATE SERVER ステートメントに追加のサーバー・オプションを指定することができます。これらのサーバー・オプションには、汎用のサーバー・オプションと Oracle に特有のサーバー・オプションを指定できます。

フェデレーテッド・サーバーは、Oracle VARCHAR 列にはすべて、末尾ブランクが含まれていると想定しています。 Oracle データベース内のすべての VARCHAR 列が末尾ブランクを含まないことが確実である場合は、データ・ソースがブランク埋め込みなしの VARCHAR 比較セマンティックを使用するということを示す、サーバー・オプションを設定できます。

第 15 章 Oracle データ・ソース 301

Page 312: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

以下に、VARCHAR_NO_TRAILING_BLANKS サーバー・オプションを使用したOracle サーバー定義の例を示します。

CREATE SERVER oraserver TYPE oracle VERSION 8.1.7 WRAPPER wrapper_nameOPTIONS (NODE ’paris_node’, VARCHAR_NO_TRAILING_BLANKS ’Y’) ;

末尾ブランクを含む列が 1 つもない場合は、VARCHAR_NO_TRAILING_BLANKS

サーバー・オプションを使用します。末尾ブランクを含む VARCHAR 列がいくつかしかない場合は、ALTER NICKNAME ステートメントを使用して、これらの列にオプションを設定できます。

CREATE USER MAPPING ステートメント - Oracle ラッパーの例CREATE USER MAPPING ステートメントを使用して、フェデレーテッド・サーバーのユーザー ID を Oracle サーバーのユーザー ID およびパスワードにマップしてください。このトピックには、必要パラメーターを使用する完全指定の例と、CREATE USER MAPPING ステートメントで DB2 特殊レジスター USER を使用する方法を示す例が含まれます。

以下に示すのは、フェデレーテッド・サーバーのユーザー ID を Oracle サーバーのユーザー ID およびパスワードにマップする方法を示す例です。

CREATE USER MAPPING FOR robert SERVER oraserverOPTIONS (REMOTE_AUTHID ’rob’, REMOTE_PASSWORD ’then4now’) ;

robert Oracle サーバーで定義されたユーザー ID にマップするローカルのユーザー ID を指定します。

SERVER oraserver

CREATE SERVER ステートメントで登録した Oracle サーバーのサーバー定義名を指定します。

REMOTE_AUTHID ’rob’

robert をマップする Oracle データベース・サーバー側のユーザー ID を指定します。 CREATE SERVER ステートメントで FOLD_ID サーバー・オプションを ’U’ または ’L’ にしている場合を除き、この値の大文字小文字の区別を保持するように単一引用符を使用してください。

リモート・ユーザー ID は、CREATE SERVER ステートメントではオプションとなっていますが、Oracle データ・ソースの場合は必要です。

REMOTE_PASSWORD ’then4now’

rob に関連するパスワードを指定します。 CREATE SERVER ステートメントで FOLD_PW サーバー・オプションを U または L にしている場合を除き、この値の大文字小文字の区別を保持するように単一引用符を使用してください。

リモート・パスワードは、CREATE SERVER ステートメントではオプションとなっていますが、Oracle データ・ソースの場合は必要です。

DB2 特殊レジスター USER

DB2 特殊レジスター USER を使用して、CREATE USER MAPPING ステートメントを実行する人の許可 ID を、REMOTE_AUTHID ユーザー・オプションに指定されるデータ・ソースの許可 ID にマップすることができます。

302 フェデレーテッド・データ・ソース 構成ガイド

Page 313: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

以下に、特殊レジスター USER を含む CREATE USER MAPPING ステートメントの例を示します。

CREATE USER MAPPING FOR USER SERVER oraserverOPTIONS (REMOTE_AUTHID ’rob’, REMOTE_PASSWORD ’then4now’) ;

CREATE NICKNAME ステートメント - Oracle ラッパーの例CREATE NICKNAME ステートメントを使用して、アクセスする Oracle 表またはビューのニックネームを登録します。必須パラメーターを使用した完全指定の例がこのトピックには含まれています。

以下に示すのは、CREATE NICKNAME ステートメントを使用して、Oracle 表またはビューのニックネームを登録する方法の例です。

CREATE NICKNAME PARISINV FOR oraserver."vinnie"."inventory" ;

PARISINV

Oracle の表またはビューを識別するために使用する固有なニックネームです。ニックネームは、スキーマとニックネームとで構成されます。ニックネームの登録時にスキーマを省略すると、そのニックネームのスキーマはニックネームを登録するユーザーの許可 ID になります。

oraserver.″vinnie″.″inventory″リモート・オブジェクトを表す、3 つの部分からなる ID。

v oraserver は、CREATE SERVER ステートメントで Oracle データベース・サーバーに割り当てたサーバー定義名です。

v vinnie は、表またはビューが属する所有者のユーザー ID です。

v inventory は、アクセスするリモートの表またはビューの名前です。

フェデレーテッド・サーバーは、名前を引用符で囲んでいない限り、Oracle

スキーマと表の名前を大文字に変換します。

第 15 章 Oracle データ・ソース 303

Page 314: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

304 フェデレーテッド・データ・ソース 構成ガイド

Page 315: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 16 章 スクリプト・データ・ソース

データ・ソースとしてのスクリプトへのアクセスの構成データ・ソースとしてのスクリプトにアクセスするようにフェデレーテッド・システムを構成するには、スクリプトのカスタム関数、ラッパー、サーバー定義、ニックネームを登録する必要があります。

始める前に

v IBM WebSphere Federation Server が、フェデレーテッド・サーバーとして機能するサーバー上にインストールされている必要があります。

v フェデレーテッド・データベースがフェデレーテッド・サーバー上になければなりません。

このタスクについて

DB2 コマンド行で SQL ステートメントを発行することにより、スクリプト経由でデータにアクセスするようにフェデレーテッド・サーバーを構成できます。

手順

データ・ソースとしてのスクリプトをフェデレーテッド・サーバーに追加するには、以下のようにします。

1. スクリプトを指定するか、または作成します。

2. カスタム関数を登録します。

3. スクリプト・デーモンを構成します。

4. スクリプト・デーモンを開始します。

5. スクリプト・ラッパーを登録します。

6. スクリプトによってアクセスするデータ・ソースのサーバー定義を登録します。

7. データ・ソースのニックネームを登録します。

スクリプト・ラッパーの概要Perl スクリプトなどのスクリプトを使用すると、データベース内の情報にアクセスしたり、データを生成したりできます。スクリプト・ラッパーを使用することにより、そのデータを他のフェデレーテッド ・データ・ソースのデータと統合することが可能になります。

ライフ・サイエンス・データ・バンクなどのデータ・ソースからデータを戻したり、独自にデータを生成したりする既存のスクリプトがあらかじめ用意されていることもあります。スクリプト・ラッパーは、スクリプトをあたかもフェデレーテッド・データ・ソースであるかのように使用できるようにします。そのようにしてスクリプト・ラッパーによりデータへのアクセスが可能になり、データはフェデレーテッド・システムを使用して統合されます。スクリプトから戻される結果は XML

でなければなりません。

© Copyright IBM Corp. 1998, 2006 305

Page 316: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

スクリプト・ラッパーのニックネームには、入出力列を含むことができます。これらのニックネームでは、入力値をスクリプトに渡すために述部で関数テンプレートを使用します。スクリプトからの出力データは階層構造の XML で表現され、主キーおよび外部キーを使用してニックネームにマップできます。

スクリプト・ラッパーは、読み取り専用ラッパーです。スクリプト・ラッパーは、データ・ソースにデータを書き込むことができません。

次の図では、データがスクリプトからスクリプト・ラッパーおよびスクリプト・デーモンを経由してフェデレーテッド・データベースに流れます。そこで、このデータは他のソースからのデータと統合され、フェデレーテッド・クライアントで表示できるようになります。オプションで、フェデレーテッド・システムはプロキシー・サーバーおよびファイアウォール経由でスクリプトにアクセスできます。

306 フェデレーテッド・データ・ソース 構成ガイド

Page 317: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

スクリプトは、スクリプト・デーモンを含むディレクトリーから呼び出されます。スクリプト・データ・ファイルからデータを取り出そうとして、スクリプトがデータ・ファイルを見つけることができない場合は、スクリプトに相対パスが含まれている可能性があります。スクリプトには絶対パスを使用するようにします。

データ・ソースとしてのスクリプトのフェデレーテッド・システムへの追加データ・ソースとしてのスクリプトにアクセスするフェデレーテッド・サーバーを構成するには、スクリプトのスクリプト・デーモン、ラッパー、サーバー定義、ニックネームを構成する必要があります。

図 18. フェデレーテッド・システム内のスクリプト・ラッパー

第 16 章 スクリプト・データ・ソース 307

Page 318: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

スクリプトのカスタム関数の登録スクリプト・ラッパーを登録する前に、スクリプト・カスタム関数WSSCRIPT.ARGS を登録することが必要です。

このタスクについて

スクリプト・ラッパーがインストールされている各フェデレーテッド・データベース・インスタンスにカスタム関数を登録する必要があります。

スクリプト・ラッパーのカスタム関数は、WSSCRIPT というスキーマ名を使用して登録する必要があります。

スクリプト・ラッパーのカスタム関数を登録するときは、特定のキーワードを含める必要があります。CREATE FUNCTION ステートメントには、AS TEMPLATE、DETERMINISTIC、NO EXTERNAL ACTION キーワードを含めます。

フェデレーテッド環境は 2 つの照会エンジンを使用します。スクリプト・ラッパーの場合、フェデレーテッド・データベース照会エンジンとスクリプト・ラッパー照会エンジンがそれに当たります。 SELECT ステートメントの WHERE 文節にスクリプト・ラッパー・カスタム関数を使用して、述部をスクリプト・ラッパー・エンジンに限定することができます。

フェデレーテッド・サーバー上の sqllib/samples/lifesci/script ディレクトリーのcreate_function_mappings.ddl ファイルは、カスタム関数のデータ・タイプを指定します。

手順

スクリプト・カスタム関数を登録するには、次のようにします。

スクリプト・ラッパーがインストールされている各フェデレーテッド・データベース・インスタンス上で、create_function_mappings.ddl ファイルを実行します。

WSSCRIPT.ARGS 関数の構文例は以下のとおりです。

CREATE FUNCTION WSSCRIPT.ARGS (input_column_data_type(), input_column_data_type())RETURNS INTEGER AS TEMPLATEDETERMINISTIC NO EXTERNAL ACTION;

スクリプト・ラッパーのカスタム関数のデータ・タイプ各カスタム関数には、入力列のデータ・タイプを 2 回指定する必要があります。

WSSCRIPT カスタム関数を、column_name 引数のそれぞれの有効なデータ・タイプごとに個別に登録します。 WSSCRIPT カスタム関数には、以下のデータ・タイプがあります。

v VARCHAR

v INTEGER

v CLOB

v DOUBLE

v DATE

308 フェデレーテッド・データ・ソース 構成ガイド

Page 319: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

カスタム関数の 2 つのパラメーターは同じデータ・タイプで、しかも対応する入力列のデータ・タイプでなければなりません。照会述部で使用された場合、最初のパラメーターは、スイッチ入力列の名前になります。 2 番目の列は、このスイッチに対応するスクリプトに渡される値になります。

スクリプト・デーモンの構成スクリプト・ラッパーには、スクリプト・ラッパーからのスクリプト・ジョブ要求を listen するスクリプト・デーモンが必要です。スクリプト・ラッパーを登録する前に、スクリプト・デーモンを構成することが必要です。

始める前に

スクリプト・デーモンには、以下の前提条件があります。

v そのデーモンが一時ファイルを書き込むディレクトリーに対する書き込みアクセス権限を持っている。

v フェデレーテッド・システムから TCP/IP を介してアクセス可能なサーバー上で実行する。このサーバーは、フェデレーテッド・サーバーとして機能するサーバーと同じであっても、別のスクリプト・サーバーであってもかまいません。

v 構成ファイルは必ずスクリプト・デーモンと同じサーバー上になければならない。

v スクリプト・ラッパーおよびフェデレーテッド・データベースとは別個に実行する。

手順

スクリプト・デーモンを構成するには、以下のようにします。

1. スクリプト・デーモンの実行可能ファイルが正しいサーバー上にあることを確認します。スクリプト・デーモンの実行可能ファイルを別のサーバーにコピーすることが必要になる場合もあります。

IBM WebSphere Federation Server のインストール中に、スクリプト・デーモンの実行可能ファイルはフェデレーテッド・サーバーにインストールされます。ファイルの名前とロケーションは、以下のとおりです。

UNIX db2script_daemon は $DB2PATH/bin ディレクトリーにインストールされます。$DB2PATH は、フェデレーテッド・サーバーがインストールされているディレクトリーです。

Windowsdb2script_daemon.exe は %DB2PATH%¥bin ディレクトリーにインストールされます。%DB2PATH% は、フェデレーテッド・サーバーがインストールされているディレクトリー (通常は C:¥SQLLIB¥bin) です。

独立したスクリプト・サーバーを使用する場合は、スクリプト・デーモンの実行可能ファイルと構成ファイルをフェデレーテッド・サーバーからスクリプト・サーバーにコピーします。スクリプト・デーモン実行可能ファイルは、ディレクトリー・パスの名前にスペースが含まれないスクリプト・サーバー上の任意のディレクトリーで実行することができます。

第 16 章 スクリプト・データ・ソース 309

Page 320: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

2. スクリプト・デーモンの構成ファイルが正しいサーバー上にあることを確認します。

フェデレーテッド・システムのインストール中に、スクリプト・デーモンのサンプル構成ファイルがフェデレーテッド・サーバーにインストールされます。サンプル構成ファイルの名前は SCRIPT_DAEMON.config です。ファイルのロケーションは以下のとおりです。

UNIX デーモン構成ファイルは、$DB2PATH/bin ディレクトリーにインストールされます。

Windowsデーモン構成ファイルは、%DB2PATH%¥bin ディレクトリーにインストールされます。

デフォルトでは、デーモンは、デーモンが開始される作業ディレクトリー内で構成ファイルを検索します。構成ファイルは、別のロケーションにコピーすることができます。スクリプト・サーバーを使用する場合、デーモン構成ファイルを、フェデレーテッド・サーバー上のディレクトリーからスクリプト・サーバー上のディレクトリーにコピーします。デーモン構成ファイルは、デーモンがアクセスできるスクリプト・サーバー上の任意のディレクトリーにコピーすることができます。

3. スクリプト・デーモンのサンプル構成ファイルを編集します。

a. サンプル・ファイルを再利用できるよう、構成ファイルをリネームします。

b. 構成ファイルの 1 行目が等号 (=) であることを確認します。等号がないと、デーモンは開始しません。 DAEMON_PORT が指定されなかったことを示すエラー・メッセージが出されます。

c. 構成ファイルの最終行が改行で終了していることを確認します。

フェデレーテッド・システムに付属のサンプル構成ファイルは、改行文字で終了しています。最終行が改行文字で終わっていない場合、最終行にリストされたデータ・ソースを使用してスクリプト照会を初めて実行しようとする際に、エラー・メッセージが出されます。

d. ディレクトリー・パスの後または構成ファイルの最後に余分のスペースがないことを確認します。

e. 構成ファイルに以下のオプションを指定します。パスを必要とするオプションについては、相対パスを指定できます。相対パスは、デーモン・プロセスが開始されたディレクトリーに相対しています。

DAEMON_PORT=port_number

ラッパーによってサブミットされたスクリプト・ジョブ要求をデーモンが listen するネットワーク・ポート。デフォルト値は 4099 です。

MAX_PENDING_REQUESTS=number_of_requests

任意の一時点でデーモンでブロッキングできるスクリプト・ジョブ要求の最大数です。この数は、並行して実行されているスクリプト・ジョブ数を表すものではありません。一時点でブロックできるジョブ要求数のみです。この値を 5 より大きい数に設定します。スクリプト・デーモンでは、並行して実行できるスクリプト・ジョブ数の制限はありません。

310 フェデレーテッド・データ・ソース 構成ガイド

Page 321: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

DAEMON_LOGFILE_DIR=dir

デーモンがそのログ・ファイルを作成するディレクトリーです。このファイルには、スクリプト・デーモンによって生成された状況およびエラー情報が含まれます。

SCRIPT_OUT_DIR_PATH=path

デーモンがスクリプト出力データを保管するための一時ファイルを作成するディレクトリーです。デーモンはこのファイルからデータを読み取り、ネットワーク接続を介してデータをラッパーに戻します。データがラッパーに渡されると、デーモンは一時ファイルをクリーンアップします。

script specification entry=entry

スクリプト・ラッパーによる呼び出しが可能なスクリプトの名前とロケーションを指定する項目のリスト。項目のフォーマットは以下のようになります。

script_name=fully-qualified_script_path

以下の例は、指定されたオペレーティング・システムに適用されます。

UNIX たとえば、Oracle データ・ソースにアクセスするスクリプトを指定するには、次の行をデーモン構成ファイルに追加します。

oracle=/dsk/1/data/oracle

Windowsたとえば、Oracle データ・ソースにアクセスするスクリプトを指定するには、次の行をデーモン構成ファイルに追加します。

oracle=c:¥data¥oracle.a

以下に、4 つのスクリプトの SCRIPT_DAEMON.cfg ファイルの例を示します。

=DAEMON_PORT=4099MAX_PENDING_REQUESTS=10DAEMON_LOGFILE_DIR=./SCRIPT_OUT_DIR_PATH=./fee=/home/user_id/feefie=/home/user_id/fiefoe=/home/user_id/foefum=/home/user_id/fum

スクリプト・デーモンのサンプル構成ファイルは、スクリプト・デーモンの構成の例となります。

スクリプト・デーモンの開始スクリプトを使用してデータ・ソースにアクセスするためには、スクリプト・デーモンを開始しなければなりません。

始める前に

第 16 章 スクリプト・データ・ソース 311

Page 322: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

デーモン構成ファイルで DAEMON_LOGFILE_DIR と SCRIPT_OUT_DIR_PATH オプションについてリストされているすべてのパスに対する書き込みアクセス権限が必要です。

このタスクについて

スクリプト・デーモンの実行可能ファイルは、スクリプト・デーモンが実行される新規プロセスを開始します。

手順

スクリプト・デーモンを開始するには、次のようにします。

1. デーモン実行可能ファイルが存在するディレクトリーを開きます。

2. db2script_daemon コマンドに適切なオプションを指定して発行し、実行可能ファイルを実行します。

以下は、オプションが指定されている例です。

db2script_daemon -a action -c config_file -d debug_level -u user_id -p password

db2script_daemon コマンド - オプションと例db2script_daemon コマンドは、スクリプト・デーモンを開始します。スクリプト・デーモンは、いくつかのオプションを指定して開始することができます。

db2script_daemon コマンドは、UNIX または Windows サーバーで使用できます。構文内でリストされるオプションの一部は、Windows サーバーでのみ使用できます。

start アクションで指定されるオプションは、現在のデーモンのインスタンスのみに影響し、install アクションを使用して指定される値をオーバーライドします。

オプション - db2script_daemon コマンド

db2script_daemon コマンドには、以下のオプションがあります。

-a action (Windows のみ)指定したアクティビティーを実行します。有効なアクションは、status、install、start、stop、および remove です。

-c config_file

指定した構成ファイルを使用するように、デーモン・サービスに指示します。構成ファイルを指定しなかった場合、デーモンは、デーモン実行可能ファイルがインストールされているディレクトリー内でSCRIPT_DAEMON.config ファイルを検索します。このオプションは、install

および start アクションとともに使用できます。

-d [1 | 2 | 3]

デーモン・サービスのデバッグ・レベルを、指定された値に設定します。値1 を指定するとロギングはオンになり、2 を指定するとすべてのコマンドがトレースされます。3 を指定するとロギングがオンになり、すべてのコマンドがトレースされ、XML 出力をキャプチャーしたすべての一時ファイルが保管されます。このオプションは、install および start アクションとともに使用できます。

312 フェデレーテッド・データ・ソース 構成ガイド

Page 323: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

-u user_id (Windows のみ)指定したユーザー ID で実行するように、デーモン・サービスを設定します。このオプションは、install アクションとともに使用できます。

-p password (Windows のみ)指定したユーザー ID のパスワードを指定します。パスワードが有効かつ必要なのは、-u オプションを指定する場合だけです。-u オプションの設定時に -p オプションを指定しなかった場合、パスワードを求めるプロンプトがプログラムによって出されます。このオプションは、install アクションとともに使用できます。

例 - db2script_daemon コマンド

以下の例は、スクリプト・デーモン・オプションの使用法を示したものです。

デーモンの開始UNIX でデーモンを開始するには、次のコマンドを発行します。

db2script_daemon

このコマンドは、デーモン構成ファイルが実行可能ファイルと同じディレクトリーに存在するという前提で機能します。

Windows でデーモンをインストールして開始するには、次のコマンドを発行します。

db2script_daemon -a installdb2script_daemon -a start

デーモン構成ファイルを指定します。デーモン構成ファイルの名前を変更してしまっているか、構成ファイルがデーモン実行可能ファイルと同じディレクトリーにない場合、実行可能ファイルの実行時に -c オプションを使用する必要があります。このオプションは、デーモン構成ファイルのディレクトリー・パスと名前を指定します。

この例では、デーモン構成情報が UNIX サーバー上のサブディレクトリーcfg の SCRIPT_D.config というファイルにあります。次のコマンドを発行する。

db2script_daemon -c cfg/SCRIPT_D.config

デバッグ・レベルを指定します。デバッグ・レベル 2 でデバッグをオンにしてデーモンを開始する場合は、以下のコマンドを発行します。

db2blast_daemon -a install -d 2db2blast_daemon -a start

デーモンの状況をチェックする (Windows)Windows サーバーでデーモンの状況をチェックするには、次のコマンドを発行します。

db2blast_daemon -a status

このコマンドは、デーモン構成ファイルが実行可能ファイルと同じディレクトリーに存在するという前提で機能します。

第 16 章 スクリプト・データ・ソース 313

Page 324: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

デーモンの停止UNIX 上のデーモンを停止するには、以下のコマンドを発行して、プロセスID のリストを作成します。

ps -ef | grep db2script

次に、プロセス ID を使用して以下のコマンドを発行し、デーモンを停止します。

kill process_ID

このコマンドは、デーモン構成ファイルが実行可能ファイルと同じディレクトリーに存在するという前提で機能します。

Windows でデーモンを停止するには、次のコマンドを発行します。

db2script_daemon -a stop

デーモンの削除今後スクリプト・ラッパーを使用しないという場合には、スクリプト・デーモンを削除することもできます。

デーモンを削除するには、以下のコマンドを発行します。

db2script_daemon -a remove

スクリプト・ラッパーの登録スクリプトを使用してデータ・ソースにアクセスするには、スクリプト・ラッパーを登録する必要があります。スクリプト・ラッパーはライブラリー・ファイルとしてインプリメントされます。

手順

スクリプト・ラッパーを登録するには、次のようにします。

スクリプト・ラッパーの名前とラッパー・ライブラリー・ファイルの名前を指定して、CREATE WRAPPER ステートメントを発行します。

たとえば、AIX オペレーティング・システムを使用するフェデレーテッド・サーバー上で script_wrapper という名前のラッパーを登録するには、次のステートメントを発行します。

CREATE WRAPPER script_wrapper LIBRARY ’libdb2lsscript.a’;

指定するラッパー・ライブラリー・ファイルの名前は、フェデレーテッド・サーバーのオペレーティング・システムによって異なります。

スクリプト・ラッパー CREATE WRAPPER ステートメントにはスクリプト・ラッパー固有のオプションはありません。デフォルトでは、ラッパーは unfenced で実行されます。

スクリプト・ラッパー・ライブラリー・ファイルスクリプト・ラッパーを登録するには、フェデレーテッド・サーバーのオペレーティング・システム用のスクリプト・ラッパー・ライブラリー・ファイルを指定します。

314 フェデレーテッド・データ・ソース 構成ガイド

Page 325: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

IBM WebSphere Federation Server のインストール時に、スクリプト・ラッパー・ライブラリー・ファイルがデフォルトのディレクトリー・パスに追加されます。

以下の表に、デフォルトのディレクトリー・パスとデフォルトのラッパー・ライブラリー・ファイルの名前がリストされています。

表 80. スクリプト・ラッパー・ライブラリー・ロケーションおよびファイル名

オペレーティング・システム

ディレクトリー・パス ラッパー・ライブラリー・ファイル名

AIX /usr/opt/install_path/lib libdb2lsscript.a

Linux /opt/IBM/db2/install_path/lib libdb2lsscript.so

Solaris /opt/IBM/db2/install_path/lib libdb2lsscript.so

Windows %DB2PATH%¥bin db2lsscript.dll

v install_path は、WebSphere Federation Server が UNIX または Linux にインストールされるディレクトリー・パスです。

v %DB2PATH% は、Windows にインストールされている WebSphere Federation

Server のディレクトリーを指定するのに使用する環境変数です。デフォルトのWindows ディレクトリー・パスは、C:¥Program Files¥IBM¥SQLLIB です。

データ・ソースとしてのスクリプトのサーバー定義の登録 (DB2 コマンド行)

アクセスする各サーバーをフェデレーテッド・データベースに登録する必要があります。

手順

スクリプトのサーバー定義を登録するには、次のようにします。

CREATE SERVER ステートメントを発行します。

例:

CREATE SERVER script_server WRAPPER script_wrapperOPTIONS (NODE ’myserver.example.com’, DAEMON_PORT ’4099’);

データ・ソースとしてのスクリプトには、NODE および DAEMON_PORT サーバー・オプションが必要です。

サーバー定義を登録した後、サーバー・オプションを追加またはドロップするには、ALTER SERVER ステートメントを使用します。

CREATE SERVER ステートメント - スクリプト・ラッパーの例必須指定のオプションと追加サーバー・オプションの使用法を示す例です。

必須指定のオプションの例

以下に示すのは、CREATE SERVER ステートメントを発行して、スクリプト・ラッパーのサーバー定義を登録する方法の例です。

第 16 章 スクリプト・データ・ソース 315

Page 326: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CREATE SERVER server1_scriptn WRAPPER script_wrapperOPTIONS(NODE ’big_rs.company.com’);

server1_scriptn

スクリプト・サーバーに割り当てる名前。重複するサーバー定義名は使用できません。

WRAPPER script_wrapper

ラッパー名。

NODE ’big_rs.company.com’

スクリプト・デーモン・プロセスが実行されるシステムのホスト名。この値は大文字小文字の区別があります。

ノード名は CREATE SERVER ステートメントではオプションとなっていますが、スクリプト・ラッパーの場合は必要です。

任意指定のオプションの例

以下の例には、スクリプト・ラッパーのサーバー定義を登録するときに指定できる追加のサーバー・オプションが示されています。

CREATE SERVER server1_scriptn WRAPPER script_wrapperOPTIONS(NODE ’big_rs.company.com’, DAEMON_PORT ’4088’);

DAEMON_PORT ’4088’

デーモンがスクリプト・ジョブ要求を listen するポートの番号を指定します。ポート番号は、デーモン構成ファイルの DAEMON_PORT オプションに指定されているものと同じ番号でなければなりません。デフォルトのポート番号は 4099 です。

スクリプトのニックネームの登録 (DB2 コマンド行)スクリプトごとに別個のニックネームを登録しなければなりません。これらのニックネームは、スクリプトによってアクセスするデータ・ソースを照会するときに使用します。

このタスクについて

スクリプト・ラッパーは XML データをニックネームに関連付けます。親ニックネームと子ニックネームは、XML 文書のルートおよびネスト・エレメントに対応します。親ニックネームと子ニックネームは、CREATE NICKNAME ステートメントで指定される主キーおよび外部キーによって結び付けられます。各ニックネームは、XML データ・エレメントの識別と各エレメントから列値を抽出する方法の指定とを行う XPath 式によって定義されます。

データ・ソースは CREATE NICKNAME ステートメントによって指定され、DATASOURCE ニックネーム・オプションによってスクリプト名と関連付けられます。スクリプトに渡される入力引数ごとに 1 つの列を作成する必要があります。コマンド行のスイッチの構文を制御するには、入力列オプションを使用します。各スイッチの値は、実行時に ARGS カスタム関数を使用して照会述部に含める必要があります。

コマンド行引数を必要としない簡単なスクリプトには、入力列は必要ありません。

316 フェデレーテッド・データ・ソース 構成ガイド

Page 327: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

手順

スクリプトにニックネームを登録するには、次のようにします。

CREATE NICKNAME ステートメントを発行します。 ニックネームの長さは 128

文字までです。

例:

CREATE NICKNAME nickname(column_name data_typeOPTIONS (’nickname_column_ options’),column_name data_typeOPTIONS (’nickname_column_ options’),column_name data_typeOPTIONS (’nickname_column_ options’))FOR SERVER server_definition_nameOPTIONS (nickname_options);

ニックネームを作成する スクリプトごとに、このステートメントを発行します。

CREATE NICKNAME ステートメント - スクリプト・ラッパーの例例では、CREATE NICKNAME ステートメントを使用してスクリプト・ラッパーのニックネームを登録する方法を例示します。

以下の例では、fee という名前のスクリプトから戻される XML データの親ニックネームを作成します。

CREATE NICKNAME customers(argle double OPTIONS(SWITCH ’-argle’, POSITION 1, DEFAULT 1.0 ),argfile CLOB() OPTIONS(SWITCH ’-file’, INPUT_MODE ’FILE_INPUT’, POSITION 2),argpos varchar() OPTIONS(SWITCH ’ ’, POSITION 3),id VARCHAR(5) OPTIONS(XPATH ’./@id’)name VARCHAR(16) OPTIONS(XPATH ’./name’),address VARCHAR(30) OPTIONS(XPATH ’./address/@street’),cid VARCHAR(16) FOR BIT DATA NOT NULL OPTIONS(PRIMARY_KEY ’YES’))FOR SERVER script_serverOPTIONS(DATASOURCE ’fee’,XPATH ’/doc/customer’, STREAMING ’YES’);

以下の例では、orders というニックネームを作成します。ニックネーム orders は、前の例で作成した customers というニックネームの子です。

CREATE NICKNAME orders(amount INTEGER OPTIONS(XPATH ’./amount’),date VARCHAR(10) OPTIONS(XPATH ’./date’),oid VARCHAR(16) OPTIONS(PRIMARY_KEY ’YES’),cid VARCHAR(16) FOR BIT DATA NOT NULL OPTIONS(FOREIGN_KEY ’CUSTOMERS’))FOR SERVER script_serverOPTIONS( XPATH ’./order’);

スクリプト・ラッパー・ニックネーム・オプションスクリプトのニックネームを作成するときには、オプションを指定できます。ルート・ニックネームに限って、入力列を含めることができます。

第 16 章 スクリプト・データ・ソース 317

Page 328: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ニックネーム・オプション

以下のリストは、ニックネーム・オプションの説明です。

DATASOURCE呼び出されるスクリプトの名前です。スクリプトは、スクリプト・デーモン構成ファイル内にリストされている必要があります。親ニックネームのデータ・ソースには、このオプションが必要です。このオプションは、ルート・ニックネームにのみ適用されます。

NAMESPACESニックネーム XPath 式の名前空間接頭部の解決にラッパーが使用する、コンマで区切られた名前 = 値のペアのリストです。

TIMEOUTスクリプト・ラッパーがスクリプト・デーモンからの結果を待つ最大時間 (分単位) 。デフォルト値は 60 分です。このオプションは、ルート・ニックネームにのみ適用されます。

VALIDATEXML データを抽出する前に XML ソース文書の妥当性検査を行うかどうかを指定します。このオプションを YES に設定すると、DB2 データベース・システムは、ソース文書の構造が XML スキーマまたは文書タイプ定義 (DTD) に準拠しているかどうかを検査します。このオプションは、ルート・ニックネーム(XML 文書の最上位にあるエレメントを識別するニックネーム) の列に対してのみ受け入れられます。デフォルト値は NO です。

スクリプト・ラッパーが XML スキーマ・ファイルまたは DTD ファイル (.xsd

または .dtd) を見付けることができない場合、XML ソース文書の妥当性検査は行われません。妥当性検査が行われなくても、DB2 データベース・システムはエラー・メッセージを出しません。XML スキーマ・ファイルまたは DTD ファイルが XML ソース文書で指定されるロケーションにあることを確認してください。 STREAMING パラメーターを YES に設定する場合、 VALIDATE パラメーターを YES に設定しないでください。

STREAMINGXML ソース・ドキュメントをニックネームの XPath 式に一致するノードに対応する論理フラグメントに分けるかどうかを指定します。スクリプト・ラッパーは、XML ソース・データの処理をフラグメントごとに行い、メモリーの使用合計量を減らします。このオプションは、ルート・ニックネーム (XML 文書の最上位にあるエレメントを識別するニックネーム) の列に対してのみ受け入れられます。デフォルトのストリーミング値は NO です。 VALIDATE パラメーターを YES に設定する場合、 STREAMING パラメーターを YES に設定しないでください。

XPATHデータ・ソース内の個々のタプルを表す XML エレメントを識別する XPath 式です。ラッパーは、子ニックネームの XPATH ニックネーム・オプションを、親ニックネームの XPATH ニックネーム・オプションによって指定されるパスのコンテキストで評価します。この XPath 式は、XPATH ニックネーム列オプションによって識別される列値を評価するためのコンテキストとして使用されます。

318 フェデレーテッド・データ・ソース 構成ガイド

Page 329: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ニックネーム列オプション

ニックネーム列オプションは次のように記述されます。

DEFAULT入力列のデフォルト値。このオプションは、入力列にのみ適用されます。

SQL 照会によって値が提供されない場合、デフォルト値が使用されます。このオプションは必須ではありません。

FOREIGN_KEYこのニックネームが子ニックネームであることを示し、対応する親ニックネームを指定します。

ニックネームには、FOREIGN_KEY 列オプションを 1 つしか指定できません。このオプションの値は、大文字小文字を区別します。 FOREIGN_KEY オプションによって指定された列は、ラッパーによって生成されたキーを含みます。列の値は、SELECT 照会では検索できません。 XPATH オプションを指定してはなりません。 列は、親のニックネームと子のニックネームを結合するためだけに使用できます。親ニックネームに別のスキーマ名が付けられている場合、FOREIGN_KEY オプションを指定した CREATE NICKNAME ステートメントは失敗します。 FOREIGN_KEY 文節で参照されるニックネームが、対応するCREATE NICKNAME ステートメントのもとで引用符で囲むことによって、小文字または大文字小文字の混合として明示的に定義されていないかぎり、このニックネームを FOREIGN_KEY 文節で参照する場合、ニックネームを大文字で指定する必要があります。

外部キー列は FOR BIT DATA および NOT NULL として指定する必要があります。

INPUT_MODE列の入力モードを指定します。有効な値は CONFIG または FILE_INPUT です。ラッパーは、指定された値をスクリプト・デーモンに渡します。

CONFIG値は構成可能なパラメーターとして扱われます。

FILE_INPUT値を保管するファイルが作成され、ファイル名がコマンド行引数として渡されます。

POSITION位置パラメーターの整数値です。位置を表す値は 1 から始まります。このオプションは入力列のみに適用されます。

位置の値が整数に設定された場合、入力はコマンド行中のその数値に対応する位置に置かれなければなりません。このオプションが設定されていると、照会実行時にスイッチが適切な位置に挿入されます。 POSITION が -1 に設定されている場合は、オプションが最後のコマンド行オプションとして追加されます。たとえば、列値がコマンド行の最後になければならず、かつ SWITCH オプションが指定されていない場合に、POSITION の値を -1 に設定すると、コマンド行の最後に値が追加されます。 POSITION 整数値は、ニックネーム中で重複はできません。このオプションは必須ではありません。

第 16 章 スクリプト・データ・ソース 319

Page 330: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

PRIMARY_KEYこのニックネームが親ニックネームであることを示します。列データ・タイプはVARCHAR(16) でなければなりません。ニックネームには、PRIMARY_KEY 列オプションを 1 つしか指定できません。有効値は Y のみです。

PRIMARY_KEY として指定された列は、ラッパーによって生成されたキーを含みます。列の値は、SELECT 照会では検索できません。 XPATH オプションを指定してはなりません。 列は、親のニックネームと子のニックネームを結合するためだけに使用できます。主キー列は FOR BIT DATA および NOT NULL

として指定する必要があります。

SWITCHコマンド行でスクリプトのパラメーターを指定する文字ストリング。このオプションは、入力列にのみ適用されます。

コマンド行で、このオプションの値は、WSSCRIPT.ARGS によって提供される列値、またはデフォルト値 (もしあれば) よりも先行します。スイッチの値が空ストリングで、列のデフォルト値が存在する場合、デフォルト値はコマンド行生成時に SWITCH 情報なしで追加されます。デフォルト値が提供されておらず、列の値も SQL 照会によって提供されない場合、この入力列はコマンド行生成時に無視されます。このオプションは、入力列に必要です。

SWITCH_ONLYコマンド行引数なしでスイッチの使用を可能にします。

SWITCH_ONLY オプションが値 Y とともに指定された場合、有効な入力値はY か N になります。入力値が Y なら、コマンド行にはスイッチのみが追加されます。入力値が N の場合、コマンド行に値は追加されません。

VALID_VALUESセミコロンで区切られる、列の有効値のセットです。

XPATHXML 文書の中でこの列に対応するデータを含む XPath 式を指定します。CREATE NICKNAME ステートメントがこの XPATH ニックネーム・オプションから XPath 式を適用した後で、スクリプト・ラッパーはその XPath 式を評価します。大文字小文字の区別が不正確であるなどの、XPATH タグ参照が不正確に構成されている列名に対して照会を実行する場合、照会は必要なすべての列に対してその列にある NULL 値を戻します。

スクリプト・ラッパーによる SQL 照会スクリプト・ラッパーを介して作成される SQL 照会では、スクリプトのパラメーター入力値を受け渡すのにカスタム関数を使用します。

スクリプト・ラッパー経由でスクリプトにパラメーター値を渡す SELECT ステートメントには、スクリプトのパラメーター入力値を受け取るカスタム関数を持つ述部が少なくとも 1 つ含まれている必要があります。

ルート・ニックネーム

たとえば、以下のステートメントでは、myscript という名前のスクリプトのルート・ニックネームが作成されます。

320 フェデレーテッド・データ・ソース 構成ガイド

Page 331: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CREATE NICKNAME customers (argle double OPTIONS(SWITCH ’-argle’, POSITION 1, DEFAULT 1.0),argfile CLOB() OPTIONS(SWITCH ’-file’, INPUT_MODE ’FILE_INPUT’, POSITION 2),argpos varchar() OPTIONS(SWITCH’ ’, POSITION 3),id varchar(10) OPTIONS(XPATH’./@id’),name varchar OPTIONS(XPATH ’/name’))FOR SERVER script_serverOPTIONS(DATASOURCE ’myscript’, XPATH ’doc/customer’, TIMEOUT ’300’, VALIDATE ’YES’);

カスタム関数ステートメントは以下のようになります。

CREATE FUNCTION wsscript.args (varchar(), varchar())RETURNS INTEGER AS TEMPLATEDETERMINISTIC NO EXTERNAL ACTION;CREATE FUNCTION wsscript.args (date(), date())RETURNS INTEGER AS TEMPLATEDETERMINISTIC NO EXTERNAL ACTION;CREATE FUNCTION wsscript.args (integer(), integer())RETURNS INTEGER AS TEMPLATEDETERMINISTIC NO EXTERNAL ACTION;CREATE FUNCTION wsscript.args (CLOB(), CLOB())RETURNS INTEGER AS TEMPLATEDETERMINISTIC NO EXTERNAL ACTION;CREATE FUNCTION wsscript.args (double(), double)RETURNS INTEGER AS TEMPLATEDETERMINISTIC NO EXTERNAL ACTION;

構成ファイルでは、以下の構成パラメーターを指定します。

SCRIPT_OUT_DIR_PATH=C:¥tempmyscript=C:¥perl¥bin¥perl myscript.pl -model

照会を実行して、表 t1.bigdata の内容をデーモンおよびローカル・ファイルC:¥temp¥f12345 に送信するには、以下の照会および wsscript.args コマンドを発行します。

SELECT id, name FROM customers, t1WHERE wsscript.args (customers.argfile, t1.bigdata) = 1

上の照会の結果、以下のようなコマンド行ができます。

C:¥perl¥bin¥perl myscript.pl -model -argle 1.0 -file C:¥temp¥f12345

すべてのパラメーターについてデフォルト値を使用する照会を実行するには、ニックネームに対して述部なしで照会を実行します。出力が過剰になるという問題を防ぐには、ニックネームに STREAMING オプションを含めます。

子ニックネーム

スクリプト・ラッパーは、スクリプトからの XML 結果セットを、親子関係を持つニックネームにマップします。子ニックネームからデータを取得するには、子ニックネームを、ルートにいたるまで親ニックネームに結合します。子ニックネームを参照する SELECT ステートメントは、主キー列および外部キー列を使用することで、その子ニックネームの親ニックネームと結合する必要があります。

以下の照会は、各カスタマーの各オーダーごとのカスタマー名を表示します。

SELECT c.name, o.amount FROM customers c, orders oWHERE c.cid=o.cidAND wsscript.args (customers.argfile, t1.bigdata) = 1AND wsscript.args (customers.argpos, VARCHAR(’test1’)) = 1AND wsscript.args (customers.argle, FLOAT(’3.5’)) = 1

第 16 章 スクリプト・データ・ソース 321

Page 332: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

customers ニックネームおよび orders ニックネームの間の親子関係を示すには、結合 c.cid=o.cid ステートメントを指定します。子ニックネームをそれ自身に結合すると、エラー・メッセージが戻されます。

スクリプト・ラッパー・パフォーマンスの最適化スクリプト・デーモンの位置は、照会のパフォーマンスに影響します。

ネットワーク通信のパフォーマンスを向上するには、スクリプト・デーモン用に別個のスクリプト・サーバーを使用します。フェデレーテッド・サーバーとスクリプト・サーバーを別々のサーバーに置きます。また、スクリプト・デーモンはスクリプト・サーバーに置くようにします。

322 フェデレーテッド・データ・ソース 構成ガイド

Page 333: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 17 章 Sybase データ・ソース

Sybase データ・ソースへのアクセスの構成フェデレーテッド・サーバーが Sybase データ・ソースにアクセスするように構成するには、アクセスしたいデータ・ソースとオブジェクトに関する情報をフェデレーテッド・サーバーに提供する必要があります。

始める前に

v Sybase Client SDK ソフトウェアが、フェデレーテッド・サーバーとして機能するサーバー上にインストールされている必要があります。Sybase クライアントをWindows 上にインストールする場合、「フル」または「カスタム」オプションを指定する必要があります。カスタム・オプションを指定する場合は、「XAInterface Library for ASE Distributed Transaction Manager」オプションを指定する必要があります。

v IBM WebSphere Federation Server が、フェデレーテッド・サーバーとして機能するサーバー上にインストールされている必要があります。

v フェデレーテッド・サーバーのセットアップをチェックします。

v フェデレーテッド・パラメーターをチェックして、フェデレーションが有効になっていることを確認します。

このタスクについて

DB2 コントロール・センターを使用するか、または DB2 コマンド行で SQL ステートメントを発行することによって、 Sybase データ・ソースに保管されているデータにアクセスするようフェデレーテッド・サーバーを構成することができます。DB2 コントロール・センターには、必須フェデレーテッド・オブジェクトを構成するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

Sybase データ・ソースへのアクセスを構成するには、次のようにします。

1. Sybase 環境変数を設定します。

2. ご使用のオペレーティング・システムに応じて以下の方法のいずれかを使用し、Sybase クライアント構成ファイルをセットアップしてテストします。

v Sybase クライアント構成ファイルをセットアップしてテストします (Linux、UNIX)。

v クライアント構成ファイルをセットアップしてテストします (Windows)。

3. ラッパーを登録します。

4. サーバー定義を登録します。

5. ユーザー・マッピングを作成します。

6. Sybase サーバーとの接続をテストします。

7. Sybase の表およびビューのニックネームを登録します。

© Copyright IBM Corp. 1998, 2006 323

Page 334: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Sybase 環境変数の設定Sybase 環境変数は、フェデレーテッド・サーバー上の db2dj.ini ファイル内で設定する必要があります。

制約事項

db2dj.ini ファイルに関する制約事項を確認してください。

このタスクについて

db2dj.ini ファイルには、フェデレーテッド・サーバーにインストールされているSybase Open Clientソフトウェアに関する構成情報が含まれています。

Sybase データ・ソースには、必須およびオプションの環境変数があります。

Sybase ラッパーをインストールする前に Sybase Open Client ソフトウェアをインストールした場合、必須の Sybase 環境変数は db2dj.ini ファイルで設定されています。

Sybase ラッパーをインストールする前に Sybase Open Client ソフトウェアをインストールしなかった場合、または、オプションの環境変数のいずれかを設定する場合は、このタスクの手順を使用して環境変数を設定する必要があります。

手順

Sybase 環境変数を設定するには、以下のようにします。

1. 次の方法のいずれかを使用します。

方法 説明

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

環境変数を自動で設定します。

WebSphere Federation Server インストール・ウィザードを実行します。ウィザードの指示に従ってください。重要: インストール・ウィザードを実行することによって、必須の環境変数を設定します。オプションの環境変数は手動で設定する必要があります。

324 フェデレーテッド・データ・ソース 構成ガイド

Page 335: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

方法 説明

環境変数を手動で設定します。

db2dj.ini ファイルを編集します。

db2dj.ini ファイルは、DB2 レジストリー変数 DB2_DJ_INI によって指定されたディレクトリー内にあります。 DB2_DJ_INI 変数が設定されていない場合、db2dj.ini ファイルは、オペレーティング・システムに応じて以下のデフォルト・パスのいずれかにあります。

v Linux および UNIX の場合: instancehome/sqllib/cfg/db2dj.ini

instancehome

インスタンス所有者のホーム・ディレクトリーです。

v Windows の場合: %DB2PATH%¥cfg¥db2dj.ini

%DB2PATH%

DB2 データベース・システムがインストールされているディレクトリー (たとえば、C:¥Program

Files¥IBM¥sqllib) です。

このファイルが存在しない場合、任意のテキスト・エディターを使用して、db2dj.ini という名前のファイルを作成できます。 db2dj.ini

ファイルでは、SYBASE 環境変数の値に完全修飾パスを指定する必要があります。そうしないと、エラーが発生します。たとえば、次のようにします。

SYBASE=/opt/sybaseSYBASE_OCS=OCS-12_5

2. Linux および UNIX の場合、フェデレーテッド・データベース・インスタンス上にある .profile ファイルを更新します。db2dj.ini ファイルに追加した Sybase

環境変数に関する情報を指定してください。Windows の場合、ファイルはSybase Open Client ソフトウェアのインストール時に更新されます。

.profile ファイルを更新するには、次のコマンドを発行します。

export SYBASE=sybase_home_directoryexport SYBASE_OCS=OCS-version_releaseexport PATH=$SYBASE/bin:$PATH

3. ホーム・ディレクトリーから、フェデレーテッド・データベース・インスタンス上にある .profile ファイルを実行します。

.profile ファイルを実行するには、次のコマンドを発行します。

. .profile

4. フェデレーテッド・サーバーに環境変数を設定するには、次のコマンドを使用してフェデレーテッド・データベース・インスタンスをリサイクルします。

db2stopdb2start

このタスクを完了したら、ラッパーを登録できます。

Sybase 環境変数Sybase データ・ソースには、必須およびオプションの環境変数があります。これらの変数は db2dj.ini ファイルに設定します。

第 17 章 Sybase データ・ソース 325

Page 336: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Sybase では以下の環境変数が有効です。

v SYBASE

v SYBASE_OCS

v SYBASE_CHARSET (オプション)

変数の説明SYBASE

Sybase Open Client ソフトウェアがインストールされているディレクトリー・パスを指定します。この環境変数の完全修飾パスを指定します。

たとえば、Sybase Open Client バージョン 12.5 がディレクトリー・パスD:¥djxclient¥sybase¥V125 にインストールされている場合、以下の SYBASE

環境変数を指定します。

SYBASE=D:¥djxclient¥sybase¥V125

Sybase Open Client バージョン 12.0 がディレクトリー・パスD:¥djxclient¥sybase¥V12 にインストールされている場合、以下の SYBASE

環境変数を指定します。

SYBASE=D:¥djxclient¥sybase¥V12

SYBASE_OCSインストールされている Sybase Open Client ソフトウェアのディレクトリー、バージョン、およびリリースを指定します。この環境変数を指定するときには、完全修飾パスを指定してはなりません。

SYBASE_OCS=OCS-version_release

たとえば、Sybase Open Client バージョン 12.0 がディレクトリー・パスD:¥djxclient¥sybase¥V12¥OCS-12_0 にインストールされている場合、以下の値を SYBASE_OCS 環境変数の値に指定します。

SYBASE_OCS=OCS-12_0

Sybase Open Client バージョン 12.5 がディレクトリー・パスD:¥djxclient¥sybase¥V125¥OCS-12_5 にインストールされている場合、以下の値を SYBASE_OCS 環境変数に指定します。

SYBASE_OCS=OCS-12_5

SYBASE_CHARSET使用する文字セットの名前を指定します。Sybase ラッパーは、使用すべき文字セットの判別に SYBASE_CHARSET 環境変数を使用します。$SYBASE\charsets ディレクトリーには、有効な文字セット名のリストがあります。

以下の例は、使用する文字セットが UTF8 の場合に SYBASE_CHARSET

を設定する方法を示しています。

SYBASE_CHARSET=utf8

SYBASE_CHARSET 環境変数を設定しない場合、ラッパーはフェデレーテッド・データベースのコード・ページで指定された文字セットと一致するSybase 文字セットを使用します。一致する Sybase 文字セットがない場合、ラッパーは iso_1 文字セットを使用します。

326 フェデレーテッド・データ・ソース 構成ガイド

Page 337: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Sybase クライアント構成ファイルのセットアップおよびテスト(Windows)

Sybase クライアント構成ファイルは、フェデレーテッド・サーバーにインストールされているクライアント・ライブラリーを使用して、Sybase データベースに接続するために使用されます。

始める前に

Sybase Client SDK ソフトウェアがフェデレーテッド・サーバー上にインストールされている必要があります。

このタスクについて

クライアント構成ファイルは、各 Sybase SQL Server および Adaptive Server

Enterprise インスタンスのロケーションと、データベース・サーバーへの接続のタイプ (プロトコル) を指定します。

Sybase に接続するために使用されるフェデレーテッド・サーバー内のそれぞれのインスタンスごとに、クライアント構成ファイルをセットアップする必要があります。

手順

Windows を実行するフェデレーテッド・サーバー上で Sybase クライアント構成ファイルをセットアップしてテストするには、次のようにします。

1. Sybase Open Client ソフトウェアに付属のユーティリティーを使用して、クライアント構成ファイルをセットアップします。このユーティリティーの使用法の詳細は、Sybase の資料を参照してください。

クライアント構成ファイルは、%SYBASE%\ini ディレクトリーに作成されます。ファイルの名前は sql.ini です。

2. Sybase Open クライアント・ソフトウェアが Sybase サーバーに接続できるか確認するために、接続をテストしてください。

接続をテストするには、該当の Sybase 照会ユーティリティー (isql など) を使用してください。

たとえば、Sybase Open Client ソフトウェアがディレクトリー・パスD:¥djxclient¥sybase¥V125 にインストールされている場合、コマンド・プロンプトから以下のコマンドを実行できます。

cd D:¥djxclient¥sybase¥V125¥OCS-12_5¥binisql -Ssybnode -Umary

あるいは、コマンド・プロンプトから以下のコマンドを実行することもできます。

%SYBASE%¥%SYBASE_OCS%¥bin¥isql -Ssybnode -Umary

interfaces ファイルへのパスの指定

第 17 章 Sybase データ・ソース 327

Page 338: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

: デフォルト・ファイルではない interfaces ファイルを使用する場合は、IFILE

サーバー・オプションを使用してパスを指定します。Sybase ラッパーは、interfaces ファイルを以下の場所で、以下に指定されている順序で検索します。

a. IFILE サーバー・オプション

b. %DB2PATH%¥interfaces

c. %SYBASE%¥ini¥sql.ini

このタスクを完了したら、環境変数を設定できます。

Sybase クライアント構成ファイルのセットアップおよびテスト (UNIX)Sybase クライアント構成ファイルは、フェデレーテッド・サーバーにインストールされているクライアント・ライブラリーを使用して、Sybase データベースに接続するために使用されます。

始める前に

Sybase Client SDK ソフトウェアがフェデレーテッド・サーバー上にインストールされている必要があります。

このタスクについて

クライアント構成ファイルは、各 Sybase SQL Server および Adaptive Server

Enterprise インスタンスのロケーションと、データベース・サーバーへの接続のタイプ (プロトコル) を指定します。

Sybase に接続するために使用されるフェデレーテッド・サーバー内のそれぞれのインスタンスごとに、クライアント構成ファイルをセットアップする必要があります。

手順

UNIX を実行するフェデレーテッド・サーバー上で Sybase クライアント構成ファイルをセットアップしてテストするには、次のようにします。

1. Sybase Open Client ソフトウェアに付属のユーティリティーを使用して、クライアント構成ファイルをセットアップします。

クライアント構成ファイルは、$SYBASE ディレクトリーに作成されます。ファイルのデフォルト名は interfaces です。このユーティリティーの使用法の詳細は、Sybase の資料を参照してください。

2. Sybase Open クライアント・ソフトウェアが Sybase サーバーに接続できるか確認するために、接続をテストしてください。

接続をテストするには、該当の Sybase 照会ユーティリティー (isql など) を使用してください。

たとえば、Sybase Open Client ソフトウェアがディレクトリー・パス/opt/djxclient/sybase/V125 にインストールされている場合、UNIX プロンプトから以下のコマンドを実行できます。

328 フェデレーテッド・データ・ソース 構成ガイド

Page 339: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

cd /opt/djxclient/sybase/V125/OCS-12_5isql -Ssybnode -Umary

あるいは、UNIX プロンプトから以下のコマンドを実行することもできます。

$SYBASE/$SYBASE_OCS/bin/isql -Ssybnode -Umary

interfaces ファイルへのパスの指定

: デフォルト・ファイルではない interfaces ファイルを使用する場合は、IFILE

サーバー・オプションを使用してパスを指定します。Sybase ラッパーは、interfaces ファイルを以下の場所で、以下に指定されている順序で検索します。

a. IFILE サーバー・オプション

b. sqllib/interfaces

c. $SYBASE/interfaces

このタスクを完了したら、環境変数を設定できます。

Sybase ラッパーの登録Sybase データ・ソースにアクセスするためには、ラッパーを登録する必要があります。フェデレーテッド・サーバーは、ラッパーを使用してデータ・ソースとの通信やデータの検索を行います。ラッパーは、ライブラリー・ファイルのセットとしてインプリメントされます。

手順

Sybase ラッパーを登録するには、次のようにします。

次の方法のいずれかを使用します。

方法 説明

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

第 17 章 Sybase データ・ソース 329

Page 340: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

方法 説明

CREATE WRAPPER

ステートメントを実行し、Sybase ラッパーのデフォルト名を指定します。

たとえば、次のようにします。

CREATE WRAPPER CTLIB

要確認: デフォルト名 CTLIB を使用してラッパーを登録する場合、フェデレーテッド・サーバーは、フェデレーテッド・サーバーが実行しているオペレーティング・システムに応じた適切な Sybase

ラッパー・ライブラリーを自動的に使用します。

デフォルトのラッパー名がフェデレーテッド・データベース内の既存のラッパー名と競合する場合、デフォルトのラッパー名を、指定の名前で置き換えることができます。デフォルト名とは別の名前を使用する場合は、CREATE WRAPPER ステートメントに LIBRARY

パラメーターを含める必要があります。

たとえば、AIX を使用するフェデレーテッド・サーバー上でsybase_wrapper という名前を使用してラッパーを登録するには、次のステートメントを実行します。

CREATE WRAPPER sybase_wrapperLIBRARY ’libdb2ctlib.a’;

指定するラッパー・ライブラリー・ファイルは、フェデレーテッド・サーバーのオペレーティング・システムによって異なります。

このタスクを完了したら、サーバー定義を登録できます。

Sybase ラッパー・ライブラリー・ファイルSybase ラッパー・ライブラリー・ファイルは、ラッパーのインストール時にフェデレーテッド・サーバーに追加されます。

Sybase ラッパーをインストールすると、デフォルトのディレクトリー・パスに 3

つのライブラリー・ファイルが追加されます。たとえば、フェデレーテッド・サーバーが AIX 上で実行されている場合、ディレクトリー・パスには、libdb2ctlib.a、libdb2ctlibF.a、および libdb2ctlibU.a のラッパー・ライブラリー・ファイルが追加されます。他のラッパー・ライブラリー・ファイルは Sybase ラッパーによって内部的に使用されます。

ラッパーの登録時にデフォルトのラッパー名を使用しない場合は、CREATE

WRAPPER ステートメントに LIBRARY パラメーターを含め、デフォルトのライブラリー・ファイル名を指定する必要があります。

以下の表に、デフォルトのディレクトリー・パスとデフォルトのラッパー・ライブラリー・ファイルの名前がリストされています。

表 81. Sybase ラッパー・ライブラリーのロケーションとファイル名

オペレーティング・システム

ディレクトリー・パス ライブラリー・ファイル名

AIX /usr/opt/install_path/lib32/

/usr/opt/install_path/lib64/

libdb2ctlib.a

330 フェデレーテッド・データ・ソース 構成ガイド

Page 341: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 81. Sybase ラッパー・ライブラリーのロケーションとファイル名 (続き)

オペレーティング・システム

ディレクトリー・パス ライブラリー・ファイル名

Linux /opt/IBM/db2/install_path/lib32

/opt/IBM/db2/install_path/lib64

libdb2ctlib.so

Solaris /opt/IBM/db2/install_path/lib32

/opt/IBM/db2/install_path/lib64

libdb2ctlib.so

Windows %DB2PATH%¥bin db2ctlib.dll

install_path は、UNIX または Linux 上で IBM WebSphere Federation Server がインストールされているディレクトリー・パスです。

Sybase データ・ソースのサーバー定義の登録アクセスするそれぞれの Sybase サーバーをフェデレーテッド・データベース内に登録する必要があります。

手順

Sybase データ・ソースのサーバー定義を登録するには、次のようにします。

1. Sybase interfaces ファイルでノード名を見つけます。以下の例は、UNIX またはWindows を実行するフェデレーテッド・サーバーでの interfaces ファイルの項目を示しています。

UNIX:sybase125query tcp ether anaconda 4100

Windows:[sybase125]query=TCP,anaconda,4100

v それぞれの例の最初の行は、たとえば sybase125 などのノード名です。

v 2 番目の行は、接続のタイプ、ホスト名、およびポート番号をリストしています。この例では、TCP はこれが TCP/IP 接続であることを示し、 anaconda がホスト名、4100 がポート番号です。.

2. サーバー定義を作成するには、次の方法のいずれかを使用します。

方法 説明

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

第 17 章 Sybase データ・ソース 331

Page 342: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

方法 説明

CREATE SERVER

ステートメントを発行します。

たとえば、次のようにします。

CREATE SERVER server_definition_name TYPE SYBASEVERSION Sybase_client_version_number WRAPPER wrapper_nameOPTIONS (NODE ’node_name’, DBNAME ’database_name’);

’node_name’ および ’database_name’ 変数は CREATE SERVER ステートメントではオプションとなっていますが、これらのオプションは Sybase データ・ソースの場合は必要です。重要: Sybase クライアント構成ファイルをセットアップした際にsql.ini ファイルの名前を interfaces に変更しなかった場合は、サーバー定義の登録時に IFILE サーバー・オプションを含める必要があります。

サーバー定義を登録した後、サーバー・オプションを追加またはドロップするには、ALTER SERVER ステートメントを使用します。

このタスクを完了したら、ユーザー・マッピングを作成できます。

Sybase データ・ソースのユーザー・マッピングの作成Sybase サーバーにアクセスする場合、フェデレーテッド・サーバーは、データ・ソースに対して有効なユーザー ID とパスワードを使用して、 Sybase サーバーへの接続を確立します。それぞれのフェデレーテッド・サーバーのユーザー ID とパスワード、および対応するデータ・ソースのユーザー ID とパスワードの間の関係付け (ユーザー・マッピング) を定義しなければなりません。

このタスクについて

フェデレーテッド・システムにアクセスする、各ユーザー ID のユーザー・マッピングを作成して、Sybase データ・ソースへの分散要求を送信します。

手順

Sybase データ・ソースのユーザー・マッピングを作成します。

CREATE USER MAPPING ステートメントを発行します。

たとえば、次のようにします。

CREATE USER MAPPING FOR local_userID SERVER server_definition_nameOPTIONS (REMOTE_AUTHID ’remote_userID’, REMOTE_PASSWORD ’remote_password’);

REMOTE_AUTHID および REMOTE_PASSWORD 変数は CREATE USER

MAPPING ステートメントではオプションとなっていますが、Sybase データ・ソースにアクセスするためにはこれらのオプションが必要です。

このタスクを完了したら、Sybase サーバーへの接続をテストします。

332 フェデレーテッド・データ・ソース 構成ガイド

Page 343: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Sybase サーバーへの接続のテストSybase データ・ソース・サーバーへの接続をテストして、Sybase データ・ソースにアクセスするようにフェデレーテッド・サーバーが適切に構成されているかどうかを判別します。

このタスクについて

Sybase サーバーへの接続のテストは、定義したサーバー定義とユーザー・マッピングを使用して行うことができます。

手順

Sybase サーバーへの接続をテストするには、次のようにします。

パススルー・セッションを開き、Sybase システム表に対して SELECT ステートメントを発行します。 SELECT ステートメントがカウントを戻す場合、サーバー定義およびユーザー・マッピングは適切にセットアップされています。

たとえば、次のようにします。

SET PASSTHRU server_definition_nameSELECT count(*) FROM dbo.sysobjectsSET PASSTHRU RESET

SELECT ステートメントがエラーを戻す場合には、接続エラーのトラブルシューティングを行ってください。

このタスクを完了したら、Sybase の表およびビューのニックネームを登録できます。

Sybase 表およびビューのニックネームの登録登録するそれぞれの Sybase サーバー定義で、アクセスしたいそれぞれの表またはビューごとにニックネームを登録する必要があります。 Sybase サーバーを照会するときには、データ・ソース・オブジェクトの名前ではなく、これらのニックネームを使用します。

始める前に

ニックネームを登録する前に、Sybase データ・ソースの統計を更新します。フェデレーテッド・データベースは、データ・ソースのカタログ統計に基づいて、照会処理を最適化します。 DB2 RUNSTATS コマンドに相当するデータ・ソースコマンドを使用して、データ・ソースの統計を更新します。

手順

Sybase の表またはビューのニックネームを登録するには、次の方法のいずれかを使用します。

第 17 章 Sybase データ・ソース 333

Page 344: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

方法 説明

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

CREATE

NICKNAME ステートメントを発行します。ニックネームの長さは128 文字までです。

たとえば、次のようにします。

CREATE NICKNAME nickname

FOR server_definition_name."remote_schema"."remote.table";

ニックネームを作成すると、フェデレーテッド・サーバーはニックネームを使用してデータ・ソース・カタログを照会します。この照会は、データベース・ソースの表またはビューへの接続をテストします。接続ができない場合、エラー・メッセージが出ます。

ニックネームを作成したい Sybase の表またはビューごとに、このステップを繰り返します。

Sybase ラッパー構成のトラブルシューティング

Sybase ラッパー・ライブラリーのロード時の問題Sybase ラッパーの作成時に、Sybase Open Client ソフトウェアのインストールに関連したエラーが発生して、Sybase ラッパー・ライブラリーのロードができない場合があります。

症状

Sybase ラッパーの作成時に、以下の SQL エラーが出されます。

SQL10013N 指定されたライブラリー "db2ctlibF.dll" がロードできませんでした。

原因

Sybase XA Interface Library for ASE Distributed Transaction Manager が Sybase

Open Client ソフトウェアと共に Windows システムにインストールされていませんでした。

問題の解決方法

Sybase Open Client ソフトウェアを Windows に再インストールし、「フル」または「カスタム」インストール・オプションを選択します。「カスタム」 インストール・オプションを選択する場合は、「XA Interface Library for ASE DistributedTransaction Manager」オプションを指定します。

欠落している SYBASE 環境変数db2dj.ini ファイルが正しいディレクトリーにないか、欠落している場合は、SQL エラーが発生します。

334 フェデレーテッド・データ・ソース 構成ガイド

Page 345: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

症状

以下の SQL エラーが出されます。

SQL1822N 予期しないエラー・コード "" をデータ・ソース "server name" から受け取りました。関連したテキストとトークンは "SYBASE variable not set" です。

原因

db2dj.ini ファイルが見つからなかったか、そのファイルに SYBASE 環境変数が含まれていませんでした。db2dj.ini ファイルは、DB2 レジストリー変数 DB2_DJ_INI

によって指定されたディレクトリー内にあります。 DB2_DJ_INI 変数が設定されていない場合、db2dj.ini ファイルは、オペレーティング・システムに応じて以下のデフォルト・パスのいずれかにあります。

v UNIX の場合: instancehome/sqllib/cfg/db2dj.ini

instancehome

インスタンス所有者のホーム・ディレクトリーです。

v Windows の場合: %DB2PATH%¥cfg¥db2dj.ini

%DB2PATH%DB2 データベース・システムがインストールされているディレクトリー(たとえば、C:¥Program Files¥IBM¥sqllib) です。

問題の解決方法

必要な Sybase 環境変数を含む db2dj.ini ファイルを作成し、使用しているオペレーティング・システムに応じた正しいディレクトリーにそのファイルを置きます。db2dj.ini ファイルを作成するには、テキスト・エディターを使用できます。

欠落している Sybase ノード名Sybase クライアント構成ファイルが適切に構成されていない場合、フェデレーテッド・システムは Sybase ノード名を見つけることができない可能性があります。

症状

以下の SQL エラーが出されます。

SQL1097N ノード名がノード・ディレクトリーに見つかりません。

原因

Sybase ノード名が見つかりませんでした。

問題の解決方法

この問題を解決するには、以下のようにします。

v IFILE サーバー・オプションが指定された場合、ノード名が、オプションによって指定されたファイルで宣言されていることを確認します。

v sqllib ディレクトリーに interfaces ファイルが存在する場合、ノード名がそのファイルで宣言されていることを確認します。

第 17 章 Sybase データ・ソース 335

Page 346: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v IFILE サーバー・オプションが指定されていない場合で、sqllib ディレクトリーにinterfaces ファイルが存在しない場合は、ノード名が %SYBASE%¥ini¥sql.ini ファイル (Windows の場合) または $SYBASE/interfaces ファイル (UNIX の場合) で宣言されていることを確認します。

CREATE SERVER ステートメント - Sybase ラッパーの例Sybase ラッパーにサーバー定義を登録するには、CREATE SERVER ステートメントを使用します。このトピックでは、必須パラメーターを使用する完全指定の例と、追加のサーバー・オプションを使用する例を提供します。

次に、CREATE SERVER ステートメントを実行して Sybase ラッパーのサーバー定義を登録する方法の例を示します。

CREATE SERVER SYBSERVER TYPE SYBASE VERSION 12.0 WRAPPER CTLIBOPTIONS (NODE ’sybnode’, DBNAME ’sybdb’);

SYBSERVER

Sybase サーバーに割り当てる名前。重複するサーバー定義名は使用できません。

TYPE SYBASE

アクセスを構成するデータ・ソース・サーバーのタイプを指定します。CTLIB ラッパーの場合、サーバー・タイプは SYBASE でなければなりません。

VERSION 12.0

フェデレーテッド接続に使用されている Sybase データベース・クライアント・ソフトウェアのバージョン。

WRAPPER CTLIB

CREATE WRAPPER ステートメントで指定したラッパー名。

NODE ’sybnode’

Sybase サーバーが存在するノードの名前。ノード名は、interfaces ファイルにあります。この値は大文字小文字の区別があります。

ノード名は CREATE SERVER ステートメントではオプションとなっていますが、Sybase データ・ソースの場合は必要です。

DBNAME ’sybdb’

アクセスしたい Sybase データベースの名前。この値は大文字小文字の区別があります。

データベース名は CREATE SERVER ステートメントではオプションとなっていますが、 Sybase データ・ソースの場合は必要です。

サーバー・オプション

サーバー定義の作成時に、CREATE SERVER ステートメントに追加のサーバー・オプションを指定することができます。サーバー・オプションには、汎用のサーバー・オプションと Sybase に特有のサーバー・オプションを指定できます。

336 フェデレーテッド・データ・ソース 構成ガイド

Page 347: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

IFILE サーバー・オプション

デフォルトの interfaces ファイルを使用しない場合、interfaces ファイルを作成し、CREATE SERVER ステートメントに IFILE サーバー・オプションを含める必要があります。デフォルトの interfaces ファイルは、Linux および UNIX の場合は$SYBASE/interfaces、Windows の場合は %SYBASE%¥ini¥sql.ini です。

IFILE サーバー・オプションに指定する値は、Sybase Open Client sql.ini ファイルの絶対パスおよびファイル名です。

次に、Windows を実行するフェデレーテッド・サーバー上でサーバー定義を登録する場合に、IFILE サーバー・オプションを使用する方法の例を示します。

CREATE SERVER SYBSERVER TYPE SYBASE VERSION 12.0 WRAPPER CTLIBOPTIONS (NODE ’sybnode’, DBNAME ’sybdb’,

IFILE ’C:\Sybase\ini\sql.ini’);

TIMEOUT サーバー・オプション

TIMEOUT サーバー・オプションは、ラッパーが Sybase サーバーからの応答を待つ秒数を設定します。TIMEOUT オプションを使用して、トランザクションのデッドロックを避けてください。

次に、サーバー定義を登録する場合に、TIMEOUT サーバー・オプションを指定する方法の例を示します。

CREATE SERVER SYBSERVER TYPE SYBASE VERSION 12.0 WRAPPER CTLIBOPTIONS (NODE ’sybnode’, DBNAME ’sybdb’,

TIMEOUT ’60’);

その他の Sybase 特有のサーバー・オプションは、以下のとおりです。

v LOGIN_TIMEOUT

v PACKET_SIZE

CREATE USER MAPPING ステートメント - Sybase ラッパーの例CREATE USER MAPPING ステートメントを使用して、フェデレーテッド・サーバーのユーザー ID を Sybase サーバーのユーザー ID およびパスワードにマップしてください。このトピックでは、必須パラメーターを使用する完全指定の例と、CREATE USER MAPPING ステートメントで DB2 特殊レジスター USER を使用する方法を示す例を提供します。

以下に示すのは、フェデレーテッド・サーバーのユーザー ID を Sybase サーバーのユーザー ID およびパスワードにマップする方法を示す例です。

CREATE USER MAPPING FOR maria SERVER SYBSERVEROPTIONS (REMOTE_AUTHID ’mary’, REMOTE_PASSWORD ’day2night’);

maria Sybase サーバーで定義されたユーザー ID にマップするローカルのユーザー ID を指定します。

SERVER SYBSERVER

Sybase サーバーの CREATE SERVER ステートメントで登録したサーバー定義名を指定します。

第 17 章 Sybase データ・ソース 337

Page 348: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

REMOTE_AUTHID ’mary’

maria をマップする Sybase サーバー側のユーザー ID を指定します。CREATE SERVER ステートメントで FOLD_ID サーバー・オプションを’U’ または ’L’ にしている場合を除き、この値の大文字小文字の区別を保持するように単一引用符を使用してください。

リモート・ユーザー ID は CREATE SERVER ステートメントではオプションとなっていますが、 Sybase データ・ソースの場合は必要です。

REMOTE_PASSWORD ’day2night’

’mary’ に関連するパスワードを指定します。 CREATE SERVER ステートメントで FOLD_PW サーバー・オプションを ’U’ または ’L’ にしている場合を除き、この値の大文字小文字の区別を保持するように単一引用符を使用してください。

リモート・パスワードは CREATE SERVER ステートメントではオプションとなっていますが、 Sybase データ・ソースの場合は必要です。

DB2 特殊レジスター USER

DB2 特殊レジスター USER を使用して、CREATE USER MAPPING ステートメントを実行する人の許可 ID を、REMOTE_AUTHID ユーザー・オプションに指定されるデータ・ソースの許可 ID にマップすることができます。

以下に、特殊レジスター USER を含む CREATE USER MAPPING ステートメントの例を示します。

CREATE USER MAPPING FOR USER SERVER SYBSERVEROPTIONS (REMOTE_AUTHID ’mary’, REMOTE_PASSWORD ’day2night’);

CREATE NICKNAME ステートメント - Sybase ラッパーの例CREATE NICKNAME ステートメントを使用して、アクセスしたい Sybase の表またはビューのニックネームを登録します。このトピックには、必須パラメーターを使用する完全指定の例が含まれています。

次に、CREATE NICKNAME ステートメントを使用して Sybase の表またはビューのニックネームを登録する方法の例を示します。

CREATE NICKNAME SYBSALES FOR SYBSERVER."vinnie"."europe";

SYBSALES

Sybase の表またはビューを識別するために使用する固有なニックネームです。

重要: ニックネームは、2 つの部分 (スキーマとニックネーム) からなる名前です。ニックネームの登録時にスキーマを省略すると、そのニックネームのスキーマはニックネームを登録するユーザーの許可 ID になります。

SYBSERVER.″vinnie″.″europe″リモート・オブジェクトを表す、3 つの部分からなる ID。

v SYBSERVER は、CREATE SERVER ステートメントで Sybase データベース・サーバーに割り当てたサーバー定義名です。

338 フェデレーテッド・データ・ソース 構成ガイド

Page 349: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v vinnie は、表またはビューが属する所有者のユーザー ID です。

v europe は、アクセスしたいリモートの表またはビューの名前です。

フェデレーテッド・サーバーは、引用符で名前を囲まない限り、 Sybase スキーマおよび表の名前を大文字に変換します。

第 17 章 Sybase データ・ソース 339

Page 350: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

340 フェデレーテッド・データ・ソース 構成ガイド

Page 351: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 18 章 表構造ファイル・データ・ソース

表構造ファイル・データ・ソースへのアクセスの構成フェデレーテッド・システムを使用すると、表構造ファイルにあるデータと他のソースからの情報を統合させることができます。

手順

フェデレーテッド・サーバーが表構造ファイルのデータ・ソースにアクセスするように構成するには、アクセスするデータ・ソースとオブジェクトの情報をフェデレーテッド・サーバーに渡す必要があります。フェデレーテッド・サーバーを構成したら、照会を作成し、カスタム関数を使用して、表構造ファイル・データ・ソースにアクセスすることができます。

表構造ファイル - 概要表構造ファイルとは、情報に関する一連のレコードまたは行から構成される正規の構造を持つファイルのことです。それぞれのレコードには、同一数のフィールドが含まれます。フィールド内のデータは、コンマなどの区切り文字によって区切られています。

以下の例は、DRUGDATA1.TXT というファイルの内容を示しています。このファイルは、3 つのレコードから構成されており、それぞれのレコードにコンマによって区切られている 3 つのフィールドがあります。

234,DrugnameA,Manufacturer1332,DrugnameB,Manufacturer2333,DrugnameC,Manufacturer2

1 番目のフィールドは薬品 (drug) の固有の ID 番号です。 2 番目のフィールドは薬品 (drug) の名前です。 3 番目のフィールドは薬品の製造会社 (manufacturer) の名前です。

フィールド区切り文字には、複数の文字分の長さが可能です。単一引用符は区切り文字としては使用できません。区切り文字は、ファイル全体で一貫性がなければなりません。 NULL 値は 2 つの区切り文字が続くことによって表されます。 NULL

フィールドが行の末尾にある場合、区切り文字に行終止符を続けることによって表されます。列区切り文字は、列の有効なデータとして存在することはできません。

たとえば、次のようにします。

234,DrugnameA,Manufacturer1332,DrugnameB,Manufacturer2333,DrugnameC,Manufacturer2356,,Manufacturer1

© Copyright IBM Corp. 1998, 2006 341

Page 352: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表構造ファイルの属性表構造ファイル内のレコード (行) は、ソートするか未ソートのままにすることができます。表構造ファイルのラッパーでは、ソートされていないファイルより、ソートされたファイルの方がより効率的にファイルを検索できます。

表構造ファイル内のデータをソートする場合、ソートは、キー列で昇順にする必要があります。ニックネーム用の列を定義するときには、キー列の SORTED オプションを Y に設定してください。そのように設定しないと、ラッパーは表構造ファイル内のデータを未ソート・データとして処理します。

ソート・ファイル

DRUGDATA1.TXT にはソートされたレコードが入っています。このファイルは、最初のフィールドである薬品の固有 ID 番号によってソートされています。このフィールドは、それぞれの薬品ごとに固有であるため、主キーとなっています。ソートされたファイルは必ず昇順でソートされていなければなりません。

234,DrugnameA,Manufacturer1332,DrugnameB,Manufacturer2333,DrugnameC,Manufacturer2

ソートされていないファイル

DRUGDATA2.TXT には未ソートのレコードが入っています。ファイルにリストされているレコードの順番に規則性はありません。

556,DrugnameB,Manufacturer2234,DrugnameA,Manufacturer1721,DrugnameC,Manufacturer2

表構造ファイル・ラッパー表構造ファイル内のデータは、他の表構造ファイルのデータ、リレーショナル・データ、非リレーショナル・データ、または構造化されていないデータと結合することができます。

ラッパーを使用すると、フェデレーテッド・サーバーは、表構造ファイル内のデータを照会する SQL ステートメントを、データが通常のリレーショナル表またはビューに含まれている場合と同じように処理することができます。

以下の図は、フェデレーテッド・サーバーが表構造ファイルを処理する方法を示しています。

342 フェデレーテッド・データ・ソース 構成ガイド

Page 353: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

たとえば、表構造ファイル DRUGDATA2.TXT が研究所のコンピューターにあるとします。ファイルのデータは次のとおりです。

556,DrugnameB,Manufacturer1234,DrugnameA,Manufacturer2721,DrugnameC,Manufacturer2

使用している他のデータ・ソースの他の表を照会して、このデータと突き合わせることを試みるのは面倒です。

DRUGDATA2.TXT ファイルをフェデレーテッド・サーバーに登録した後、表構造ファイル・ラッパーは、データがリレーショナル表に入れられている場合と同じようにこのファイル内のデータにアクセスすることができます。

たとえば、以下に示す照会を実行するとします。

SELECT * FROM DRUGDATA2 ORDER BY DCODE

この照会は以下のような結果を生成します。

DCODE DRUG MANUFACTURER

234 DrugnameA Manufacturer2

556 DrugnameB Manufacturer1

721 DrugnameC Manufacturer2

DRUGDATA2.TXT ファイル内のデータを、他のリレーショナルおよび非リレーショナル・データ・ソース内のデータと結合し、それらすべてのデータを一緒に分析することができます。

図 19. 表構造ファイル・ラッパーがどのように機能するか

第 18 章 表構造ファイル・データ・ソース 343

Page 354: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

フェデレーテッド・サーバーへの表構造ファイル・データ・ソースの追加フェデレーテッド・サーバーが表構造ファイルのデータ・ソースにアクセスするように構成するには、アクセスするデータ・ソースとオブジェクトの情報をフェデレーテッド・サーバーに渡す必要があります。

始める前に

v IBM WebSphere Federation Server が、フェデレーテッド・サーバーとして機能するサーバー上にインストールされていなければなりません。

v フェデレーテッド・データベースがフェデレーテッド・サーバー上になければなりません。

このタスクについて

コントロール・センターを使用するか、またはコマンド行で SQL ステートメントを発行することによって、表構造ファイル・データ・ソースに保管されているデータにアクセスするようフェデレーテッド・サーバーを構成することができます。コントロール・センターには、必須フェデレーテッド・オブジェクトを構成するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

表構造ファイル・データ・ソースをフェデレーテッド・サーバーに追加するには、以下のようにします。

1. 表構造ファイル・ラッパーを登録します。

2. 表構造サーバー定義を登録します。

3. 表構造ファイルのニックネームを登録します。

表構造ファイル・ラッパーの登録表構造ファイルのデータ・ソースにアクセスするには、ラッパーを登録する必要があります。ラッパーは、データ・ソースとの通信やデータの検索のためにフェデレーテッド・サーバーによって使用されます。ラッパーは、ライブラリー・ファイルのセットとしてインプリメントされます。

このタスクについて

ラッパーは、コントロール・センターまたはコマンド行を使用することによって登録できます。コントロール・センターには、ラッパーを登録するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

表構造ファイル・ラッパーを登録するには、次のようにします。

表構造ファイル・ラッパーを登録するために使用する方法を以下の中から選択します。

344 フェデレーテッド・データ・ソース 構成ガイド

Page 355: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

方法 手順

コントロール・センターの使用 「フェデレーテッド・オブジェクト」ウィザードを開始します。「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

コマンド行の使用 CREATE WRAPPER ステートメントを発行します。

CREATE WRAPPER wrapper_nameLIBRARY library_name;

たとえば、AIX オペレーティング・システムを使用するフェデレーテッド・サーバー上でflat_files_wrapper という名前を使用してラッパーを登録するには、次のステートメントを発行します。

CREATE WRAPPER flat_files_wrapperLIBRARY ’libdb2lsfile.a’;

LIBRARY パラメーターを CREATE WRAPPER ステートメント内に指定する必要があります。指定するラッパー・ライブラリー・ファイルの名前は、フェデレーテッド・サーバーのオペレーティング・システムによって異なります。CREATEWRAPPER ラッパー・ステートメントで指定する正しいライブラリー名については、『表構造ファイル・ラッパーのライブラリー・ファイル』のリストを参照してください。

表構造ファイル・ラッパー・ライブラリー・ファイル表構造ファイル・ラッパー・ライブラリー・ファイルは、IBM WebSphere

Federation Server のインストール時にフェデレーテッド・サーバーに追加されます。

IBM WebSphere Federation Server をインストールすると、デフォルトのディレクトリー・パスに 3 つのライブラリー・ファイルが追加されます。たとえば、フェデレーテッド・サーバーが AIX 上で実行されている場合、ディレクトリー・パスには、libdb2lsfile.a、 libdb2lsfileF.a、および libdb2lsfileU.a が追加されます。デフォルトのラッパー・ライブラリー・ファイルは libdb2lsfile.a です。他のラッパー・ライブラリー・ファイルは特定のラッパー・オプションで使用されます。

CREATE WRAPPER ステートメントに LIBRARY パラメーターを含め、デフォルトのラッパー・ライブラリー・ファイルの名前を指定する必要があります。

以下の表に、デフォルトのディレクトリー・パスとデフォルトのラッパー・ライブラリー・ファイルの名前がリストされています。

表 82. 表構造ファイル・クライアント・ライブラリーのロケーションとファイル名

オペレーティング・システム

ディレクトリー・パス ラッパー・ライブラリー・ファイル名

AIX /usr/opt/<install_path>/lib32/

/usr/opt/<install_path>/lib64/

libdb2lsfile.a

第 18 章 表構造ファイル・データ・ソース 345

Page 356: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 82. 表構造ファイル・クライアント・ライブラリーのロケーションとファイル名 (続き)

オペレーティング・システム

ディレクトリー・パス ラッパー・ライブラリー・ファイル名

Linux /opt/IBM/db2/<install_path>/lib32

/opt/IBM/db2/<install_path>/lib64

libdb2lsfile.so

Solaris /opt/IBM/db2/<install_path>/lib32

/opt/IBM/db2/<install_path>/lib64

libdb2lsfile.so

Windows %DB2PATH%¥bin db2lsfile.dll

<install_path> は、IBM WebSphere Federation Server が UNIX または Linux でインストールされるディレクトリー・パスです。

%DB2PATH% は IBM WebSphere Federation Server が Windows でインストールされるディレクトリー・パスを指定するのに使用する環境変数です。デフォルトのWindows ディレクトリー・パスは、C:¥Program Files¥IBM¥SQLLIB です。

表構造ファイルのサーバー定義の登録フェデレーテッド・オブジェクトの階層では、ニックネームにより識別される表構造ファイルが特定のサーバー定義オブジェクトに関連付けられている必要があります。そのため、表構造ファイルの場合は、サーバー定義を登録する必要があります。

このタスクについて

サーバー定義は、コントロール・センターまたはコマンド行を使用することによって登録できます。コントロール・センターには、サーバー定義を登録するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

表構造ファイル・データ・ソースのサーバー定義を登録するには、次のようにします。

サーバー定義を登録するために使用する方法を以下の中から選択します。

方法 手順

コントロール・センターの使用 「フェデレーテッド・オブジェクト」ウィザードを開始します。「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

コマンド行の使用 CREATE SERVER ステートメントを発行します。たとえば、次のようにします。

CREATE SERVER server_definition_nameWRAPPER wrapper_name;

346 フェデレーテッド・データ・ソース 構成ガイド

Page 357: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CREATE SERVER ステートンメント - 表構造ファイル・ラッパーの例表構造ファイル・ラッパーにサーバー定義を登録するには、CREATE SERVER ステートメントを使用します。この例は、必須パラメーターを示しています。

以下の例は、生化学データを含むテキスト・ファイルについてサーバー定義biochem_lab を登録する方法を示します。発行する CREATE SERVER ステートメントは次のとおりです。

CREATE SERVER biochem_lab WRAPPER flat_files_wrapper;

biochem_lab

表構造サーバー定義に割り当てる名前。重複するサーバー定義名は使用できません。

WRAPPER flat_files_wrapper

CREATE WRAPPER ステートメントで指定したラッパー名。

表構造ファイルのニックネームの登録アクセスする表構造ファイルごとに、ニックネームを登録しなければなりません。表構造ファイル・データ・ソースを照会するときには、ファイルの名前ではなく、これらのニックネームを使用します。

制約事項

非数値フィールドがその列タイプに対して長すぎる場合、超過したデータは切り捨てられます。

ファイルの 10 進数フィールドで、基数文字の後ろに許可されているよりも多くの桁数がある場合、超過したデータは切り捨てられます。例えば数値が 10.123456 の場合、基数文字の後に許可される桁数が 3 桁であることがデータ・タイプで指定されていれば、数値は切り捨てられて 10.123 になります。基数文字は、LC_NUMERIC 各国語サポート区分の RADIXCHAR 項目によって区切られます。列データ・タイプの scale パラメーターは、基数文字の後に許可される桁数を指定します。

Windows 2003 を実行するフェデレーテッド・サーバーから、共有ドライブ上にある表構造ファイル・データ・ソースにアクセスしようとすると、照会が失敗することがあります。これは Windows 2003 の制限です。この問題を回避するには、CREATE NICKNAME ステートメントの FILE_PATH オプションで絶対パスを指定します。

1 行のデータの最大長は 10 MB (10485760 バイト) です。

このタスクについて

表構造ファイルのニックネームを作成すると、ファイルのデータ内の情報がリレーショナル表にマップされます。

表構造ファイルのニックネームは、次の 2 とおりの方法のいずれかで作成します。

v ニックネームを作成するときに、FILE_PATH ニックネーム・オプションを使用して表構造ファイルを指定する。

第 18 章 表構造ファイル・データ・ソース 347

Page 358: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v データ・ソースを照会するときに、DOCUMENT ニックネーム列オプションを使用して表構造ファイルを指定する。このオプションが使用される場合、ニックネームは、スキーマがニックネーム定義に一致する任意の表構造ファイルからのデータを表すために使用できます。

ニックネームに指定する名前の長さは 128 文字までです。

ニックネームは、コントロール・センターまたはコマンド行を使用することによって登録できます。コントロール・センターには、ニックネームを登録するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

表構造ファイルにニックネームを登録するには、次のようにします。

ニックネームを登録するために使用する方法を以下の中から選択します。

方法 手順

コントロール・センターの使用 「フェデレーテッド・オブジェクト」ウィザードを開始します。「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

コマンド行の使用 CREATE NICKNAME ステートメントを発行します。たとえば、次のようにします。

CREATE NICKNAME nickname(column_name data_type,column_name data_type,column_name data_type)FOR SERVER server_definition_nameOPTIONS (nickname_options);

ニックネームを作成する表構造ファイルごとに、このステップを繰り返します。

CREATE NICKNAME ステートメント - 表構造ファイル・ラッパーの例CREATE NICKNAME ステートメントを使用して、アクセスする表構造ファイルのニックネームを登録します。

表構造ファイルのニックネームを登録するときは、FILE_PATH ニックネーム・オプションまたは DOCUMENT ニックネーム列オプションを指定する必要があります。

FILE_PATH ニックネーム・オプションを使ったニックネームの作成

次に、表構造ファイル DRUGDATA1.TXT に関する CREATE NICKNAME ステートメントの例を示します。

CREATE NICKNAME DRUGDATA1(Dcode INTEGER NOT NULL,Drug CHAR(20),Manufacturer CHAR(20)

348 フェデレーテッド・データ・ソース 構成ガイド

Page 359: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

)FOR SERVER biochem_labOPTIONS(FILE_PATH ’/usr/pat/DRUGDATA1.TXT’)

DRUGDATA1

表構造ファイルを識別するために使用する固有なニックネームです。

ニックネームは、2 つの部分 (スキーマとニックネーム) からなる名前です。ニックネームの登録時にスキーマを省略すると、そのニックネームのスキーマはニックネームを登録するユーザーの許可 ID になります。

Dcode INTEGER NOT NULL

薬品コードを含む表構造ファイル列の名前とデータ・タイプ。

Drug CHAR(20)

薬品の名前を含む表構造ファイル列の名前とデータ・タイプ。

Manufacturer CHAR(20)

薬品製造会社の名前を含む表構造ファイル列の名前とデータ・タイプ。

FOR SERVER biochem_lab

CREATE SERVER ステートメントで表構造ファイル・サーバー定義に割り当てた名前。

FILE_PATH ’/usr/pat/DRUGDATA1.TXT’

アクセスするデータを含む表構造ファイルの完全修飾ディレクトリー・パスとファイル名を指定します。パスは、単一引用符で囲む必要があります。

DOCUMENT ニックネーム列オプションを使ったニックネームの作成

DOCUMENT ニックネーム列オプションを使用してニックネームを作成するときは、そのニックネームを使用する照会を実行する際に表構造ファイルの名前が提供されるように指定します。ニックネームを登録するときは、単一の列に対してのみDOCUMENT ニックネーム列オプションを指定できます。 DOCUMENT オプションに関連付けられる列は VARCHAR または CHAR データ・タイプでなければなりません。ニックネームを使用する照会を実行するときには、ファイルの絶対パスを含める必要があります。

以下に、DOCUMENT ニックネーム列オプションを指定する CREATE NICKNAME

ステートメントの例を示します。

CREATE NICKNAME customers(doc VARCHAR(100) OPTIONS(DOCUMENT ’FILE’),name VARCHAR(16),address VARCHAR(30),id VARCHAR(16))FOR SERVER biochem_lab

customers

ニックネームのためのユニーク ID

ニックネームは、2 つの部分 (スキーマとニックネーム) からなる名前です。ニックネームの登録時にスキーマを省略すると、そのニックネームのスキーマはニックネームを登録するユーザーの許可 ID になります。

doc VARCHAR(100) OPTIONS(DOCUMENT ’FILE’)アクセスしたい表構造ファイルの名前を特定するために使用される列のデータ・タイプと名前。照会を実行するときにファイル名を指定します。

第 18 章 表構造ファイル・データ・ソース 349

Page 360: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

name VARCHAR(16)

顧客の名前を含む表構造ファイル列に対する名前とデータ・タイプ

address VARCHAR(30)

顧客の住所を含む表構造ファイル列に対する名前とデータ・タイプ

id VARCHAR(16)

FOR SERVER biochem_lab

CREATE SERVER ステートメントで表構造ファイル・サーバー定義に割り当てた名前。

FILE_PATH ’/usr/pat/DRUGDATA1.TXT’

アクセスするデータを含む表構造ファイルの完全修飾ディレクトリー・パスとファイル名を指定します。 CREATE NICKNAME ステートメントでは、FILE_PATH または DOCUMENT のいずれかのニックネーム・オプションを指定する必要があります。パスは、単一引用符で囲む必要があります。

オプション・パラメーターを使ったニックネームの作成

次に、表構造ファイル DRUGDATA1.TXT に関する CREATE NICKNAME ステートメントの例を示します。

CREATE NICKNAME DRUGDATA1(Dcode INTEGER NOT NULL,Drug CHAR(20),Manufacturer CHAR(20))FOR SERVER biochem_labOPTIONS(FILE_PATH ’/usr/pat/DRUGDATA1.TXT’,COLUMN_DELIMITER ’,’,SORTED ’Y’,KEY_COLUMN ’DCODE’,VALIDATE_DATA_FILE ’Y’)

DRUGDATA1

表構造ファイルを識別するために使用する固有なニックネームです。

ニックネームは、2 つの部分 (スキーマとニックネーム) からなる名前です。ニックネームの登録時にスキーマを省略すると、そのニックネームのスキーマはニックネームを登録するユーザーの許可 ID になります。

Dcode INTEGER NOT NULL

薬品コードを含む表構造ファイル列の名前とデータ・タイプ。

Drug CHAR(20)

薬品の名前を含む表構造ファイル列の名前とデータ・タイプ。

Manufacturer CHAR(20)

薬品製造会社の名前を含む表構造ファイル列の名前とデータ・タイプ。

FOR SERVER biochem_lab

CREATE SERVER ステートメントで表構造ファイル・サーバー定義に割り当てた名前。

FILE_PATH ’/usr/pat/DRUGDATA1.TXT’

アクセスするデータを含む表構造ファイルの完全修飾ディレクトリー・パスとファイル名を指定します。 CREATE NICKNAME ステートメントでは、

350 フェデレーテッド・データ・ソース 構成ガイド

Page 361: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

FILE_PATH または DOCUMENT のいずれかのニックネーム・オプションを指定する必要があります。パスは、単一引用符で囲む必要があります。

COLUMN_DELIMITER ’,’

表構造ファイル内のフィールドを区切るのに使用される区切り文字を指定します。区切り文字値は、単一引用符で囲む必要があります。列区切り文字には、複数の文字分の長さが可能です。列区切文字を指定しない場合、デフォルトの区切り文字はコンマです。単一引用符は区切り文字としては使用できません。列区切り文字は、ファイル全体で一貫性がなければなりません。NULL 値は 2 つの区切り文字が続くことによって表されます。 NULL フィールドが行の末尾にある場合、区切り文字に行終止符を続けることによって表されます。列区切り文字は、列の有効なデータとして存在することはできません。たとえば、列の 1 つにコンマが組み込まれたデータが含まれている場合、列区切り文字としてコンマを使用することはできません。

SORTED ’Y’

データ・ソース・ファイルがソートされていることを指定します。ソートされるデータ・ソースは、LC_COLLATE 各国語サポート・カテゴリーの設定によって定義されている現在のロケールの照合順序に従って、昇順でソートされなければなりません。データ・ソースがソートされるように指定する場合、VALIDATE_DATA_FILE オプションを ’Y’ に設定してください。SORTED パラメーターのデフォルト値は ’N’です。

KEY_COLUMN ’DCODE’

ファイルをソートするキーとなるファイル内の列の名前。キー列の値は単一引用符で囲む必要があります。このオプションは、SORTED ニックネーム・オプションを指定する場合にのみ指定します。 DOCUMENT ニックネーム列オプションで指定された列は、キー列として指定してはなりません。値は、CREATE NICKNAME ステートメントに定義されている列の名前にしなければなりません。キー列に NULL 値が入ることはできません。単一列のキーのみがサポートされます。複数列のキーは許可されていません。列は必ず昇順でソートされます。ソート・ニックネームに値が指定されていない場合、デフォルトとしてこれはニックネームが付けられたファイルの最初の列となります。

VALIDATE_DATA_FILE ’Y’

キー列が昇順でソートされていることをラッパーがチェックするかどうか、および NULL キーをチェックするかどうかを指定します。このオプションの有効値は Y または N です。 DOCUMENT ニックネーム列オプションがファイル・パスに使用されている場合には、このオプションは使用できません。

ニックネームの登録時におけるキー列の指定

次のようにニックネーム・ステートメントで NOT NULL 制約を指定することで、キー列を指定することができます。

CREATE NICKNAME tox (tox_id INTEGER NOT NULL, toxicity VARCHAR(100))FOR SERVER tox_server1OPTIONS (FILE_PATH’/tox_data.txt’, SORTED ’Y’)CREATE NICKNAME weights (mol_id INTEGER, wt VARCHAR(100) NOT NULL)FOR SERVER wt_serverOPTIONS (FILE_PATH’/wt_data.txt’, SORTED ’Y’, KEY_COLUMN ’WT’)

第 18 章 表構造ファイル・データ・ソース 351

Page 362: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

NOT NULL列に NULL やブランクの値を含められないことを指定します。

ラッパーは NOT NULL 制約を強制しませんが、フェデレーテッド・データベースは強制します。ニックネームを作成して、列に NOT NULL 制約を付け、列に NULL 値の入った行を選択する場合、フェデレーテッド・データベースは NULL 値を NOT NULL 列に割り当てることはできないことを述べる SQL0407N エラーを出します。

この規則の例外はソートされたニックネームの場合です。 ソートされたニックネームのキー列を NULL にすることはできません。ソートされたニックネームに関して NULL キー列が検出されると、キー列が欠落しているという SQL1822N エラーが出ます。

大文字と小文字が区別される列名

列が二重引用符付きで定義されていない限り、フェデレーテッド・データベースによって列名が大文字に変更されます。以下の例は、KEY_COLUMN オプションの値が単一引用符で囲まれているので、正しく動作しません。この例では、列名がフェデレーテッド・データベースによって EMPNO に変換されます。結果として、empno を照会で指定したとき、この列はフェデレーテッド・データベースに認識されません。

CREATE NICKNAME depart (empno char(6) NOT NULL)FOR SERVER DATASTOREOPTIONS(FILE_PATH’data.txt’, SORTED ’Y’, KEY_COLUMN ’empno’);

Windows 2003 フェデレーテッド・サーバー

Windows 2003 を実行するフェデレーテッド・サーバーから、共有ドライブ上にある表構造ファイル・データ・ソースにアクセスしようとすると、以下のエラー・メッセージを出して照会が失敗することがあります。

SQL1822N データ・ソース "SERVERNAME1" から予期しないエラー・コード "ERRNO = 2" を受け取りました。関連するテキストおよびトークンは「ファイルの読み取り不可」です。SQLSTATE=560BD

これは Windows 2003 の制限です。この問題を回避するには、CREATE

NICKNAME ステートメントの FILE_PATH オプションで絶対パスを指定します。

次の例は、FILE_PATH オプションで省略パスが指定された CREATE NICKNAME

ステートメントを示しています。

CREATE NICKNAME nickname(COL1 CHAR (10) NOT NULL)FOR SERVER servername1OPTIONS (FILE_PATH ’X:¥textfile1.txt’);

ここで、X:¥ は、リモート・マシンへマップするドライブです。省略パスを指定しているため、このニックネームを使用する照会は失敗する可能性があります。

Windows 2003 を実行するフェデレーテッド・サーバーの場合は、CREATE

NICKNAME ステートメントの FILE_PATH オプションで絶対パスを指定してください。

352 フェデレーテッド・データ・ソース 構成ガイド

Page 363: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

たとえば、次のようにします。

CREATE NICKNAME nickname(COL1 CHAR (10) NOT NULL)FOR SERVER servername1OPTIONS (FILE_PATH ’¥¥host.svl.ibm.com¥D$¥textfile1.txt’) ;

表構造ファイル・ラッパーのファイル・アクセス・コントロール・モデル

ラッパーは、フェデレーテッド・データベースのインスタンス所有者の許可情報を使用して表構造ファイルにアクセスします。ラッパーは、このユーザー ID またはグループ ID によって読み取ることができるファイルにだけアクセスできます。フェデレーテッド・データベースへの接続を確立する許可 ID は、表構造ファイルにアクセスするために使用されることはありません。

フェデレーテッド・サーバーでは、ニックネームが作成されている表構造ファイルはすべて、各ノードから同じパス名を使用してアクセス可能でなければなりません。ファイルは、すべてのノードから共通のパスを使用してアクセス可能であれば、フェデレーテッド・データベースのノードに置く必要はありません。

表構造ファイルにアクセスするには、ラッパーはセキュリティー上の目的でユーザー ID が必要です。表構造ファイル・ラッパーは、フェデレーテッド・データベース・サービスに関連付けられたユーザー ID を使用します。フェデレーテッド・データベース・サービスの名前は、データベース・インスタンスの名前によって異なります。例えば、データベース・インスタンスの名前が DB2 である場合、サービス名は DB2 - DB2 となります。フェデレーテッド・データベース・サービスに関連付けられたユーザー ID を判別するには、Windows で「コントロール パネル」を使用してサービスを表示します。サービス名をダブルクリックして、「ログオン」プロパティー・ページを表示します。

リモート・ドライブ上にある表構造ファイル

アクセスする表構造ファイルは、ローカル・ドライブまたはマップされたドライブに存在する必要があります。

Windows NT® または Windows 2000 ドメインが構成されているネットワークフェデレーテッド・データベース・サービスのログオン・アカウントは、表構造ファイルがあるマップされたドライブ上の共有フォルダーにアクセスできるドメインのアカウントでなければなりません。

Windows NT または Windows 2000 ドメインが構成されていないネットワークフェデレーテッド・データベース・サービスのログオン・アカウントには、そのフォルダーを共有するコンピューター上の正当なユーザーと同じユーザー名およびパスワードがなければなりません。そのユーザーは、少なくとも読み取りアクセスの付与された共有フォルダーの許可リストに含まれていなければなりません。

第 18 章 表構造ファイル・データ・ソース 353

Page 364: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表構造ファイル・ラッパーの照会パフォーマンス最適化のためのガイドライン

ソートされたファイルの使用、およびニックネームの統計の作成により、表構造ファイル照会のパフォーマンスを改善できます。

照会パフォーマンスを改善するには、以下のヒントを実行します。

v ファイル内のデータをソートします。フェデレーテッド・サーバーでは、ソートされていないファイルより、ソートされたファイルの方がより効率的に検索できます。

v ソートされたファイルの場合、照会をサブミットするときに、キー列の値または範囲を指定してください。

v 表構造ファイルのニックネームの統計は、SYSSTAT または SYSCAT のビューを更新することによって手操作で更新する必要があります。ニックネーム統計情報の更新機能を使用して、表構造ファイルのニックネームについて統計を更新してください。

354 フェデレーテッド・データ・ソース 構成ガイド

Page 365: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 19 章 Teradata データ・ソース

Teradata データ・ソースへのアクセスの構成Teradata データ・ソースにアクセスするようにフェデレーテッド・サーバーを構成するには、アクセスするデータ・ソースとオブジェクトに関する情報をフェデレーテッド・サーバーに提供しなければなりません。

始める前に

v Teradata クライアント・ソフトウェアが、フェデレーテッド・サーバーとして機能するサーバー上にインストールされ、構成されている必要があります。

v IBM WebSphere Federation Server が、フェデレーテッド・サーバーとして機能するサーバー上にインストールされている必要があります。

v フェデレーテッド・サーバーのセットアップをチェックします。

v federated パラメーターをチェックして、フェデレーションが使用可能になっていることを確かめます。

このタスクについて

DB2 コントロール・センターを使用するか、または DB2 コマンド行で SQL ステートメントを発行することによって、 Teradata データ・ソースに保管されているデータにアクセスするようフェデレーテッド・サーバーを構成することができます。DB2 コントロール・センターには、必須フェデレーテッド・オブジェクトを構成するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

Teradata データ・ソースへのアクセスを構成するには、以下のようにします。

1. Teradata サーバーへの接続をテストします。

2. Teradata ライブラリーがランタイム・リンクに対応していることを検査します(AIX)。

3. Teradata ラッパーの環境変数を設定します。

4. ラッパーを登録します。

5. サーバー定義を登録します。

6. ユーザー・マッピングを作成します。

7. フェデレーテッド・サーバーから Teradata サーバーへの接続をテストします。

8. Teradata の表およびビューのニックネームを登録します。

© Copyright IBM Corp. 1998, 2006 355

Page 366: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Teradata サーバーへの接続のテストTeradata サーバーへの接続をテストして、Teradata クライアント・ソフトウェアがフェデレーテッド・サーバー上で適切にセットアップされていることを検査します。

始める前に

Basic Teradata Query (BTEQ) ユーティリティーおよび Teradata Data Connector

Application Program Interface (PIOM) が、フェデレーテッド・サーバーにインストールされていることを確認します。 BTEQ ユーティリティーと Teradata Data

Connector Application Program Interface は、 Teradata クライアント・ソフトウェアのインストール時にフェデレーテッド・サーバーにインストールされます。

このタスクについて

BTEQ ユーティリティーを使用して SQL 照会をサブミットし、フェデレーテッド・サーバーが Teradata サーバーに接続できることを検査します。 BTEQ ユーティリティーの詳細については、Teradata 資料を参照してください。

手順

Teradata サーバーへの接続をテストするには、次のようにします。

1. BTEQ ユーティリティー・セッションを開始し、Teradata サーバーにログオンします。

2. SQL コマンドを発行して、Teradata サーバーに正常に接続できることを検査します。

たとえば、次のようになります。

select count(*) from dbc.tables;

正常に接続した場合には、照会の出力が表示されます。

接続が不成功の場合は、エラーが出されます。 Teradata クライアント・ソフトウェアをチェックして、フェデレーテッド・サーバー上に適切にインストールされて構成されていることをチェックしてください。

3. Teradata サーバーからログオフし、BTEQ ユーティリティー・セッションを終了します。

この作業を完了したら、Teradata ライブラリーがランタイム・リンクに対応していることを検査します。

Teradata ライブラリーがランタイム・リンクに対応しているかどうかの検査 (AIX)

Teradata データ・ソースを AIX 上のフェデレーテッド・サーバーに追加する場合、ラッパーまたはサーバーを登録する前に、ランタイム・リンクに対応しているかどうかを検査する必要があります。

手順

356 フェデレーテッド・データ・ソース 構成ガイド

Page 367: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Teradata ライブラリーがランタイム・リンクに対応しているかどうかを検査するには、次のようにします。

1. libcliv2.so ファイルが存在するディレクトリーに移動します。

libcliv2.so ファイルは、Teradata クライアント・ソフトウェアでインストールされます。デフォルトでは、/usr/lib ディレクトリーにインストールされます。

2. ランタイム・リンクが使用可能になっているかどうか検査するには、コマンド・プロンプトから次の UNIX コマンドを発行します。

dump - H libcliv2.so | grep libtli.a

3. 戻されるファイル名をチェックします。 libtli.a というファイル名が戻される場合、 Teradata ライブラリーはランタイム・リンクに対応しています。

libtli.a というファイル名が戻されない場合、コマンド・ウィンドウを開いて次のUNIX コマンドを発行し、Teradata ライブラリーについてランタイム・リンクを使用可能にします。

rtl_enable libcliv2.so -F libtli.amv libcliv2.so libcliv2.so.oldmv libcliv2.so.new libcliv2.sochmod a+r libcliv2.so

この作業を完了したら、環境変数を設定することができます。

Teradata 環境変数の設定フェデレーテッド・サーバー上の db2dj.ini ファイルで、Teradata 環境変数を設定する必要があります。

制約事項

db2dj.ini ファイルに関する制限を確認してください。

このタスクについて

db2dj.ini ファイルには、フェデレーテッド・サーバーにインストールされているTeradata クライアント・ソフトウェアに関する構成情報が入っています。

Teradata データ・ソースについて、必須の環境変数とオプションの環境変数があります。

Teradata ラッパーをインストールする前に Teradata クライアント・ソフトウェアをインストールした場合、必要な Teradata 環境変数は db2dj.ini ファイルで設定されています。

Teradata ラッパーをインストールする前に Teradata クライアント・ソフトウェアをインストールしなかった場合や、いずれかのオプションの環境変数を設定する場合は、この作業のステップを使用して環境変数を設定する必要があります。

手順

Teradata 環境変数を設定するには、以下のようにします。

第 19 章 Teradata データ・ソース 357

Page 368: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

1. 次の方法のいずれかを使用します。

方法 ステップ

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

自動的に環境変数を設定します。

WebSphere Federation Server インストール・ウィザードを実行します。ウィザードの指示に従ってください。重要: 必須の環境変数は、インストール・ウィザードを実行して設定します。オプションの環境変数は手動で設定する必要があります。

手動で環境変数を設定します。

db2dj.ini ファイルを編集します。

db2dj.ini ファイルは、 DB2 レジストリー変数 DB2_DJ_INI が指定するディレクトリーにあります。 DB2_DJ_INI 変数が設定されていない場合、オペレーティング・システムに応じて、db2dj.ini ファイルは以下のデフォルト・パスのいずれかにあります。

v UNIX の場合: instancehome/sqllib/cfg/db2dj.ini

instancehome

インスタンス所有者のホーム・ディレクトリー。

v Windows の場合: %DB2PATH%¥cfg¥db2dj.ini

%DB2PATH%

DB2 データベース・システムがインストールされているディレクトリー。たとえば、C:¥Program

Files¥IBM¥sqllib。

このファイルが存在しない場合、任意のテキスト・エディターを使用して、db2dj.ini という名前のファイルを作成できます。 db2dj.ini

ファイルには、環境変数の値に完全修飾パスを指定する必要があります。そうしないと、エラーが発生します。たとえば、次のようにします。

COPLIB=/usr/lib

2. Teradata コード・ページ変換環境変数を (必要に応じて) 設定します。

3. フェデレーテッド・サーバーに環境変数を設定するには、以下のコマンドを使用してフェデレーテッド・データベース・インスタンスをリサイクルします。

db2stopdb2start

この作業を完了したら、ラッパーを登録することができます。

Teradata 環境変数Teradata データ・ソースについて、必須の環境変数とオプションの環境変数があります。これらの変数は db2dj.ini ファイルで設定されます。

Teradata では、以下の環境変数が有効です。

v COPLIB

358 フェデレーテッド・データ・ソース 構成ガイド

Page 369: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v COPERR

v TERADATA_CHARSET (オプション)

v NETRACE (オプション)

v COPANOMLOG (オプション)

変数の説明COPLIB

フェデレーテッド・サーバーにおける libcliv2.so ファイルのディレクトリー・パスを指定します。 COPLIB 変数の完全修飾パスを指定します。

たとえば、次のようになります。

COPLIB=/usr/lib

libcliv2.so ファイルと errmsg.cat ファイルは通常、同じディレクトリーにあります。

COPERRフェデレーテッド・サーバーにおける errmsg.cat ファイルのディレクトリー・パスを指定します。 COPERR 変数の完全修飾パスを指定します。

たとえば、次のようになります。

COPERR=/usr/lib

TERADATA_CHARSETTeradata データ・ソースで使用するコード・ページ文字セットを指定します。

フェデレーテッド・サーバーが Teradata データ・ソースに接続するたび、Teradata ラッパーは、その接続に使用するコード・ページ文字セットを判別します。 Teradata ラッパーにコード・ページ文字セットを設定させるか、または TERADATA_CHARSET 環境変数を設定してコード・ページを指定することができます。

TERADARA_CHARSET 環境変数がフェデレーテッド・サーバー上のdb2dj.ini ファイルに設定されている場合、ラッパーは db2dj.ini ファイルのコード・ページ文字セットを使用します。 TERADATA_CHARSET 環境変数の値に対して妥当検査は行われませんが、この環境変数が有効な値に設定されないと、Teradata データ・ソースはエラーを戻します。

TERADARA_CHARSET 環境変数がフェデレーテッド・サーバー上のdb2dj.ini ファイルで設定されていない場合、ラッパーはデータベースのコード・ページに基づいてクライアント文字セットを検出します。

UNIX が稼働するフェデレーテッド・サーバーの場合は、TERADATA_CHARSET 環境変数で以下の値が有効です。

v HANGULKSC5601_2R4

v KanjiEUC_0U

v LATIN1_0A

v LATIN9_0A

v LATIN1252_0A

v SCHGB2312_1T0

第 19 章 Teradata データ・ソース 359

Page 370: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v TCHBIG5_1R0

v UTF8

v ASCII

Windows が稼働するフェデレーテッド・サーバーの場合は、TERADATA_CHARSET 環境変数で以下の値が有効です。

v HANGULKSC5601_2R4

v KanjiSJIS_0S

v LATIN1_0A

v LATIN1252_0A

v SCHGB2312_1T0

v TCHBIG5_1R0

v UTF8

v ASCII

NETRACEオプション。 Teradata クライアント・ソフトウェアのトレース機能を使用可能にします。この変数はデバッグにのみ必要です。

COPANOMLOGオプション。 Teradata クライアント・ソフトウェアのロギング機能を使用可能にします。この変数はデバッグにのみ必要です。

Teradata サーバー上の文字セットの検査Teradata サーバー上で適切な文字セットが指定されていないと、接続エラーが発生することがあります。使用する文字セットが Teradata サーバーにインストールされていることを検査してください。

手順

使用する文字セットが Teradata サーバーにインストールされていることを検査するには、以下のようにします。

1. BTEQ ユーティリティー、または他の有効なログオン・ユーティリティーを使用して、Teradata サーバーにログオンします。

2. 以下のステートメントを発行して、dbc.chartranslations 表を表示します。 select

* from dbc.chartranslations;

3. 戻される表の 3 列目 InstallFlag の値をチェックします。 3 列目の値 ’Y’は、Teradata サーバーで文字セットがインストールされて使用されていることを示します。

以下の表を使用して、適切な文字セットがインストールされているかどうかを判別してください。

表 83. Teradata 用の文字セット

2 バイト文字セット 1 バイト文字セット Teradata 文字セット 言語IBM DB2 コード・セット

941 897 ″KanjiSJIS_0S″ 日本語 IBM-943

1362 1126 ″HANGULKSC5601_2R4″ ハングル 1363

360 フェデレーテッド・データ・ソース 構成ガイド

Page 371: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 83. Teradata 用の文字セット (続き)

2 バイト文字セット 1 バイト文字セット Teradata 文字セット 言語IBM DB2 コード・セット

1385 1114 ″SCHGB2312_1T0″ 中国語 (簡体字) GBk

380 1115 ″SCHGB2312_1T0″ 中国語 (簡体字) IBM-1381

947 1114 ″TCHBIG5_1R0″ 中国語 (繁体字) big5

1200 1208 ″UTF8″ Unicode UTF-8

0 819 ″Latin1_0A″ 英語 (Latin 1) ISO8859-1

0 1252 ″Latin1252_0A″ 英語 (Windows Latin) ISO8859-1/15

0 819 ″ASCII″ 英語 (ASCII) ISO8859-1

4. 必要な文字セットがインストールされていない場合、Teradata ラッパーを使用するためにその文字セットをインストールします。

v ASCII は Teradata サーバーで使用可能になっていますが、dbc.chartranslations

表にはカタログされません。 InstallFlag について戻される値がすべて ’N’ である場合は、ASCII が Teradata サーバー上で有効な唯一の文字セットとなり、TERADATA_CHARSET 環境変数は db2dj.ini ファイルで ASCII に設定されていなければなりません。

v 使用する文字セットが dbc.chartranslations 表にリストされているが、InstallFlag 値が ’N’に設定されている場合は、以下のステートメントを発行して、InstallFlag を ’Y’に変更します。

update dbc.chartranslationsset installflag=’Y’ where CharSetName= ’character_set_name’;

v 使用する文字セットが dbc.chartranslations 表にリストされていない場合は、Teradata お客様サポートに連絡してください。

5. Teradata サーバーを再始動して、文字セットのリストを更新します。 Teradata

コマンド・ウィンドウに次のように入力してください。 tpareset -f

reason_for_restart

Teradata ラッパーの登録Teradata データ・ソースにアクセスするためには、ラッパーを登録する必要があります。フェデレーテッド・サーバーは、データ・ソースとの通信やデータの検索のためにラッパーを使用します。ラッパーは、ライブラリー・ファイルのセットとしてインプリメントされます。

手順

Teradata ラッパーを登録するには、次のようにします。

次の方法のいずれかを使用します。

方法 説明

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

第 19 章 Teradata データ・ソース 361

Page 372: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

方法 説明

CREATE WRAPPER

ステートメントを発行し、Teradata ラッパーにデフォルト名を指定します。

たとえば、次のようにします。

CREATE WRAPPER TERADATA;

要確認: デフォルト名 TERADATA を使用してラッパーを登録する場合、フェデレーテッド・サーバーは、フェデレーテッド・サーバーが実行されているオペレーティング・システムに適した Teradata

ラッパー・ライブラリーを自動的に使用します。

デフォルトのラッパー名がフェデレーテッド・データベース内の既存のラッパー名と競合する場合、デフォルトのラッパー名を、指定の名前で置き換えることができます。デフォルト名とは別の名前を使用する場合は、CREATE WRAPPER ステートメントに LIBRARY

パラメーターを含める必要があります。

たとえば、AIX を使用するフェデレーテッド・サーバーで、tera_wrapper という名前のラッパーを登録するには、以下のステートメントを発行します。

CREATE WRAPPER tera_wrapperLIBRARY ’libdb2teradata.a’OPTIONS (DB2_FENCED ’Y’,DB2_SOURCE_CLIENT_MODE ’32BIT’);

指定するラッパー・ライブラリー・ファイルは、フェデレーテッド・サーバーのオペレーティング・システムによって異なります。

AIX および Solaris における必須オプション注: Teradata ラッパーは 32 ビット・クライアントしかサポートしていないため、 AIX と Solaris では、CREATE WRAPPER ステートメントの DB2_FENCED および DB2_SOURCE_CLIENT_MODE

ラッパー・オプションが必須です。

例:

CREATE WRAPPER TERADATAOPTIONS (DB2_FENCED ’Y’,DB2_SOURCE_CLIENT_MODE ’32BIT’)

この作業を完了したら、サーバー定義を登録することができます。

Teradata ラッパー・ライブラリー・ファイルTeradata ラッパー・ライブラリー・ファイルは、ラッパー のインストール時にフェデレーテッド・サーバーに追加されます。

Teradata ラッパー をインストールすると、ディレクトリー・パスに 3 つのライブラリー・ファイルが追加されます。たとえば、フェデレーテッド・サーバーが AIX

上で実行されている場合、ディレクトリー・パスに追加されるラッパー・ライブラリー・ファイルは libdb2teradata.a、 libdb2teradataF.a、および libdb2teradataU.a です。デフォルトのラッパー・ライブラリー・ファイルは libdb2teradata.a です。他のラッパー・ライブラリー・ファイルは Teradata ラッパーの内部で使用されます。

362 フェデレーテッド・データ・ソース 構成ガイド

Page 373: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ラッパーの登録時にデフォルトのラッパー名を使用しない場合は、CREATE

WRAPPER ステートメントに LIBRARY パラメーターを含め、デフォルトのラッパー・ライブラリー・ファイルの名前を指定する必要があります。

以下の表に、デフォルトのディレクトリー・パスとデフォルトのラッパー・ライブラリー・ファイルの名前がリストされています。

表 84. Teradata ラッパー・ライブラリーのロケーションとファイル名

オペレーティング・システム

ディレクトリー・パス ライブラリー・ファイル名

AIX /usr/opt/install_path/lib32/

/usr/opt/install_path/lib64/

libdb2teradata.a

Solaris /opt/IBM/db2/install_path/lib32

/opt/IBM/db2/install_path/lib64

libdb2teradata.so

Windows %DB2PATH%¥bin db2teradata.dll

install_path は、IBM WebSphere Federation Server が UNIX でインストールされているディレクトリー・パスです。

Teradata データ・ソースのサーバー定義の登録フェデレーテッド・データベースでアクセスする各 Teradata サーバーを登録する必要があります。

手順

Teradata データ・ソースのサーバー定義を登録するには、次のようにします。

1. hosts ファイルを見つけます。

v AIX が稼働するフェデレーテッド・サーバーの場合、hosts ファイルは/etc/hosts ディレクトリーにあります。

v Windows が稼働するフェデレーテッド・サーバーの場合、hosts ファイルは%WINDIR%¥system32¥drivers¥etc¥hosts ディレクトリー内にあります。

2. hosts ファイルで、リモート・サーバーの別名を検索します。

この別名は、英字ストリングで始まり、COPn という接尾部で終了します。値 n

は、Teradata 通信プロセッサーに関連付けられたアプリケーション・プロセッサーの番号です。

3. この別名を含む hosts 内の行で最初に出現する非数値フィールドを検索します。

hosts ファイルの例:

127.0.0.1 localhost9.22.5.77 nodexyz nodexyzCOP1 # teradata server9.66.111.133 rtplib05.data.xxx.com aap9.66.111.161 rtpscm11.data.xxx.com aaprwrt9.66.111.161 rtpscm11.data.xxx.com accessm

この例では、nodexyz がノード名です。

第 19 章 Teradata データ・ソース 363

Page 374: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

4. サーバーを作成するには、次の方法のいずれかを使用します。

方法 説明

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

CREATE SERVER

ステートメントを発行します。

たとえば、次のようにします。

CREATE SERVER server_definition_nameTYPE TERADATAVERSION version_numberWRAPPER wrapper_nameOPTIONS (NODE ’node_name’);

’node_name’ 変数は CREATE SERVER ステートメントではオプションとして指定されますが、Teradata データ・ソースには必須です。

Teradata データ・ソースのユーザー・マッピングの作成Teradata サーバーにアクセスする場合、フェデレーテッド・サーバーは、データ・ソースに対して有効なユーザー ID とパスワードを使用して、Teradata サーバーへの接続を確立します。それぞれのフェデレーテッド・サーバーのユーザー ID とパスワード、および対応するデータ・ソースのユーザー ID とパスワードの間の関係付け (ユーザー・マッピング) を定義しなければなりません。

このタスクについて

フェデレーテッド・システムにアクセスする、各ユーザー ID のユーザー・マッピングを作成して、Teradata データ・ソースに分散要求を送信します。

手順

Teradata データ・ソースのユーザー・マッピングを作成するには、次のようにします。

CREATE USER MAPPING ステートメントを発行します。

たとえば、次のようにします。

CREATE USER MAPPING FOR local_userID SERVER server_definition_nameOPTIONS (REMOTE_AUTHID ’remote_userID’, REMOTE_PASSWORD ’remote_password’)

REMOTE_AUTHID および REMOTE_PASSWORD 変数は CREATE USER

MAPPING ステートメントではオプションとして指定されますが、 Teradata データ・ソースにアクセスするには必須です。

この作業を完了したら、フェデレーテッド・サーバーから Teradata サーバーへの接続をテストします。

364 フェデレーテッド・データ・ソース 構成ガイド

Page 375: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

フェデレーテッド・サーバーから Teradata サーバーへの接続のテストTeradata データ・ソース・サーバーへの接続をテストして、フェデレーテッド・サーバーが Teradata データ・ソースにアクセスするように適切に構成されているかどうかを判別します。

このタスクについて

Teradata サーバーへの接続のテストは、定義したサーバー定義とユーザー・マッピングを使用して行うことができます。

手順

Teradata サーバーへの接続をテストするには、次のようにします。

パススルー・セッションを開き、Teradata システム表に対して SELECT ステートメントを発行します。 SELECT ステートメントがカウントを戻す場合、サーバー定義およびユーザー・マッピングは適切にセットアップされています。

たとえば、次のようにします。

SET PASSTHRU server_definition_nameSELECT count(*) FROM dbc.tablesSET PASSTHRU RESET

SELECT ステートメントがエラーを戻す場合には、接続エラーのトラブルシューティングを行う必要があります。

この作業を完了したら、Teradata の表およびビューのニックネームを登録することができます。

Teradata 表およびビューのニックネームの登録登録するそれぞれの Teradata サーバー定義で、アクセスしたいそれぞれの表またはビューごとにニックネームを登録する必要があります。 Teradata サーバーを照会する時には、データ・ソース・オブジェクトの名前ではなく、これらのニックネームを使用します。

始める前に

フェデレーテッド・データベースは、データ・ソースのカタログ統計に基づいて、照会処理を最適化します。フェデレーテッド・データベースが Teradata 表の完全な統計を持つようにするために、ニックネームを登録する前に COLLECT

STATISTICS コマンドを使用します。

Teradata サーバーから、COLLECT STATISTICS Teradata コマンドを使用して、表内の 1 つ以上の列または索引の統計を収集します。

CREATE NICKNAME ステートメントを使ってニックネームを登録する場合、フェデレーテッド・データベースは Teradata システム・カタログから統計を読み取り、ニックネームのローカル統計を更新します。

このタスクについて

第 19 章 Teradata データ・ソース 365

Page 376: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Teradata ビューに対してニックネームを登録すると、フェデレーテッド・データベースはビューのすべての列を (Teradata ビューの列が NULL 値を許容しない場合でも) NULL 可能として認識します。この制限には次善策がありません。

手順

Teradata 表またはビューにニックネームを登録するには、次のようにします。

方法 説明

DB2 コントロール・センターの「フェデレーテッド・オブジェクト」ウィザードを使用します。

ウィザードを開始するには、「フェデレーテッド・データベース・オブジェクト」フォルダーを右クリックして、「フェデレーテッド・オブジェクトの作成」をクリックします。

CREATE

NICKNAME ステートメントを発行します。ニックネームの長さは128 文字までです。

たとえば、次のようにします。

CREATE NICKNAME nicknameFOR server_definition_name.remote_schema.remote_table;

ニックネームを作成すると、フェデレーテッド・サーバーはニックネームを使用してデータ・ソース・カタログを照会します。この照会は、データベース・ソースの表またはビューへの接続をテストします。接続が働かない場合、エラー・メッセージが出ます。

ニックネームを作成したい Teradata の表またはビューごとに、このステップを繰り返します。

フェデレーテッド・サーバーでの Teradata ニックネームフェデレーテッド・サーバーから Teradata データ・ソースを照会するときは、照会でニックネームを使用して、アクセスする Teradata の表およびビューを識別します。

Teradata の表またはビューのニックネームを作成すると、フェデレーテッド・サーバーはその表またはビューに関連した Teradata サーバーに接続します。フェデレーテッド・サーバーはニックネームを使用して、Teradata サーバーへの接続を検査します。フェデレーテッド・データベースはデータ・ソース側にその表またはビューが存在するか検査し、次に Teradata サーバー上のカタログから、その Teradata の表またはビューに関する統計データを収集しようとします。ニックネームで示されるオブジェクトに関して収集された統計は、フェデレーテッド・サーバー上のグローバル・カタログに保管されます。

フェデレーテッド・サーバーは、照会処理を最適化するのに、ニックネームで示されるオブジェクトについて収集した統計に依存します。照会オプティマイザーはTeradata カタログ情報の一部またはすべてを使用することがあるため、ニックネームを作成する前に、Teradata サーバー側で統計データを更新してください。Teradata サーバー側で統計データを更新するには、DB2 の RUNSTATS コマンドと等価のコマンドまたはユーティリティーを使用してください。

366 フェデレーテッド・データ・ソース 構成ガイド

Page 377: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

更新可能な Teradata ビューを参照するニックネームに対する INSERT、UPDATE、または DELETE ステートメントは、その SQL ステートメントを Teradata データ・ソースに対して完全にプッシュダウンできるのでない限りサブミットできません。

CREATE SERVER ステートメント - Teradata ラッパーの例Teradata ラッパーにサーバー定義を登録するには、CREATE SERVER ステートメントを使用します。必須パラメーターが含まれる完全な例、およびその他のサーバー・オプションが含まれる例が、このトピックに組み込まれています。

次に、CREATE SERVER ステートメントを実行して CREATE SERVER ラッパーのサーバー定義を登録する方法の例を示します。

CREATE SERVER tera_server TYPE TERADATAVERSION 2.5 WRAPPER my_wrapperOPTIONS (NODE ’tera_node’);

tera_server

Teradata データベース・サーバーに割り当てる名前。重複するサーバー定義名は使用できません。

TYPE TERADATA

アクセスを構成するデータ・ソース・サーバーのタイプを指定します。Teradata ラッパーの場合、サーバー・タイプは TERADATA でなければなりません。

VERSION 2.5

これは、アクセスしたい Teradata データベース・サーバーのバージョンです。

WRAPPER TERADATA

CREATE WRAPPER ステートメントで指定したラッパー名。

NODE ’tera_node’

Teradata データベース・サーバーが存在するノードの名前。ノード名はhosts ファイルから入手します。この値は大文字小文字の区別があります。

ノード名は CREATE SERVER ステートメントではオプションとなっていますが、CREATE SERVER データ・ソースの場合は必要です。

サーバー・オプション

サーバー定義の作成時に、CREATE SERVER ステートメントに追加のサーバー・オプションを指定することができます。サーバー・オプションには、汎用のサーバー・オプションと Teradata に特有のサーバー・オプションを指定できます。

CPU_RATIO と IO_RATIO のサーバー・オプションは、照会オプティマイザーにTeradata サーバーに関する統計情報を提供しています。フェデレーテッド・サーバーの CPU リソースが Teradata サーバーの CPU リソースの 2 倍の能力を持つことを指定するには、CPU_RATIO サーバー・オプションの値を 2.0 に設定します。フェデレーテッド・サーバーの入出力装置が Teradata サーバーの入出力装置に比べて 3 倍の速度でデータを処理することを指定するには、IO_RATIO サーバー・オプションを 3.0 に設定します。

第 19 章 Teradata データ・ソース 367

Page 378: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

次の例は、これらのオプションを指定した Teradata サーバー定義です。

CREATE SERVER tera_server TYPE TERADATAVERSION 2.5 WRAPPER my_wrapperOPTIONS (NODE ’tera_node’, CPU_RATIO ’2.0’, IO_RATIO ’3.0’);

CREATE USER MAPPING ステートメント - Teradata ラッパーの例CREATE USER MAPPING ステートメントを使用して、フェデレーテッド・サーバーのユーザー ID を Teradata サーバーのユーザー ID およびパスワードにマップしてください。このトピックには、必要パラメーターを使用する完全指定の例と、CREATE USER MAPPING ステートメントで DB2 特殊レジスター USER を使用する方法を示す例が含まれます。

次の例は、ローカル・フェデレーテッド・ユーザー ID を、Teradata サーバーのユーザー ID およびパスワード にマップする方法を示すものです。

CREATE USER MAPPING FOR MICHAEL SERVER tera_serverOPTIONS (REMOTE_AUTHID ’mike’, REMOTE_PASSWORD ’passxyz123’);

MICHAEL

Teradata サーバーで定義されたユーザー ID にマップするローカルのユーザー ID を指定します。

SERVER tera_server

CREATE SERVER ステートメントで Teradata サーバーについて登録したサーバー定義名を指定します。

REMOTE_AUTHID ’mike’

MICHAEL をマップする、Teradata データベース・サーバー側のユーザーID を指定します。 CREATE SERVER ステートメントで FOLD_ID サーバー・オプションを ’U’ または ’L’ にしている場合を除き、この値の大文字小文字の区別を保持するように単一引用符を使用してください。

リモート・ユーザー ID は CREATE SERVER ステートメントではオプションとして指定されていますが、Teradata データ・ソースには必須です。

REMOTE_PASSWORD ’passxyz123’

’mike’ に関連するパスワードを指定します。 CREATE SERVER ステートメントで FOLD_PW サーバー・オプションを ’U’ または ’L’ にしている場合を除き、この値の大文字小文字の区別を保持するように単一引用符を使用してください。

リモート・パスワードは CREATE SERVER ステートメントではオプションとして指定されていますが、Teradata データ・ソースには必須です。

DB2 特殊レジスター USER

DB2 特殊レジスター USER を使用して、CREATE USER MAPPING ステートメントを実行する人の許可 ID を、REMOTE_AUTHID ユーザー・オプションに指定されるデータ・ソースの許可 ID にマップすることができます。

以下に、特殊レジスター USER を含む CREATE USER MAPPING ステートメントの例を示します。

CREATE USER MAPPING FOR USER SERVER tera_serverOPTIONS (REMOTE_AUTHID ’mike’, REMOTE_PASSWORD ’passxyz123’);

368 フェデレーテッド・データ・ソース 構成ガイド

Page 379: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CREATE NICKNAME ステートメント - Teradata ラッパーの例CREATE NICKNAME ステートメントを使用して、アクセスする Teradata の表またはビューのニックネームを登録します。必須パラメーターを含む完全指定の例が、このトピックに含まれています。

この例は、Teradata サーバー上で Teradata の表またはビューのニックネームを作成する方法を示します。

CREATE NICKNAME TERASALES FOR tera_server.vinnie.europe ;

TERASALES

Teradata の表またはビューを識別するために使用する固有なニックネームです。

重要: ニックネームは、2 つの部分 (スキーマとニックネーム) からなる名前です。ニックネームの登録時にスキーマを省略すると、そのニックネームのスキーマはニックネームを登録するユーザーの許可 ID になります。これはフェデレーテッド・サーバーの許可 ID であり、リモート Teradata データ・ソースの許可 ID ではありません。

tera_server.vinnie.europe

リモート・オブジェクトを表す、3 つの部分からなる ID。

v tera_server は、CREATE SERVER ステートメントで Teradata データベース・サーバーに割り当てたサーバー定義名です。

v vinnie は、表またはビューが属する所有者のユーザー ID です。この値は大文字小文字の区別があります。

v europe は、アクセスしたいリモートの表またはビューの名前です。

データ・ソース接続エラーのトラブルシューティングデータ・ソース・サーバーへのテスト接続では、いくつかの理由でエラーが戻されることがあります。以下の処置により、エラーが発生した理由を判別することができます。

症状

データ・ソースに接続しようとしたときにエラーが戻されます。

原因

接続の問題には、いくつかの原因が考えられます。

問題の解決

データ・ソース接続エラーのトラブルシューティングを行うには、以下の項目で問題がないかどうかをチェックします。

v データ・ソースが使用可能であることを確認します。

v 該当する場合は、データ・ソース・サーバーが着信接続に対して構成されていることを確認します。

第 19 章 Teradata データ・ソース 369

Page 380: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v REMOTE_AUTHID と REMOTE_PASSWORD のオプションに関するユーザー・マッピング設定を調べ、データ・ソースとの接続に有効な設定になっているか確認します。必要に応じて、ユーザー・マッピングを変更するか、別のユーザー・マッピングを作成します。

v 該当する場合は、フェデレーテッド・サーバー上のデータ・ソース・クライアント・ソフトウェアがインストールされていて、データ・ソースに接続できるように正しく構成されていることを確認します。

v ODBC データ・ソースの場合、フェデレーテッド・サーバー上の ODBC ドライバーがインストールされていて、ODBC データ・ソース・サーバーに接続できるように正しく構成されていることを確認します。 Windows が稼働するフェデレーテッド・サーバーでは、ドライバーをチェックするときに「ODBC データ ソース アドミニストレータ」ツールを使用します。 UNIX が稼働するフェデレーテッド・サーバーの場合は、ODBC クライアントのベンダーが提供している資料を参照してください。

v フェデレーテッド・サーバー上で設定されている変数の設定がデータ・ソースについて適切であることを確認します。これらの変数には、システム環境変数、db2dj.ini ファイル、および DB2 Profile Registry (db2set) 変数が含まれます。

v サーバー定義を調べます。必要であれば、サーバー定義をドロップして再作成します。

370 フェデレーテッド・データ・ソース 構成ガイド

Page 381: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 20 章 Web サービス・データ・ソース

Web サービス・データ・ソースへのアクセスの構成フェデレーテッド・システムが Web サービス・データ・ソースにアクセスするように構成するには、Web サービス記述言語 (WSDL) 文書などの、アクセスするデータ・ソースとオブジェクトの情報をフェデレーテッド・サーバーに提供する必要があります。

始める前に

v IBM WebSphere Federation Server が、フェデレーテッド・サーバーとして機能するサーバーにインストールされている必要があります。

v フェデレーテッド・データベースがフェデレーテッド・サーバー上になければなりません。

このタスクについて

フェデレーテッド・サーバーの Web サービス・データ・ソースへのアクセスは、DB2 コントロール・センターまたは DB2 コマンド行を使用して構成できます。DB2 コントロール・センターには、フェデレーテッド・サーバーを構成するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

Web サービス・データ・ソースへのアクセスを構成するには、次のようにします。

1. Web サービス・ラッパーを登録します。

2. Web サービス・データ・ソースのサーバー定義を登録します。

3. HTTP 認証のセキュリティーを使用できるように、ユーザー・マッピングを登録します (オプション)。

4. Web サービス・データ・ソースのニックネームを登録します。

v DB2 コマンド行を使用して、Web サービス・データ・ソースのニックネームを登録します。

v DB2 コントロール・センターを使用して、Web サービス・データ・ソースのニックネームを登録します。

5. Web サービス・ニックネームのフェデレーテッド・ビューを作成します。

Web サービスおよび Web サービス・ラッパーWeb サービス・プロバイダーは、Web サービス記述言語 (WSDL) 文書によって記述されています。 Web サービス・ラッパーを使用して Web サービス・プロバイダーにアクセスできます。

372ページの図 20 のダイアグラムは、Web サービスのアーキテクチャーを示しています。

© Copyright IBM Corp. 1998, 2006 371

Page 382: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

1. Web サービス・プロバイダーはサービスをインプリメントし、WSDL 情報をUDDI などのサービス・ブローカーへ公開します。

2. その結果、サービス消費者はサービス・ブローカーを使用して Web サービス・プロバイダーを検索することができます。

3. サービス消費者が Web サービス・プロバイダーを検出すると、サービス消費者は Web サービスを使用できるようそのサービス・プロバイダーにバインドします。

4. 消費者は、リクエスターとプロバイダー間で SOAP (Simple Object Access

Protocol) メッセージを交換することによりサービスを呼び出します。

SOAP 仕様は XML に基づいたメッセージのレイアウトを定義します。 SOAP メッセージは SOAP エンベロープに含まれています。 エンベロープはオプショナルの SOAP ヘッダーと必須の SOAP 本体から成っています。 SOAP ヘッダーには暗号化情報あるいは認証情報といったメッセージに関する情報が含まれます。 SOAP

本体にメッセージが含まれます。 SOAP 仕様は、SOAP エンコードと呼ばれるプログラム言語バインディングのデフォルト・エンコードも定義します。

WSDL 文書と Web サービス

Web サービスへのキーは WSDL 文書です。 WSDL 文書は、Web サービスをそれが送受信するメッセージにおいて説明する XML 文書です。メッセージは、通常はXML スキーマであるタイプ・システムを使用して記述されます。 Web サービス操作はメッセージ交換パターンを 1 つ以上のメッセージと関連付けます。 メッセージ交換パターンは、送信または受信されたメッセージのシーケンスとカーディナリティー、またメッセージの論理的な送信先または送信元を識別します。 インターフェースは、トランスポートまたはワイヤー・フォーマットへのコミットメントなしに操作をグループ化します。 WSDL バインディングは 1 つ以上のインターフェースに対して、トランスポートおよびワイヤー・フォーマット詳細を指定します。 エンドポイントはネットワーク・アドレスをバインディングと関連付けます。 サービスは、共通のインターフェースをインプリメントするエンドポイントをグループ化します。 メッセージは、文書指向の情報または、リモート・プロシージャー・コー

図 20. Web サービス: サービス指向アーキテクチャー

372 フェデレーテッド・データ・ソース 構成ガイド

Page 383: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ル (RPC) としても知られるプロセス指向の情報を含むことができます。 WSDL 文書は、1 つ以上の Web サービスを含むことが可能です。

374ページの図 21 の例は株価見積価格を供給する簡単なサービスの WSDL 定義を示します。 Web サービスは、GetLastTradePrice という名前の単一の操作をサポートします。 このサービスは、HTTP を通して SOAP 1.1 プロトコルでアクセスできます。 要求は、ストリング・データ・タイプであるチッカー・シンボルを入力として読み取り、浮動データ・タイプである価格を戻します。 ストリングおよび浮動データ・タイプは XML スキーマ規格の事前定義タイプです。 Web サービスもデータ・タイプを定義し、ユーザー定義のデータ・タイプを使用することができます。 事前定義およびユーザー定義の XML データ・タイプはニックネームの列にマップします。 完全な例と WSDL 仕様は、W3C Web サイトにあります。

第 20 章 Web サービス・データ・ソース 373

Page 384: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

WSDL 文書、Web サービス・ラッパー、およびニックネーム

Web サービス・ラッパーは、HTTP トランスポートと SOAP バインディングのあるポート・タイプの操作を使用します。 操作中の入力メッセージおよび関連したタイプまたはエレメントがニックネーム中の列になります。 操作中の出力メッセージはニックネーム階層へ抽出されます。 WSDL 文書中で、それぞれの操作ごとに別々のニックネームの階層を作成できます。

<?xml version="1.0"?><definitions name="StockQuote"...<types><schema targetNamespace="http://example.com/stockquote.xsd"xmlns="http://www.w3.org/2000/10/XMLSchema"><element name="TradePriceRequest"><complexType><all><element name="tickerSymbol" type="string"/></all></complexType></element><element name="TradePrice"><complexType><all><element name="price" type="float"/></all></complexType></element></schema></types><message name="GetLastTradePriceInput">...</message><portType name="StockQuotePortType"><operation name="GetLastTradePrice"><input message="tns:GetLastTradePriceInput"/><output message="tns:GetLastTradePriceOutput"/></operation></portType><binding name="StockQuoteSoapBinding"type="tns:StockQuotePortType"><soap:binding style="document"transport="http://schemas.xmlsoap.org/soap/http"/><operation name="GetLastTradePrice"><soap:operation soapAction="http://example.com/GetLastTradePrice"/><input><soap:body use="literal"/></input><output><soap:body use="literal"/></output></operation></binding><service name="StockQuoteService"><documentation>My first service</documentation><port name="StockQuotePort" binding="tns:StockQuoteBinding"><soap:address location="http://example.com/stockquote"/></port></service></definitions>

図 21. WSDL 文書の例

374 フェデレーテッド・データ・ソース 構成ガイド

Page 385: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Web サービス・ラッパーを使用することにより、フェデレーテッド・システム関数を使用して、Web サービスからのデータを他のフェデレーテッド・データ・ソース上のデータと結合させることができます。

376ページの図 22 の例では、操作名 GETTEMP のポート・タイプを含む WSDL

文書を使用します。この Web サービスでは、入力データとして郵便番号を入力し、その郵便番号の地域の温度を受信します。

第 20 章 Web サービス・データ・ソース 375

Page 386: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

入力値は、ニックネームの zipcode 列で記述されています。出力値は、ニックネームの return 列で記述されています。 WSDL 文書では、これらの列はメッセージ・エレメントの中で識別されます。 メッセージ・エレメントは、Web サービス・プロバイダーとWeb サービス消費者との間で送信されるデータの論理定義を表します。 メッセージ・エレメント中の情報にさらに説明が必要である場合、WSDL 文書にもタイプ・エレメントが含まれます。 タイプ・エレメントは、XML スキーマ仕様に基づいた事前定義タイプ、またはユーザーによって定義されたタイプを意味します。

377ページの図 23 の例では、DB2® コントロール・センターの Discovery ツールが GETTEMP Web サービスの WSDL 文書から作成するニックネームを示しています。zipcode 列は、ニックネーム TEMPLATE 構文があるため必須入力列です。

<?xml version="1.0"?><definitions name="TemperatureService" targetNamespace=http://www.xmethods.net/sd/TemperatureService.wsdl"xmlns:tns="http://www.xmethods.net/sd/TemperatureService.wsdl"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns="http://schemas.xmlsoap.org/wsdl/"><message name="getTempRequest"><part name="zipcode" type="xsd:string"/></message><message name="getTempResponse"><part name="return" type="xsd:float"/></message><portType name="TemperaturePortType"><operation name="getTemp"><input message="tns:getTempRequest"/><output message="tns:getTempResponse"/></operation></portType><binding name="TemperatureBinding" type="tns:TemperaturePortType"><soap:binding style="rpc"transport="http://schemas.xmlsoap.org/soap/http" /><operation name="getTemp"><soap:operation soapAction="" /><input><soap:body use="encoded" namespace="urn:xmethods-Temperature"encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /></input><output><soap:body use="encoded" namespace="urn:xmethods-Temperature"encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /></output></operation></binding><service name="TemperatureService"><documentation>Returns current temperature in a given U.S. zipcode</documentation><port name="TemperaturePort" binding="tns:TemperatureBinding"><soap:addresslocation="http://services.xmethods.net:80/soap/servlet/rpcrouter" /></port></service></definitions>

図 22. GETTEMP Web サービス

376 フェデレーテッド・データ・ソース 構成ガイド

Page 387: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Web サービス・ラッパーのニックネーム・オプション URL および SOAPACTION

は、ニックネーム作成時に指定したエンドポイントまたはアドレスをオーバーライドする機能を提供します。 照会に URLCOLUMN または SOAPACTIONCOLUMN

を使用可能にした列を使用する場合、同じニックネームにダイナミック・アドレスを使用できます。ニックネーム作成時に、ニックネーム・オプション URL およびSOAPACTION を定義し、列オプションで URLCOLUMN およびSOAPACTIONCOLUMN を使用可能にした場合、Web サービス・ラッパーの遅延バインディング機能を使用していることになります。 SOAPACTION ニックネーム・オプションの値が HTTP ヘッダー中の属性になります。 URL ニックネーム・オプションの値は、要求の送信先である HTTP URL です。

URL および SOAPACTION ニックネーム・オプションは、ダイナミック・ニックネーム関連を提供します。 これらのダイナミック・アドレスは、いくつかの会社が1 つの Web サービス・ポート・タイプをインプリメントする場合に役立ちます。Web サービス・ラッパーには、WSDL 文書間の違いが異なる URL およびSOAPACTIONS のみであることが必要です。 遅延バインディング機能を使用して、異なる会社が使用する異なるサービス・エンドポイントに対して同じニックネームを作成、使用することができます。 URL および SOAPACTION 値は、WSDL

文書から取られています。

以下の例では、URLCOLUMN および SOAPACTIONCOLUMN 列オプションを使用する方法を示します。

CREATE NICKNAME GETTEMP (ZIPCODE VARCHAR (48) OPTIONS(TEMPLATE ’&column’),RETURN VARCHAR (48) OPTIONS(XPATH ’./return/text()’))FOR SERVER "EHPWSSERV"OPTIONS(URL ’http://services.xmethods.net:80/soap/servlet/rpcrouter’,SOAPACTION ’ ’ ,TEMPLATE ’<soapenv:Envelope><soapenv:Body><ns2:getTemp><zipcode>&zipcode[1,1]</zipcode></ns2:getTemp></soapenv:Body></soapenv:Envelope>’,XPATH ’/soapenv:Envelope/soapenv:Body/*’ ,NAMESPACES ’ ns1="http://www.xmethods.net/sd/TemperatureService.wsdl",ns2="urn:xmethods-Temperature" ,soapenv="http://schemas.xmlsoap.org/soap/envelope/"’);

図 23. GETTEMP ニックネーム

第 20 章 Web サービス・データ・ソース 377

Page 388: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

以下の例では、URLCOLUMN 列オプションおよび SOAPACTIONCOLUMN 列オプションが使用可能で定義された列、URLCOL および SOAPACTIONCOL を使用します。

SELECT * FROM supplier_endpoints p,GetPartQuote qWHERE partnumber=1234 ANDp.url=q.urlcol ANDp.soapaction=q.soapactioncol;

SQL アプリケーションは、ニックネーム作成時に特定のエンドポイントを定義する代わりに、使用するエンドポイントの選択を照会が実行されるまで延期することができます。

Web サービス・ラッパーは、大量の WSDL 文書データをフラグメントに分離して、使用されるメモリーの合計を縮小することができます。 Web サービス・ニックネームの作成時に、DB2 コントロール・センターの「プロパティー」ウィンドウの「設定」ページで STREAMING オプションを指定してください。 Web サービス・ラッパーは、その結果得られる XML データのストリームを処理し、それから照会フラグメントによって要求されている情報を抽出します。 Web サービス・ラッパーは、フラグメントを一度に 1 つずつ解析します。 STREAMING オプションを使用するのは、大規模な XML 文書を解析する場合だけにしてください。

Web サービス・ラッパーの登録Web サービス・データ・ソースにアクセスするには、ラッパーを登録する必要があります。ラッパーは、データ・ソースとの通信やデータの検索のためにフェデレーテッド・サーバーによって使用されます。ラッパーは、ライブラリー・ファイルのセットとしてインプリメントされます。

始める前に

CREATE WRAPPER ラッパー・ステートメントで指定する正しい名前については、『Web サービス・ラッパー・ライブラリー・ファイル』のリストを参照してください。

このタスクについて

CREATE NICKNAME GetPartQuote(partnumber INTEGER OPTIONS (TEMPLATE’&column’),price FLOAT OPTIONS (XPATH ’./price’)),urlcol VARCHAR(100) OPTIONS (URLCOLUMN ’Y’),soapactioncol VARCHAR(100) OPTIONS (SOAPACTIONCOLUMN ’Y’),FOR SERVER myServerOPTIONS (...SOAPACTION ’http://example.com/GetPartPrice’ ,URL ’http://mycompany.com:9080/GetPartPrice’’,...)

図 24. GetPartQuote ニックネーム

378 フェデレーテッド・データ・ソース 構成ガイド

Page 389: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

指定するラッパー・ライブラリー・ファイルの名前は、フェデレーテッド・サーバーのオペレーティング・システムによって異なります。

手順

ラッパーを登録するには、次のようにします。

ラッパーの名前とラッパー・ライブラリー・ファイルの名前を指定して、CREATE

WRAPPER ステートメントを発行します。 例えば、Windows を使用するフェデレーテッド・サーバーで websr_wrapper という名前のラッパーを登録するためには、次のステートメントを発行します。

CREATE WRAPPER websr_wrapper LIBRARY ’db2ws.dll’;

Web サービス・ラッパー・ライブラリー・ファイルWeb サービス・ラッパー・ライブラリー・ファイルは、フェデレーテッド・サーバーのインストール時にフェデレーテッド・サーバーに追加されます。

IBM WebSphere Federation Server をインストールすると、デフォルトのディレクトリー・パスにライブラリー・ファイルが追加されます。例えば、フェデレーテッド・サーバーが AIX 上で実行されている場合、ディレクトリー・パスに追加されるラッパー・ライブラリー・ファイルは、libdb2ws.a、libdb2wsF.a、およびlibdb2wsU.a です。デフォルトのラッパー・ライブラリー・ファイルは libdb2ws.a

です。他のラッパー・ライブラリー・ファイルは、特定のラッパー・オプションで使用されます。

CREATE WRAPPER ステートメントに LIBRARY パラメーターを含め、デフォルトのラッパー・ライブラリー・ファイルの名前を指定する必要があります。

以下の表に、デフォルトのディレクトリー・パスとデフォルトのラッパー・ライブラリー・ファイルの名前がリストされています。

表 85. CREATE WRAPPER のライブラリー・ロケーションとファイル名

オペレーティング・システム

ディレクトリー・パス ラッパーのライブラリー・ファイル

AIX /usr/opt/<install_path>/lib32/

/usr/opt/<install_path>/lib64/

libdb2ws.a

Linux /opt/IBM/db2/<install_path>/lib32

/opt/IBM/db2/<install_path>/lib64

libsb2ws.so

Solaris /opt/IBM/db2/<install_path>/lib32

/opt/IBM/db2/<install_path>/lib64

libdb2ws.so

Windows %DB2PATH%¥bin db2ws.dll

v <install_path> は、IBM WebSphere Federation Server が UNIX または Linux

にインストールされる場合のディレクトリー・パスです。

%DB2PATH% は、IBM WebSphere Federation Server が Windows にインストールされる場合のディレクトリー・パスを指定するのに使用される環境変数です。デフォルトの Windows ディレクトリー・パスは、C:¥Program Files¥IBM¥SQLLIB

です。

第 20 章 Web サービス・データ・ソース 379

Page 390: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Web サービス・データ・ソースのサーバー定義の登録サーバー定義は、DB2 コントロール・センターまたは DB2 コマンド行を使用することによって登録できます。 このタスクでは、DB2 コマンド行から Web サービス¥サーバー定義を登録する方法を説明します。

このタスクについて

アクセスする Web サービスそれぞれに対して、サーバー定義を登録しなければなりません。

手順

Web サービス・ラッパーのサーバー定義をフェデレーテッド・システムに登録するには、CREATE SERVER ステートメントを発行します。

たとえば、Windows で ws_server という名前の Web サービス・サーバー定義を登録するには、次のステートメントを発行します。

CREATE SERVER ws_server WRAPPER websr_wrapper;

CREATE SERVER ステートメントで、オプションのタイムアウト・パラメーターとプロキシー・サーバー・パラメーターを設定できます。

CREATE SERVER ステートメント - Web サービス・ラッパーの例CREATE SERVER ステートメントは、タイムアウト設定およびプロキシー・サーバー設定を使用して Web サービス・ラッパーのサーバー定義を登録するのに使用します。

Web サービス文書にアクセスするのにプロキシー・サーバーを使用しない場合であっても、やはりサーバー定義を登録する必要があります。 フェデレーテッド・オブジェクトの階層では、Web サービス・ファイルを特定のサーバー定義オブジェクトと関連付けることが必要となります。次のステートメントを発行して、サーバー定義を登録します。

CREATE SERVER my_server WRAPPER my_wrapperOPTIONS (TIMEOUT ’60’);

my_serverA name that you assign to the Web services server definition. 重複するサーバー定義名は使用できません。

WRAPPER my_wrapperCREATE WRAPPER ステートメントで指定したラッパー名。

TIMEOUT ’60’フェデレーテッド・サーバーがネットワーク転送と結果の計算を待つ時間(分単位) を指定します。

プロキシー・サーバーを使用する場合のサーバー定義

以下の条件のすべてが真である場合は、CREATE SERVER ステートメントでプロキシー・サーバー・オプションを使用する必要があります。

v URI を使用してデータを検索する。

380 フェデレーテッド・データ・ソース 構成ガイド

Page 391: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v 使用する URI はプロキシーを介してファイアウォールの反対側にあるデータを検索する。

v 使用されるファイアウォールまたはプロキシーは、HTTP である。

指定するオプションは、アクセスするプロキシー・サーバーのタイプによって異なります。

使用するプロキシーのタイプ、およびプロキシー・オプションに指定する必要のある設定については、ネットワーク管理者に問い合せてください。

HTTP プロキシー・サーバーのサーバー定義

サーバー定義を登録して、HTTP プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE SERVER ws_server_httpWRAPPER ws_wrapperOPTIONS (PROXY_TYPE ’HTTP’, PROXY_SERVER_NAME ’proxy_http’,PROXY_SERVER_PORT ’8080’);

ws_server_http

A name that you assign to the Web services server definition. 重複するサーバー定義名は使用できません。

WRAPPER ws_wrapper

CREATE WRAPPER ステートメントで指定したラッパー名。

PROXY_TYPE ’HTTP’

ファイアウォールで保護された状態でインターネットにアクセスする際に使用する、プロキシー・タイプを指定します。

PROXY_SERVER_NAME ’proxy_http’

プロキシー・サーバー名または IP アドレスを指定します。

PROXY_SERVER_PORT ’8080’

プロキシー・サーバーのポート番号を指定します。

認証情報のある HTTP プロキシー・サーバーのサーバー定義

サーバー定義を登録して、認証情報のある HTTP プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE SERVER ws_server_httpWRAPPER ws_wrapperOPTIONS (PROXY_TYPE ’HTTP’, PROXY_SERVER_NAME ’proxy_http’,PROXY_SERVER_PORT ’1081’, PROXY_AUTHID ’Sampson’,PROXY_PASSWORD ’sailing4me’);

PROXY_AUTHID ’Sampson’

プロキシー・サーバーのユーザー名を指定します。

PROXY_PASSWORD ’sailing4me’

ユーザー名 Sampson に関連したプロキシー・サーバーのパスワードを指定します。

第 20 章 Web サービス・データ・ソース 381

Page 392: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Web サービス・ラッパーを介してセキュリティーを使用できるようにするWeb サービス・ラッパーは、CREATE USER MAPPING ステートメントを使用して、HTTP 認証をサポートします。

Web サービス・ラッパーは、SOAP メッセージのトランスポート・プロトコルとして HTTPS をサポートします。 Web サービス・プロバイダーが生成する WSDL 文書には、URL に https:// が含まれています。 したがって、HTTP 要求または HTTP

応答中の SOAP メッセージは暗号化されます。

Web サービスがトランスポート・プロトコルとして HTTPS を使用する場合、SSL_VERIFY_SERVER_CERTIFICATE ラッパーまたはサーバー・オプションを使用して、識別のためにサーバーが送信する SSL 証明書を検証するようにラッパーを構成することができます。 Web サービス・ラッパーは、自己署名証明書で Web サービスを呼び出すことができます。

ユーザー・マッピングは任意です。 ユーザー・マッピングを指定しない場合、Web

サービス・プロバイダーが認証情報を期待する際にエラーが出る可能性があります。 サーバーの中には、サービスへのアクセスを制約するために認証を使用するものがあります。 認証が必要であるかは、WSDL 文書中の情報からは明らかではありません。

手順

フェデレーテッド・サーバーのユーザー ID を Web サービスのユーザー ID とパスワードにマップするには、以下のようにします。

CREATE USER MAPPING ステートメントを発行します。

例えば、以下の CREATE USER MAPPING ステートメントの場合、S1 サーバー上の Web サービス・ニックネームがアクセスされると、HTTP 要求が SYSTEM というユーザー ID、MANAGER というパスワードで送信されます。

CREATE USER MAPPINGFOR RSPALTEN SERVER S1OPTIONS ( REMOTE_AUTHID ’SYSTEM’, REMOTE_PASSWORD ’MANAGER’PROXY_AUTHID ’ID’ PROXY_PASSWORD ’PWD’SSL_CLIENT_CERTIFICATE_LABEL ’LABEL’);

Web サービス・データ・ソースのニックネームの登録登録する Web サービス・サーバー定義ごとに、アクセスする各データ・ソースに対応するニックネームを登録する必要があります。 ニックネームは、コマンド行または DB2 コントロール・センターを使用して登録できます。

手順

Web サービス・データ・ソースのニックネームを登録するには、次のようにします。

次の方法のいずれかを選択します。

v Web サービス・データ・ソースのニックネームの登録 (DB2 コマンド行)

382 フェデレーテッド・データ・ソース 構成ガイド

Page 393: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v Web サービス・データ・ソースのニックネームの登録 (DB2 コントロール・センター)

CREATE NICKNAME ステートメント - Web サービス・ラッパーの例Web サービスへのアクセスのためにニックネームを作成する場合、Web サービス操作の入力メッセージ中のそれぞれの値ごとに入力列を、またWeb サービス操作の出力メッセージ中のそれぞれの値ごとに出力列を作成します。 その入出力列定義は、ニックネーム列オプション定義でコントロールします。

TEMPLATE 列オプションは、列が入力列であることを指定します。 XPATH 列オプションは、列が出力列であることを指定します。 TEMPLATE ニックネーム・オプションに大括弧で囲まれた表記 ([1,1]) が含まれる場合、列は必須入力列です。TEMPLATE ニックネーム・オプションに大括弧で囲まれた表記 ([0,1]) が含まれる場合、列はオプショナルの入力列です。

NAMESPACES ニックネーム・オプションは、入出力 XML 文書のエレメントに使用されるニックネームを解決するためにフェデレーテッド・システムが使用する、名前値のペアのコンマで区切られたリストです。 NAMESPACES はメッセージ要求に使用され、TEMPLATE ニックネーム・オプションに使用される接頭部が定義されます。 NAMESPACES ニックネーム・オプションは、WSDL または XML スキーマで定義されたネーム・スペース URI がある XPath 式で使用されている接頭部を解決するために使用されます。 XPath 式は、Web サービスから戻される XML 文書で適用されます。

例 1: 必須入力列

以下の例では、getQuote という名前の Web サービスを使用するニックネームを示します。 この Web サービスは株式チッカー・シンボルを読み取り、取引価格を戻します。 以下の DDL ステートメントは、DB2 コントロール・センターのDiscovery ツールによって作成されます。

CREATE NICKNAME "stockquote.stockquoteport_getquote_nn" (symbol VARCHAR (48) OPTIONS(TEMPLATE ’&column’),result VARCHAR (48) OPTIONS(XPATH ’./Result/text()’))FOR SERVER "xmethods_server" OPTIONS(URL ’http://66.28.98.121:9090/soap’ ,SOAPACTION ’urn:xmethods-delayed-quotes#getQuote’ ,TEMPLATE ’<soapenv:Envelope><soapenv:Body><ns2:getQuote><symbol>&symbol[1,1]</symbol></ns2:getQuote></soapenv:Body></soapenv:Envelope>’,XPATH ’/soapenv:Envelope/soapenv:Body/*’ ,NAMESPACES ’ns2="urn:xmethods-delayed-quotes" ,ns1="http://www.example.com/wsdl/net.xmethods.services.stockquote.StockQuote/" ,soapenv="http://schemas.xmlsoap.org/soap/envelope/" ’);

ニックネーム TEMPLATE オプションは、列 SYMBOL に [1,1] 指定が含まれるため、列を必須入力列として指定します。ニックネーム TEMPLATE オプションでは、全部の SOAP エンベロープが Web サービスに指定されています。 getQuote

入力値は、SOAP エンベロープおよびボディ・エレメントに含まれています。

第 20 章 Web サービス・データ・ソース 383

Page 394: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

XPATH ニックネーム・オプションには、SOAP エンベロープおよびボディ・タグを通して取引価格を検索するための情報が含まれています。

以下の照会のように、stockquote.stockquoteport_getquote_nn ニックネームを使用してWeb サービスにアクセスします。

SELECT * FROM "stockquote.stockquoteport_getquote_nn"WHERE symbol=’IBM’;

シンボルが必須入力列であるため、このステートメントでは述部 symbol=’IBM’ を使用する必要があります。入力列では、等価述部のみが有効な述部です。 等価述部のそれぞれが、入力メッセージ中の値を設定します。 入力列がオプショナルである場合には、その列上に等価述部は必要ではありません。入力列が必須である場合、等価述部で照会を発行する必要があります。 等価式に IBM などのリテラル値、あるいは、中間結合表またはニックネームからの値を使用することができます。

例 2: 繰り返しエレメントおよび子ニックネーム

以下の例では、getZooReport という名前の動物園のレポートを作成する Web サービスを使用します。 入力値は、動物園 ID です。 出力値は、以下のスキーマで表されるレポートです。

384 フェデレーテッド・データ・ソース 構成ガイド

Page 395: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

以下の DDL ステートメントは、スキーマを含む WSDL に基づいて DB2 コントロール・センターの Discovery ツールにより生成されます。

<wsdl:definitions name="Name"targetNamespace="http://myzoo.com"...<wsdl:types><xsd:schema elementFormDefault="qualified" targetNamespace="http://myzoo.com"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><xsd:element name="Animal"><xsd:complexType><xsd:sequence><xsd:element ref="tns:Name"/><xsd:element ref="tns:Species"/><xsd:element ref="tns:Lot"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="AnimalCareList"><xsd:complexType><xsd:sequence><xsd:element maxOccurs="unbounded" minOccurs="1" ref="tns:Animal"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="Count" type="xsd:string"/><xsd:element name="LastModified" type="xsd:string"/><xsd:element name="Lot" type="xsd:string"/><xsd:element name="Name" type="xsd:string"/><xsd:element name="NumberOfCages" type="xsd:string"/><xsd:element name="Species" type="xsd:string"/><xsd:element name="Zoo"><xsd:complexType><xsd:sequence><xsd:element ref="tns:ZooName"/><xsd:element ref="tns:Count"/><xsd:element ref="tns:LastModified"/><xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:Zookeeper"/></xsd:sequence><xsd:attribute name="id" type="xsd:string" use="optional"/></xsd:complexType></xsd:element><xsd:element name="ZooName" type="xsd:string"/><xsd:element name="Zookeeper"><xsd:complexType><xsd:sequence><xsd:element ref="tns:Name"/><xsd:element ref="tns:NumberOfCages"/><xsd:element ref="tns:AnimalCareList"/></xsd:sequence><xsd:attribute name="id" type="xsd:string" use="optional"/></xsd:complexType></xsd:element></xsd:schema></wsdl:types>...

図 25. getZooReport Web サービス

第 20 章 Web サービス・データ・ソース 385

Page 396: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CREATE NICKNAME zooport_getzooreport_nn (zooid VARCHAR (48) OPTIONS(TEMPLATE ’&column’),zoo_id VARCHAR (48) OPTIONS(XPATH ’./ns1:Zoo/@ns1:id’),report_zooname VARCHAR (48) OPTIONS(XPATH ’./ns1:Zoo/ns1:ZooName/text()’),report_count VARCHAR (48) OPTIONS(XPATH ’./ns1:Zoo/ns1:Count/text()’),report_lastmodified VARCHAR (48)OPTIONS(XPATH ’./ns1:Zoo/ns1:LastModified/text()’),zooport_getzooreport_pkey VARCHAR (16) FOR BIT DATA NOT NULLOPTIONS(PRIMARY_KEY ’YES’))FOR SERVER "zooserver" OPTIONS(URL ’http://localhost:9080/MaelstromTest/services/ZooPort’ ,SOAPACTION ’http://myzoo.com/getZooReport’ ,TEMPLATE ’<soapenv:Envelope><soapenv:Body><zooId>&zooId[1,1]</zooId></soapenv:Body></soapenv:Envelope>’ ,XPATH ’/soapenv:Envelope/soapenv:Body’ ,NAMESPACES ’ soapenv="http://schemas.xmlsoap.org/soap/envelope/" ,ns1="http://myzoo.com " ’);

図 26. 親ニックネーム – zooport_getzooreport_nn

CREATE NICKNAME zooport_getzooreport_report_nn (zooport_getzooreport_fkey VARCHAR (16)FOR BIT DATA NOT NULLOPTIONS(FOREIGN_KEY ’ZOOPORT_GETZOOREPORT_NN’),zookeeper_id VARCHAR (48) OPTIONS(XPATH ’./ns1:Zookeeper/@ns1:id’),report_name VARCHAR (48) OPTIONS(XPATH ’./ns1:Zookeeper/ns1:Name/text()’),report_numberofcages VARCHAR (48)OPTIONS(XPATH ’./ns1:Zookeeper/ns1:NumberOfCages/text()’),zooport_getzooreport_pkey VARCHAR (16)FOR BIT DATA NOT NULL OPTIONS(PRIMARY_KEY ’YES’))FOR SERVER "zooserver" OPTIONS(XPATH ’./ns1:Zoo’ ,NAMESPACES ’ soapenv="http://schemas.xmlsoap.org/soap/envelope/" ,ns1="http://myzoo.com" ’);

図 27. ニックネーム zooport_getzooreport_nn の子

CREATE NICKNAME zooport_getzooreport_report_report_nn (zooport_getzooreport_fkey VARCHAR (16) FOR BIT DATA NOT NULLOPTIONS(FOREIGN_KEY ’zooport_getzooreport_report_nn’),report_name VARCHAR (48)OPTIONS(XPATH ’./ns1:Animal/ns1:Name/text()’),report_species VARCHAR (48)OPTIONS(XPATH ’./ns1:Animal/ns1:Species/text()’),report_lot VARCHAR (48) OPTIONS(XPATH ’./ns1:Animal/ns1:Lot/text()’))FOR SERVER "zooserver" OPTIONS(XPATH ’./ns1:Zookeeper/ns1:AnimalCareList’ ,NAMESPACES ’ soapenv="http://schemas.xmlsoap.org/soap/envelope/" ,ns1="http://myzoo.com" ’);

図 28. zooport_getzooreport_report_nn の子

386 フェデレーテッド・データ・ソース 構成ガイド

Page 397: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

スキーマには、シーケンス・エレメントとして知られる、繰り返しエレメントが含まれます。 386ページの図 26、 386ページの図 27、および 386ページの図 28 で示されているように、これらの繰り返しエレメントが親ニックネームの子ニックネームになります。 たとえば、zooname、count、lastmodified、および zookeeper はすべて zoo のエレメントです。 エレメント zoo には、0 またはそれ以上の zookeeper

エレメントが含まれます。 ルート・ニックネーム zoo には列、zooname、count、および lastmodified が含まれます。 子ニックネーム zookeeper は、DB2 コントロール・センターの Discovery ツールによって作成され、zookeeper の繰り返しエレメントを説明します。 zookeeper 列の 3 番目のエレメント animalcarelist も 0 またはそれ以上のエレメントを含むため、子ニックネームzooport_getzooreport_report_report_nn になります。次の図では、ニックネーム階層を示します。

以下のステートメントは、動物園レポートの Web サービスにアクセスするためニックネームに発行する照会の標準的なものです。 このステートメントを発行する際には、特定の ID に基づき、また子ニックネームの動物園レポートの主キーと外部キーがどこで一致するかに基づいて動物園レポートからの情報を検索します。

SELECT * FROM zooport_getzooreport_nn ,zooport_getzooreport_report_nn zk ,zooport_getzooreport_report__report__nn aWHERE zooid=’1’AND zooport_getzooreport_pkey=zk.zooport_getzooreport_fkeyand zk.zooport_getzooreport_pkey=a.zooport_getzooreport_fkey;

例 3: 遅延バインディング

以下の例では、late binding オプションを使用する方法を示します。 このオプションは、DB2 コントロール・センターまたは DB2 コマンド行から使用できます。 ニックネーム・オプション URL および SOAPACTION を定義し、ニックネーム作成

ルート・ニックネーム: zooport_getzooreport_nn

Zoo (親):

v ZooName

v Count

v LastModified

v ZooKeeper (0 またはそれ以上の ZooKeeper エレメントがある)

子ニックネーム: zooport_getzooreport_report_nn

ZooKeeper エレメント

– Name

– NumberOfCages

– AnimalCareList (0 またはそれ以上の Animal エレメントがある)

子ニックネーム: zooport_getzooreport_report_report_nn

Animal

- Name

- Species

- Lot

図 29. 親 ―> 子 ―> ニックネーム階層

第 20 章 Web サービス・データ・ソース 387

Page 398: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

時に列オプション URLCOLUMN および SOAPACTIONCOLUMN を使用可能にした場合、遅延バインディング機能を使用していることになります。 DB2 コントロール・センターは列オプション URLCOLUMN および SOAPACTIONCOLUMN を作成し、それらの列の値を yes に設定します。

以下の例は、ある会社のためにすべてのサプライヤーがインプリメントする部品の見積価格を提供する Web サービスのものです。 ここに、URLCOLUMN およびSOAPACTIONCOLUMN 定義を含む CREATE NICKNAME ステートメントがあります。

CREATE NICKNAME GetPartQuote(partnumber INTEGER OPTIONS (TEMPLATE’&column’),price FLOAT OPTIONS (XPATH ’./price’)),urlcol VARCHAR(100) OPTIONS (URLCOLUMN ’Y’),soapactioncol VARCHAR(100) OPTIONS (SOAPACTIONCOLUMN ’Y’),FOR SERVER myServerOPTIONS (...SOAPACTION ’http://example.com/GetPartPrice’ ,URL ’http://mycompany.com:9080/GetPartPrice’’,...)

単一の照会ですべてのサプライヤーからの見積価格を得るには、SOAPACTION および URL 列オプションにそれぞれのサプライヤーが使用する値が必要です。 照会は次のようになります。

SELECT * FROM supplier_endpoints p,GetPartQuote qWHERE partnumber=1234 ANDp.url=q.urlcol ANDp.soapaction=q.soapactioncol;

ローカル表 supplier_endpoints には、Web サービスを呼び出すのに使用するすべての URL および SOAP が含まれています。 ORDER BY price 文節を含めて、この部品が最も安価なサプライヤーを判別することができます。

例 4: ESCAPE_INPUT 列オプション

照会に、入力値として XML フラグメントを含めることができます。 ニックネームを登録する際に、列オプション ESCAPE_INPUT=N を含めてください。このオプションは不等号括弧 (< および >) などの特殊文字を入力値の XML フラグメント中に維持します。

SOAP メッセージの一部として XML を送信することが必要である繰り返し入力値がスキーマに含まれている場合、ESCAPE_INPUT 列オプションを使用して、正しいXML で出力メッセージを作成することができます。

たとえば、動物園 Web サービスには新しい動物園の飼育係とその飼育係と関連した動物を追加する操作が含まれています。 この例のスキーマでは、AnimalCareList

は複数の動物を持つことができます。 

CREATE NICKNAME add_zookeeper(zookeeper_id VARCHAR(48) OPTIONS(TEMPLATE ’...’),name VARCHAR(48) OPTIONS(TEMPLATE ’...’),numberofcages VARCHAR(48) OPTIONS(TEMPLATE ’...’),animals VARCHAR(3000) OPTIONS( TEMPLATE ’...’ , ESCAPE_INPUT ’N’)...

388 フェデレーテッド・データ・ソース 構成ガイド

Page 399: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

新しい動物園の飼育係を 2 匹の動物と共に追加するには、以下のような照会を発行します。

SELECT * FROM add_zookeeperWHERE zookeeper_ID=’37’ ANDname=’Amit Kapoor’ ANDnumberofcages=’3’ ANDanimals=’<AnimalCareList xmlns="http://myzoo.com"><Animal><Name>Larry</Name><Species>Gorilla</Species><Lot>7</Lot></Animal><Animal><Name>Bill</Name><Species>Chimpanzee</Species><Lot>8H</Lot></Animal></AnimalCareList>’;

add_zookeeper ニックネームは、Web サービスの状態を変更または情報を更新することができる Web サービス操作です。 非リレーショナル・ラッパーを更新することはできませんが、この例の SELECT ステートメントは新しい動物園の飼育係を追加して動物園の情報を更新します。

xsd:anyType などのエレメントを使用するスキーマには、ESCAPE_INPUT 列オプションを使用することもできます。 この場合、エレメントのタイプは知られていません。 入力に対して任意の XML フラグメントを指定できるよう、そのエレメントには ESCAPE_INPUT 列オプションを入力列に使用できます。

Web サービス・ラッパーの TEMPLATE オプションWeb サービス・ラッパーには、ニックネームの作成時に、CREATE NICKNAME ステートメントで TEMPLATE オプションが必要です。

Web サービス・ラッパー

Web サービス・ラッパーの場合、属性が必須かオプションかは、WSDL 文書内の定義、および列の導出方法によって異なります。列は、エレメントまたはエレメントの属性のいずれかから導出できます。

v 列がエレメントから導出されている場合、列がオプションかどうかは minOccurs

値によって判別されます。

v minOccurs の値が 0 である場合、列はオプションです。

v minOccurs の値が 1 である場合、列は必須です。

v 列がエレメントの属性から導出されている場合、列がオプションかどうかは属性に使用されている値により判別されます。

v 属性に値 use=optional が含まれている場合、列はオプションです。

v 属性に値 use=required が含まれている場合、列は必須です。

次の例は、列に関連付けられているスキーマ定義内の属性を示しています。

<xsd:complexType><xsd:sequence><xsd:element ref="tns:ZooName"/><xsd:element ref="tns:Count"/>

第 20 章 Web サービス・データ・ソース 389

Page 400: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

<xsd:element ref="tns:LastModified"/><xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:Zookeeper"/></xsd:sequence><xsd:attribute name="id" type="xsd:string" use="optional"/></xsd:complexType>

Web サービス・ニックネームのフェデレーテッド・ビューの作成Web サービス・ニックネームのフェデレーテッド・ビューを作成して、Web サービス・ニックネーム階層の断片を結合する照会が適切に実行されるようにします。

このタスクについて

Web サービス文書を説明するニックネームの階層のフェデレーテッド・ビューを定義できます。 フェデレーテッド・ビューを使用すると、Web サービス・ニックネーム階層の断片を結合する照会が適切に実行されるようになります。

Web サービス・ラッパーでは、すべてのニックネームを再び親ニックネームに含めるために、任意の子ニックネームからの結合を必要とします。親ニックネームがSELECT ステートメントに含まれていないと、子ニックネームの SELECT ステートメントだけが失敗します。照会に必要なすべてのニックネームを含めるより望ましい方法は、フェデレーテッド・ビューを定義することです。

手順

Web サービス・ニックネームのフェデレーテッド・ビューを作成するには次のようにします。

1. Web サービスの 1 つの操作に関連するすべてのニックネームを結合する場合、それらのニックネームすべてを含むビューを定義します。

2. ビューの WHERE 文節では、PRIMARY_KEY および FOREIGN_KEY 列オプションによって関連するすべての列に対して、結合述部を使用します。

以下の例では、主キーは、ニックネーム zooport_getzooreport_report_nn 中の列ooport_getzooreport_pk にあります。 外部キーは、ニックネームzooport_getzooreport_report_report_nn 中の列 ooport_getzooreport_fkey にあります。

CREATE VIEW zooreport(zooid, zooname, number_of_zookeeper,lastmodified,zookeeper_id, zookeeper_name,cages, animal_name, animal_species, animal_lot)AS ( SELECT zooid, report_zooname,report_count, report_lastmodified,zookeeper_id, zk.report_name, report_numbercages,a.report_name, report_species,report_lotFROM zooport_getzooreport_nn ,zooport_getzooreport_report_nn as zk,zooport_getzooreport_report_report_nn as aWHERE zk.ooport_getzooreport_pkey=a.ooport_getzooreport_fkeyAND zooport_getzooreport_pkey=zk.ooport_getzooreport_fkey);

以下の SELECT ステートメントで、すべてのニックネームからの情報を得ることができます。

SELECT * FROM zooreport WHERE zooid=’1’;

390 フェデレーテッド・データ・ソース 構成ガイド

Page 401: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Web サービス・データ・ソース - 照会の例Web サービス・ラッパーの SQL 照会の例を示します。

例 1: マテリアライズ照会表の使用

マテリアライズ照会表は、照会の結果をローカルにキャッシュに入れて、照会のパフォーマンスを向上させるために使用します。 Web サービス・データ・ソースからのニックネームを使用して、マテリアライズ照会表を作成することができます。照会によっては、マテリアライズ照会表が基本表にアクセスしないで照会に応答できるかを、データベースは自動的に判別できます。 以下のプロシージャーは、マテリアライズ照会表の作成およびデータ設定の方法を示します。

1. ローカルまたは基本表を、次のようにして作成します。

CREATE TABLE mystocks(ticker VARCHAR(10));

キャッシュに入れるすべての値の維持に、ローカル表を使用できます。

2. キャッシュに入れるすべての値を表に挿入します。

INSERT INTO mystocks VALUES(’IBM’);INSERT INTO mystocks VALUES(’MSFT’);...

3. Web サービス・ニックネームを次のようにして作成します。

CREATE NICKNAME stockquote_nn (ticker VARCHAR(40) OPTIONS (TEMPLATE ’&column’),price VARCHAR(16) OPTIONS (XPATH ’./Result/text()’))FOR SERVER stock_serverOPTIONS (TEMPLATE ’<ticker>&column</ticker>’XPATH ’./Result/text()’ );

4. ニックネームおよびローカル表から成るビューを、次のようにして作成します。

CREATE VIEW stock_quote_view (ticker, price)AS (SELECT nn.ticker, nn.priceFROM stockquote_nn nn, mystocks sWHERE nn.ticker=s.ticker);

5. マテリアライズ照会表を次のようにして作成します。

CREATE TABLE stockquote_MQT (ticker, ticker2, price)as (SELECT nn.ticker,s.ticker as ticker2, nn.priceFROM stockquote_nn nn, mystocks sWHERE nn.ticker=s.ticker )DATA INITIALLY DEFERRED REFRESH DEFERRED;

マテリアライズ照会表の出力リストに結合述部で使用されている VARCHAR 列(nn.ticker and s.ticker) のすべてを含め、マテリアライズ照会表がフェデレーテッド・データベースに使用される機会を最大化します。

マテリアライズ照会表の最新表示を据え置くには、REFRESH DEFERRED キーワードを指定します。 REFRESH DEFERRED キーワードで指定されたマテリアライズ照会表は、基礎となる基本表への変更を反映しません。 文節 DATA

INITIALLY DEFERRED を使用して、データがCREATE TABLE ステートメントの一部として表に挿入されないようにします。

6. REFRESH TABLE ステートメントを発行して表にデータを追加します。 表中のデータは、REFRESH TABLE ステートメントの発行時の照会の結果をスナップ

第 20 章 Web サービス・データ・ソース 391

Page 402: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ショットとして反映します。 以下の例では、stockquote_MQT 表にデータを追加し、現在の最新表示経過時間の特殊レジスターの値を設定します。

REFRESH TABLE stockquote_MQT;SET CURRENT REFRESH AGE any;

実行先がマテリアライズ照会表のデータである照会は、実行先が基本表のデータである照会よりも高速です。 マテリアライズ照会表を使用する場合、以下のようにニックネームではなくビューを参照します。

SELECT * FROM stock_quote_viewWHERE ticker=’IBM’;

キャッシュに入れられていない値を選択する照会を発行した場合、0 行が戻されます。

例 2: 主キーと外部キーを使用した結合の実行

PRIMARY_KEY および FOREIGN_KEY 列は、親ニックネームと子ニックネームの間の関係を定義するために使用されます。 各親ニックネームは、主キー列オプションをもっていなければなりません。ある親ニックネームの子は、親ニックネームの主キー列を参照する外部キー列オプションによって定義します。 1 つのニックネームに対して複数の子は可能ですが、親については 1 つのみ可能です。

これらの列にはバイナリー・データのみが含まれるため、列は FOR BIT DATA

NOT NULL キーワードで定義されています。 DB2 コントロール・センターは、ニックネームを作成する時にこの定義を生成します。 ニックネームを作成する時に、PRIMARY_KEY および FOREIGN_KEY 列を FOR BIT DATA NOT NULL として明示的に定義することもできます。

以下の例では、Web サービス・ラッパーが PRIMARY_KEY およびFOREIGN_KEY 列を使用して親ニックネームと子ニックネームを関連付ける方法を示します。

CREATE NICKNAME zooport_getzooreport_nn (zooid VARCHAR (48) OPTIONS(TEMPLATE ’&column’),zoo_id VARCHAR (48) OPTIONS(XPATH ’./ns1:Zoo/@id’),report_zoo_zooname VARCHAR (48)OPTIONS(XPATH ’./ns1:Zoo/ns1:ZooName/text()’),report_zoo_count VARCHAR (48)OPTIONS(XPATH ’./ns1:Zoo/ns1:Count/text()’),report_zoo_lastmodified VARCHAR (48)OPTIONS(XPATH ’./ns1:Zoo/ns1:LastModified/text()’),nn_pk VARCHAR (16) NOT NULL OPTIONS(PRIMARY_KEY ’YES’),url VARCHAR (256) OPTIONS(URLCOLUMN ’Y’),soapaction VARCHAR (256) OPTIONS(SOAPACTIONCOLUMN ’Y’)) FOR SERVER "mytestsrvr"OPTIONS(URL ’http://localhost:9080/MaelstromTest/services/ZooPort’,SOAPACTION ’http://myzoo.com/getZooReport’ ,TEMPLATE ’<soapenv:Envelope><soapenv:Body><zooId>&zooId[1,1]</zooId></soapenv:Body></soapenv:Envelope>’,XPATH ’/soapenv:Envelope/soapenv:Body’ ,NAMESPACES ’ soapenv="http://schemas.xmlsoap.org/soap/envelope/",ns1="http://myzoo.com" ’);

392 フェデレーテッド・データ・ソース 構成ガイド

Page 403: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CREATE NICKNAME zooport_getzooreport_report_zookeeper_nn (nn_fk VARCHAR (16) NOT NULLOPTIONS(FOREIGN_KEY ’ZOOPORT_GETZOOREPORT_NN’),zookeeper_id VARCHAR (48) OPTIONS(XPATH ’./@id’),report_zookeeper_name VARCHAR (48) OPTIONS(XPATH ’./ns1:Name/text()’),zookeeper_numbercages VARCHAR(48)OPTIONS(XPATH ’./ns1:NumberOfCages/text()’),nn_pk VARCHAR (16) NOT NULL OPTIONS(PRIMARY_KEY ’YES’))FOR SERVER "MYTESTSRVR" OPTIONS(XPATH ’./ns1:Zoo/ns1:Zookeeper’ ,NAMESPACES ’ soapenv="http://schemas.xmlsoap.org/soap/envelope/",ns1="http://myzoo.com" ’);

ニックネーム zooport_getzooreport_report_zookeeper_nn の外部キー nn_fk は、外部キー・オプションの親ニックネーム zooport_getzooreport_nn を指します。 指定された主および外部キー・ニックネーム列は、WSDL 文書の中のデータには対応しません。というのは、これらのニックネーム列には、ラッパーによって生成されたキーが含まれるからです。 これらのキーは、照会内でのみ固有である親と子ニックネーム間の関係を識別します。 子ニックネームが入力列を含む場合、親ニックネーム・オプション・テンプレートは、ニックネーム・テンプレート構造内で、その子ニックネームを参照します。

以下の SQL ステートメントは親ニックネームと子ニックネームを結合します。

SELECT *FROM zooport_getzooreport_nn a,zooport_getzooreport_report_zookeeper_nn z,WHERE a.nn_pk = z.nn_fkAND a.zooid = 100;

以下の記述では、照会実行時に Web サービス・ラッパーが TEMPLATE およびXPATH ニックネームと列オプションを使用する方法を説明します。 これは特定のインプリメンテーションの例として意図されたものではありません。

主キーと外部キー列を結合すると、Web サービス・ラッパーが Web サービス・プロバイダーへメッセージを送信し、Web サービス・プロバイダーからは行のセットが戻されます。 ラッパーは、列オプション・テンプレート (ZOOID VARCHAR

(48) OPTIONS(TEMPLATE ’&column’)) への参照の照会からの入力列の値 (a.zooid

= 100)、それからニックネーム・テンプレート・オプション(<zooId>&zooId[1,1]</zooId>) 中のすべての列参照を置き換えることにより、親ニックネームのメッセージを生成します。ニックネーム・テンプレート・オプションには列参照または子ニックネーム参照が含まれることがあります。 その後メッセージは Web サービスに送信されます。

ラッパーは、Web サービスが戻す文書にニックネーム・オプション XPATH を適用することにより、ニックネームの行を生成します。 ニックネーム・オプションXPATH が複数の XML フラグメントを戻す場合には、ニックネームには複数の行が含まれます。 列 XPATH オプションが、行を表す結果の XML フラグメントに適用され、列値を得ます。 ニックネームに 1 つ以上の間接的な親がある場合、親ニックネーム XPATH 式のすべてが、階層のトップから、このニックネームにニックネーム・オプション XPATH および列オプション XPATH が適用される手前まで、順番に適用されます。

第 20 章 Web サービス・データ・ソース 393

Page 404: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

394 フェデレーテッド・データ・ソース 構成ガイド

Page 405: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 21 章 XML データ・ソース

XML データ・ソースへのアクセスの構成フェデレーテッド・システムを使用すると、XML データ・ソースにあるデータと他のソースからの情報を統合させることができます。

手順

フェデレーテッド・サーバーが XML データ・ソースにアクセスするように構成するには、アクセスするデータ・ソースとオブジェクトの情報をフェデレーテッド・サーバーに渡す必要があります。フェデレーテッド・サーバーを構成したら、照会を作成して XML データ・ソースにアクセスできます。

XML ラッパーExtensible Markup Language (XML) は、構造化された文書およびデータ用の汎用フォーマットです。 XML では、タグを使用して文書内でデータを構造化します。

XML ファイルは .xml ファイル拡張子を使用します。HTML と同様、XML では不等号括弧 (< >) で囲んだ語をタグとして使用します。タグにより、文書内のデータが構造化されます。

以下の文書は、XML 文書のサンプルです。

© Copyright IBM Corp. 1998, 2006 395

Page 406: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

XML ラッパーがどのように機能するか

XML ラッパーにより、次のような種類のデータを照会するために SQL を使用できるようになります。

v 1 個のファイルとして保管されている複数の外部 XML 文書

v 1 つのディレクトリー・パス内にある複数の XML ファイル

v URI (Uniform Reference Identifier) で参照されるリモート XML ファイル

v リレーショナル列に保管された XML 文書

次の図は、XML ラッパーがフェデレーテッド・システムと連携する方法を示しています。

<?xml version="1.0" encoding=UTF-8"?><doc><customer id=’123’><name>...</name><address>...</address>...<order><amount>...</amount><date>...</date><item quant=’12’><name>...</name></item><item quant=’4’>...</item>...</order><order>...</order>...<payment><number>...</number><date>...</date></payment><payment>>...</payment>...</customer><customer id=’124’>...</customer></doc>

図 30. サンプル XML 文書

396 フェデレーテッド・データ・ソース 構成ガイド

Page 407: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

XML ラッパーにより、外部データ・ソースからの XML データから、ニックネームのセットで構成されるリレーショナル・スキーマへのマッピングが可能になります。 XML 文書の構造は、ネストされていて繰り返すエレメントが、外部キーをもっている別の表としてモデルとなっているリレーショナル・スキーマと論理的には同等です。

XML 文書に対応するニックネームは、親ニックネームと子ニックネームの関係が、エレメントのネスト関係としてマッピングされるツリー構造に編成されています。

ルート・ニックネームは、ニックネーム階層の最上位にあるニックネームです。非ルート・ニックネームは、ニックネーム階層内の親を持つニックネームです。 XML

文書内で最上位のエレメントではないルート・ニックネームも存在することがあります。

ネスト・エレメントが繰り返されている場合や、またはそれぞれ性質の異なるものが複雑な構造になっている場合には、それらネスト・エレメントのそれぞれに別個のニックネームを付けることができます。

子および親ニックネームは、ラッパーによって生成された主および外部キーによって接続されます。

XPath 式は、XML 文書をニックネームのセットで構成されているリレーショナル・スキーマにマップするために使用されます。 XPath は、 XML ファイルの一部(XML 文書ツリー内のノードおよび属性のグループなど) を識別するためのアドレッシング・メカニズムです。基本 XPath 構文はファイル・システム・アドレッシングに似ています。

各ニックネームは、個々のタプルを表す XML エレメントを識別する 1 つの XPath

式、および各エレメントから列値を取り出す方法を指定する XPath 式のセットによって定義されます。

図 31. XML ラッパーがどのように機能するか

第 21 章 XML データ・ソース 397

Page 408: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

XML 文書マッピングの例

次の例は、以下の仕組みを示しています。

v サンプル XML 文書はニックネームのセットにマップされます。

v 親と子の関係は主キーと外部キーを使用して確立されます。

v XPath 式を使用して文書の各エレメント内の個別のタプルと列を定義します。

v 文書をユーザーのフェデレーテッド・システムに登録した後、XML 文書で照会を実行できます。

サンプル XML 文書には、customer エレメントのセットが含まれています。その各エレメントには、複数の order エレメントおよび payment エレメントが入れられます。

order エレメントは、複数の item エレメントを囲んでいます。

エレメント間の関係は次の図に示されています。

この構造に基づいて、CREATE NICKNAME ステートメントを使うことにより、XML 文書を、次の 4 つのニックネームが含まれるリレーショナル・スキーマにマッピングできます。

v customers

v orders

v payments

v items

ニックネーム間の関係は、主キーおよび外部キーを指定する特別なニックネーム列オプションを使用して、各ニックネームを親または子ニックネームとして指定することによって定義されます。各親ニックネームは、主キー列オプションによって指定された特別な列をもっていなければなりません。ある親ニックネームの子は、親ニックネームの主キー列を参照する外部キー列オプションによって定義します。指定された主および外部ニックネーム列は、XML 文書の中のデータには対応しません。というのは、これらのニックネーム列には、ラッパーによって生成されたキーが含まれるからです。 1 つのニックネームに対して複数の子は可能ですが、親については 1 つのみ可能です。ただし、ルート・ニックネームに親はありません。

サンプル XML 文書の場合、customers ニックネームに主キーが定義されており、orders、payments、および items ニックネームには、それぞれその親ニックネームを

customer

payment

item

order

図 32. サンプル XML 文書のツリー構造

398 フェデレーテッド・データ・ソース 構成ガイド

Page 409: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

指す外部キーが定義されています。 orders と payments のニックネームの外部キーは customers ニックネームを指し、 items ニックネームの外部キーは orders ニックネームを指しています。

個々のタプルを表す XML エレメントを識別するには、1 つの XPath 式を作成します。この例の場合、すべての customer エレメントを参照するには ’/doc/customer’

XPath 式を使用し、すべての order エレメントを参照するには ’./order’ XPath 式を使用します。 XPath 式 ’./order’ に含まれるピリオドは、各 order エレメントのタプルが、それに対応する customer エレメントの各タプル内にネストされていることを示しています。

各エレメントから列値を取り出す方法を指定するために、XPath 式のセットを作成します。この例の場合、customer エレメントの id 属性 (この時点では、ニックネームの中に定義されている列) を参照するには、’./@id’ XPath 式を使用します。customer エレメントの name エレメントを参照するには ’./name’ XPath 式を使用し、 customer エレメントの address エレメントを参照するには’./address/@street’ XPath 式を使用します。

CREATE NICKNAME ステートメントを使用して XML 文書をニックネームのセットにマップしたなら、主および外部キーを使用することによって、各ニックネームを親または子として定義します。文書の各エレメント内で個々のタプルおよび列を定義する XPath 式を、これらの主キーと外部キーに指定します。その後、そのXML 文書に対して SQL 照会を実行できます。

フェデレーテッド・システムへの XML の追加フェデレーテッド・サーバーが XML データ・ソースにアクセスするように構成するには、アクセスするデータ・ソースとオブジェクトの情報をフェデレーテッド・サーバーに渡す必要があります。

始める前に

v IBM WebSphere Federation Server が、フェデレーテッド・サーバーとして機能するサーバー上にインストールされていなければなりません。

v フェデレーテッド・データベースがフェデレーテッド・サーバー上になければなりません。

このタスクについて

コントロール・センターを使用するか、またはコマンド行で SQL ステートメントを発行することによって、 XML データ・ソースに保管されているデータにアクセスするようフェデレーテッド・サーバーを構成することができます。コントロール・センターには、必須フェデレーテッド・オブジェクトを構成するために必要なステップを順番に提供するウィザードが組み込まれています。

手順

XML データ・ソースをフェデレーテッド・サーバーに追加するには、次のようにします。

1. XML ラッパーを登録します。

2. XML サーバー定義を登録します。

第 21 章 XML データ・ソース 399

Page 410: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

3. XML データ・ソースのニックネームを登録します。

4. 非ルート・ニックネームのフェデレーテッド・ビューを作成します。

XML ラッパーの登録XML データ・ソースにアクセスするためには、ラッパーを登録する必要があります。

このタスクについて

ラッパーは、データ・ソースとの通信やデータの検索のためにフェデレーテッド・サーバーによって使用されます。ラッパーは、ライブラリー・ファイルのセットとしてインプリメントされます。

ラッパーは、コントロール・センターを使用するか、またはコマンド行から登録できます。コントロール・センターには、ラッパーを登録するために必要なステップを順番に提供するウィザードが組み込まれています。

プロキシー・サーバーと鍵ストアを使用して XML ファイルにアクセスする場合、ラッパーやサーバー定義を登録するときにオプションとしてプロキシー・サーバー情報を指定できます。サーバー定義を登録するときにプロキシー・サーバー情報を指定する場合、これらの設定はラッパーを登録したときに指定したプロキシー・サーバー設定をオーバーライドします。

手順

XML ラッパーを登録するには、次のようにします。

XML ラッパーの登録に使用する方法を以下から選択します。

方法 手順

コントロール・センターの使用

「フェデレーテッド・オブジェクト」ウィザードを開始します。「フェデレーテッド・データベース・オブジェクト」フォルダーを右マウス・ボタンでクリックし、フェデレーテッド・オブジェクトの作成をクリックします。

コマンド行の使用 CREATE WRAPPER ステートメントを発行します。

CREATE WRAPPER wrapper_nameLIBRARY library_name;

プロキシー・サーバーや鍵ストアを使用して XML ファイルにアクセスする場合、XML ラッパーまたはサーバー定義を登録するときにいくつかのオプションを指定する必要があります。 XML ラッパーを登録するときにプロキシー・サーバー情報を指定するには、次のステートメントを発行します。

CREATE WRAPPER wrapper_nameLIBRARY library_nameOPTIONS (PROXY_TYPE ’type’,PROXY_SERVER_NAME ’server_name’,PROXY_SERVER_PORT ’port_number’);

CREATE WRAPPER ステートメントに LIBRARY パラメーターを指定します。指定するラッパー・ライブラリー・ファイルの名前は、フェデレーテッド・サーバー

400 フェデレーテッド・データ・ソース 構成ガイド

Page 411: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

のオペレーティング・システムによって異なります。 CREATE WRAPPER ラッパー・ステートメントで指定する正しいライブラリー名については、『XML ラッパー・ライブラリー・ファイル』のリストを参照してください。

プロキシー・サーバーや鍵ストアを使用して XML ファイルにアクセスする場合、XML ラッパーまたはサーバー定義を登録するときにいくつかのオプションを指定する必要があります。

XML ラッパー・ライブラリー・ファイルIBM WebSphere Federation Server をインストールするとき、フェデレーテッド・サーバーに XML ラッパー・ライブラリー・ファイルが追加されます。

IBM WebSphere Federation Server をインストールすると、デフォルトのディレクトリー・パスに 3 つのライブラリー・ファイルが追加されます。たとえば、フェデレーテッド・サーバーが AIX 上で実行されている場合、ディレクトリー・パスには、libdb2lsxml.a、libdb2lsxmlF.a、および libdb2lsxmlU.a が追加されます。デフォルトのラッパー・ライブラリー・ファイルは libdb2lsxml.a です。他のラッパー・ライブラリー・ファイルは特定のラッパー・オプションで使用されます。

CREATE WRAPPER ステートメントに LIBRARY パラメーターを含め、デフォルトのラッパー・ライブラリー・ファイルの名前を指定する必要があります。

以下の表に、デフォルトのディレクトリー・パスとデフォルトのラッパー・ライブラリー・ファイルの名前がリストされています。

表 86. XML ラッパー・ライブラリーのロケーションとファイル名

オペレーティング・システム

ディレクトリー・パス ラッパー・ライブラリー・ファイル名

AIX /usr/opt/<install_path>/lib32/

/usr/opt/<install_path>/lib64/

libdb2lsxml.a

Linux /opt/IBM/db2/<install_path>/lib32

/opt/IBM/db2/<install_path>/lib64

libdb2lsxml.so

Solaris /opt/IBM/db2/<install_path>/lib32

/opt/IBM/db2/<install_path>/lib64

libdb2lsxml.so

Windows %DB2PATH%¥bin db2lsxml.dll

<install_path> は、IBM WebSphere Federation Server が UNIX または Linux でインストールされるディレクトリー・パスです。

%DB2PATH% は IBM WebSphere Federation Server が Windows でインストールされるディレクトリー・パスを指定するのに使用する環境変数です。デフォルトのWindows ディレクトリー・パスは、C:¥Program Files¥IBM¥SQLLIB です。

CREATE WRAPPER ステートメント - XML ラッパーの例CREATE WRAPPER ステートメントを使用して XML ラッパーを登録します。この例は、プロキシー・サーバーを使用する場合と使用しない場合に、XML 文書にアクセスするのに必要なパラメーターを示しています。

第 21 章 XML データ・ソース 401

Page 412: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ラッパーの登録

プロキシー・サーバーを使用しないで XML 文書にアクセスする場合は、ラッパーを登録するために以下のステートメントを発行します。

CREATE WRAPPER xml_wrapper LIBRARY ’libdb2lsxml.a’;

xml_wrapper

XML ラッパーに割り当てる名前。重複するラッパー名は使用できません。

LIBRARY ’libdb2lsxml.a’

AIX オペレーティング・システムを使用するフェデレーテッド・サーバー用のラッパー・ライブラリー・ファイルの名前。

HTTP プロキシー・サーバーのラッパーの登録

ラッパーを登録して、HTTP プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE WRAPPER xml_wrapper LIBRARY ’libdb2lsxml.a’OPTIONS (PROXY_TYPE ’HTTP’, PROXY_SERVER_NAME ’proxy_http’,PROXY_SERVER_PORT ’8080’);

PROXY_TYPE ’HTTP’

ファイアウォールで保護された状態でインターネットにアクセスする際に使用する、プロキシー・タイプを指定します。有効な値は ’NONE’、’HTTP’

または ’SOCKS’ です。

PROXY_SERVER_NAME ’proxy_http’

プロキシー・サーバー名または IP アドレスを指定します。 PROXY_TYPE

サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

PROXY_SERVER_PORT ’8080’

プロキシー・サーバーのポート番号を指定します。 PROXY_TYPE サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

SOCKS プロキシー・サーバーのラッパーの登録

ラッパーを登録して、認証情報のない SOCKS プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE WRAPPER xml_wrapper LIBRARY ’libdb2lsxml.so’OPTIONS (PROXY_TYPE ’SOCKS’, PROXY_SERVER_NAME ’proxy_socks’,PROXY_SERVER_PORT ’1081’);

LIBRARY ’libdb2lsxml.so’

Linux または Solaris オペレーティング・システムを使用しているフェデレーテッド・サーバー用のラッパー・ライブラリー・ファイルの名前。

PROXY_TYPE ’SOCKS’

ファイアウォールで保護された状態でインターネットにアクセスする際に使用する、プロキシー・タイプを指定します。有効な値は ’NONE’、’HTTP’

または ’SOCKS’ です。

402 フェデレーテッド・データ・ソース 構成ガイド

Page 413: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

PROXY_SERVER_NAME ’proxy_socks’

プロキシー・サーバー名または IP アドレスを指定します。 PROXY_TYPE

サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

PROXY_SERVER_PORT ’1081’

プロキシー・サーバーのポート番号を指定します。 PROXY_TYPE サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

XML データ・ソースのサーバー定義の登録XML 文書を検索するためには、サーバー定義を登録する必要があります。登録するサーバー定義は、XML 文書にアクセスするためにプロキシー・サーバーを使用するかどうかによって異なります。

このタスクについて

プロキシーと URI (Uniform Resource Identifier) を使用してファイアウォールで保護された XML 文書を検索するには、CREATE SERVER ステートメントにプロキシー・サーバー・オプションを含める必要があります。

フェデレーテッド・オブジェクトの階層では XML ファイルが特定のサーバー定義オブジェクトに関連付けられている必要があるので、プロキシー・サーバーを使用しない場合でもサーバー定義を登録する必要があります。

サーバー定義は、コントロール・センターを使用するか、またはコマンド行から登録できます。コントロール・センターには、サーバー定義を登録するためのステップを順番に提供するウィザードが組み込まれています。

手順

XML データ・ソースのサーバー定義を登録するには、次のようにします。

サーバー定義を登録するために使用する方法を以下の中から選択します。

方法 手順

コントロール・センターの使用

「フェデレーテッド・オブジェクト」ウィザードを使用します。「フェデレーテッド・データベース・オブジェクト」フォルダーを右マウス・ボタンでクリックし、フェデレーテッド・オブジェクトの作成をクリックします。ウィザードのステップに従ってください。

第 21 章 XML データ・ソース 403

Page 414: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

方法 手順

コマンド行の使用 CREATE SERVER ステートメントを発行します。

プロキシー・サーバーを使用しないで XML 文書にアクセスする場合は、以下のステートメントを発行します。

CREATE SERVER server_definition_nameWRAPPER wrapper_name;

プロキシー・サーバーを使用して XML 文書にアクセスする場合は、以下のステートメントを発行します。

CREATE SERVER server_definition_nameWRAPPER wrapper_nameOPTIONS (PROXY_TYPE ’type’,PROXY_SERVER_NAME ’server_name’,PROXY_SERVER_PORT ’port_number’);

プロキシー・サーバーを使用して XML 文書にアクセスする場合、使用するプロトコルがプロキシー・サーバー用の許可 ID とパスワードの指定を必要とすることがあります。サーバー定義を登録するときに、オプションとして認証情報を指定します。

CREATE SERVER ステートメント - XML ラッパーの例XML ラッパーにサーバー定義を登録するには、CREATE SERVER ステートメントを使用します。この例は、プロキシー・サーバーを使用する場合と使用しない場合に、XML 文書にアクセスするのに必要なパラメーターを示しています。

サーバー定義の登録

プロキシー・サーバーを使用しないで XML 文書にアクセスする場合でも、サーバー定義を登録する必要があります。フェデレーテッド・オブジェクトの階層では、XML ファイルが特定のサーバー定義オブジェクトに関連付けられていることが必要です。ユーザーがサーバー定義を登録するには、次のステートメントを発行します。

CREATE SERVER xml_server WRAPPER xml_wrapper;

xml_server

XML サーバー定義に割り当てる名前。重複するサーバー定義名は使用できません。

WRAPPER xml_wrapper

CREATE WRAPPER ステートメントで指定したラッパー名。

プロキシー・サーバーを使用するときのサーバー定義

以下の条件のすべてが真である場合は、CREATE SERVER ステートメントでプロキシー・サーバー・オプションを使用する必要があります。

v URI を使用してデータを検索したい。

v 使用する URI はプロキシーを介してファイアウォールの反対側にあるデータを検索する。

v 使用されるファイアウォールまたはプロキシーは、HTTP または SOCKS である。

404 フェデレーテッド・データ・ソース 構成ガイド

Page 415: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

指定するオプションは、アクセスしたいプロキシー・サーバーのタイプによって異なります。

使用するプロキシーのタイプ、およびプロキシー・オプションに指定する必要のある設定については、ネットワーク管理者に問い合せてください。

HTTP プロキシー・サーバーのサーバー定義の登録

サーバー定義を登録して、HTTP プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE SERVER xml_server_httpWRAPPER xml_wrapperOPTIONS (PROXY_TYPE ’HTTP’, PROXY_SERVER_NAME ’proxy_http’,PROXY_SERVER_PORT ’8080’);

xml_server_http

XML サーバー定義に割り当てる名前。重複するサーバー定義名は使用できません。

WRAPPER xml_wrapper

CREATE WRAPPER ステートメントで指定したラッパー名。

PROXY_TYPE ’HTTP’

ファイアウォールで保護された状態でインターネットにアクセスする際に使用する、プロキシー・タイプを指定します。有効な値は ’NONE’、’HTTP’

または ’SOCKS’ です。

PROXY_SERVER_NAME ’proxy_http’

プロキシー・サーバー名または IP アドレスを指定します。 PROXY_TYPE

サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

PROXY_SERVER_PORT ’8080’

プロキシー・サーバーのポート番号を指定します。 PROXY_TYPE サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

SOCKS プロキシー・サーバーのサーバー定義の登録

サーバー定義を登録して、認証情報の必要ない SOCKS プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE SERVER xml_server_socksWRAPPER xml_wrapperOPTIONS (PROXY_TYPE ’SOCKS’, PROXY_SERVER_NAME ’proxy_socks’,PROXY_SERVER_PORT ’1081’);

xml_server_socks

XML サーバー定義に割り当てる名前。重複するサーバー定義名は使用できません。

WRAPPER xml_wrapper

CREATE WRAPPER ステートメントで指定したラッパー名。

第 21 章 XML データ・ソース 405

Page 416: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

PROXY_TYPE ’SOCKS’

ファイアウォールで保護された状態でインターネットにアクセスする際に使用する、プロキシー・タイプを指定します。有効な値は ’NONE’、’HTTP’

または ’SOCKS’ です。

PROXY_SERVER_NAME ’proxy_socks’

プロキシー・サーバー名または IP アドレスを指定します。 PROXY_TYPE

サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

PROXY_SERVER_PORT ’1080’

プロキシー・サーバーのポート番号を指定します。 PROXY_TYPE サーバー・オプションの値が ’HTTP’ または ’SOCKS’ の場合、このフィールドは必須です。

認証情報のある SOCKS プロキシー・サーバーのサーバー定義の登録

サーバー定義を登録して、認証情報のある SOCKS プロキシー・サーバーを指定するには、以下のステートメントを使用します。

CREATE SERVER xml_server_socksWRAPPER xml_wrapperOPTIONS (PROXY_TYPE ’SOCKS’, PROXY_SERVER_NAME ’proxy_socks’,PROXY_SERVER_PORT ’1081’, PROXY_AUTHID ’Martin’,PROXY_PASSWORD ’not4me’);

PROXY_AUTHID ’Martin’

プロキシー・サーバー上のユーザー名を指定します。 PROXY_TYPE サーバー・オプションの値が ’SOCKS’ の場合、このサーバー・オプションは必須です。

PROXY_PASSWORD ’not4me’

ユーザー名 ’Martin’ に関連したプロキシー・サーバーのパスワードを指定します。PROXY_TYPE サーバー・オプションの値が ’SOCKS’ の場合、このサーバー・オプションは必須です。

プロキシー・サーバー応答の制限時間の指定

サーバー定義の登録時に、プロキシー・サーバーに必要なサーバー・オプションの他に SOCKET_TIMEOUT サーバー・オプションを指定することもできます。SOCKET_TIMEOUT サーバー・オプションは、フェデレーテッド・サーバーがプロキシー・サーバーからの結果を待つ最大時間を分単位で指定します。SOCKET_TIMEOUT サーバー・オプションを指定しない場合は時間制限なしとなり、フェデレーテッド・サーバーはプロキシー・サーバーからの結果を無制限に待つことになります。

サーバー定義を登録して、フェデレーテッド・サーバーがプロキシー・サーバーからの応答を待つ時間を指定するには、以下のステートメントを使用します。

CREATE SERVER xml_server_httpWRAPPER xml_wrapperOPTIONS (PROXY_TYPE ’HTTP’, PROXY_SERVER_NAME ’proxy_http’,PROXY_SERVER_PORT ’8080’, SOCKET_TIMEOUT ’12’);

406 フェデレーテッド・データ・ソース 構成ガイド

Page 417: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

SOCKET_TIMEOUT 12

フェデレーテッド・サーバーがプロキシー・サーバーからの応答を 12 分待つように指定します。

プロキシー・サーバーを使用した XML ファイルへのアクセスネットワークでプロキシー・サーバーを使用する場合、XML データ・ソース用のラッパーやサーバー定義を登録するときに、プロキシー・サーバーに関する情報を指定する必要があります。

指定するオプションは、アクセスするプロキシー・サーバーのタイプと Secure

Socket Layer (SSL) プロトコルまたは Transport Layer Security (TLS) プロトコルを使用するかどうかによって異なります。

次のとおり、ラッパーやサーバー定義を登録するときにプロキシーと SSL オプションを指定できます。

v ラッパーを登録するときにこれらのオプションを指定する場合、そのラッパーに関連したニックネームは、ラッパーに設定されたオプションを使用します。

v サーバー定義を登録するときにこれらのオプションを指定する場合、そのサーバー定義に関連したニックネームは、サーバー定義に設定されたオプションを使用します。

v ラッパーとサーバー定義を登録するときにこれらのオプションに異なる値を指定する場合、サーバー定義に設定された値がラッパーに設定された値よりも優先されます。

XML ラッパーには検証機能がありますが、プロキシー・サーバーと共に使用するときにいくらかの制限事項が生じることがあります。この制限事項が生じる条件は、以下のとおりです。

v さまざまなプロキシー・オプションを設定したプロキシー機能を、サーバー・レベルで使用している。

v XML インスタンス文書に、ファイアウォールの外側に存在する外部 XML スキーマへの参照が含まれる。

これらの条件のいずれかが適合する場合、XML スキーマのロケーションをファイアウォールの内側に変更してみてください。 XML スキーマ・ロケーションを変更する場合、XML インスタンス文書を XML スキーマの新しいロケーションに合せて更新する必要があります。

プロキシー・サーバー・オプション

以下の表には、それぞれのタイプのプロキシー・サーバーに指定する必要があるオプションがリストされています。

表 87. プロキシー・サーバーで必要なオプション

プロキシー・サーバーのタイプ必要なラッパーまたはサーバー・オプション

認証のない HTTP または SOCKS PROXY_TYPE

PROXY_SERVER_NAME

PROXY_SERVER_PORT

第 21 章 XML データ・ソース 407

Page 418: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 87. プロキシー・サーバーで必要なオプション (続き)

プロキシー・サーバーのタイプ必要なラッパーまたはサーバー・オプション

認証のある HTTP または SOCKS PROXY_TYPE

PROXY_SERVER_NAME

PROXY_SERVER_PORT

PROXY_AUTHID

PROXY_PASSWORD

SSL サーバー・オプション

以下の表には、SSL プロトコルを使用するときに指定する必要のあるオプションがリストされています。

表 88. SSL プロトコルで必要なオプション

フェデレーテッド・オブジェクト 必要なオプション

ラッパー SSL_KEYSTORE_FILE

SSL_KEYSTORE_PASSWORD

SSL_VERIFY_SERVER_CERTIFICATE

サーバー定義 SSL_KEYSTORE_FILE

SSL_KEYSTORE_PASSWORD

SSL_VERIFY_SERVER_CERTIFICATE

SSL_CLIENT_CERTIFICATE_LABEL

XML データ・ソースのニックネームアクセスする各 XML 文書のニックネームを登録する必要があります。 XML データ・ソースを照会するときは、文書名ではなくこれらのニックネームを使用します。

XML データ・ソースのニックネームは、コントロール・センターまたはコマンド行を使用して登録できます。コントロール・センターは、XML ニックネームの作成処理を単純化します。ニックネームを登録する前に、以下の点について理解する必要があります。

ニックネームと XML 文書の間のデータ関連

ニックネームは、XML 文書データのツリー構造に対応しています。親ニックネームと子ニックネームは、データ・ツリー構造のルート構造とネスト・エレメントに対応します。それら親ニックネームと子ニックネームは、CREATE NICKNAME ステートメントで指定される主キーおよび外部キーによって結び付けられます。

各ニックネームは、以下の機能を実行する XPath 式によって定義されます。

v 個々のタプルを表す XML エレメントを識別する。

v 各エレメントから列値を取り出す方法を指定する。

XML ラッパーは、XPath 式を使用することによって、XML 文書のデータと、リレーショナル表の行との間の対応を確立します。それらの XPath 式は、XML 文書内

408 フェデレーテッド・データ・ソース 構成ガイド

Page 419: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

の値を特定し、それらの値が各行の列にどう対応するかを決定します。 XML ラッパーは、XML 文書データを読むだけです。 XML ラッパーは、そのデータを更新しません。

ニックネームを作成する際、そのニックネームと XML 文書との間の関連付けを指定するためのオプションを選択します。ニックネームは、固定した方法で XML 文書に関連付けられるか、または指定するソース名によって XML 文書に関連付けられます。

固定した関連付けの場合、ニックネームは特定の XML 文書のデータを表します。それらの XML 文書には、次のものが含まれます。

1 つのローカル・ファイルXML 文書として 1 つの XML ファイルを指定します。

1 つのディレクトリー・パスに含まれる複数のローカル・ファイル複数の XML ファイルの存在するディレクトリー・パスを指定します。ニックネームには、そのディレクトリー・パス内の XML ファイルから XML

文書データが提供されます。それらの XML ファイルの構成は、すべて同じでなければなりません。ニックネームの構成とは違う構成の XML ファイルがそのディレクトリーに含まれていると、XML ラッパーがその XML

データ・ファイルを処理した時点で NULL 値が戻されます。ディレクトリーは、フェデレーテッド・サーバーのローカル・ディレクトリーか、または共有ファイル・システムからアクセス可能なディレクトリーでなければなりません。

XML ラッパーがディレクトリーをスキャンする際には、拡張子が .xml のファイルのみが採用および構文解析されます。その他のファイル (拡張子が.txt や .xsd のファイル、あるいは拡張のないファイルなど) は、XML ラッパーによりすべて無視されます。

ファイルの固定データを指定するには、CREATE NICKNAME ステートメントのFILE_PATH オプションを使用します。ディレクトリーからの固定データを指定するには、DIRECTORY_PATH オプションを使用します。

照会実行中にソース・データを指定する場合には、スキーマがニックネーム定義に一致する任意の XML 文書ソースからのデータを表すニックネームを使用できます。それらの XML 文書には、次のものが含まれます。

URI (Uniform Reference Identifier)URI によって参照されるリモート XML ファイルからの XML 文書データが、ニックネームに提供されます。この文書ソースを指定するにはDOCUMENT ’URI’ ニックネーム列オプションを使用します。

リレーショナル列XML 文書への入力としてリレーショナル表、ビュー、またはニックネームの列が使用されます。この文書ソースを指定するには DOCUMENT

’COLUMN’ ニックネーム列オプションを使用します。

ファイル照会実行時に、XML データが含まれる単一のファイルが入力として提供されます。この文書ソースを指定するには DOCUMENT ’FILE’ ニックネーム列オプションを使用します。

第 21 章 XML データ・ソース 409

Page 420: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ディレクトリー照会実行時に、指定したディレクトリー・パスに含まれる複数の XML ファイルからデータが提供されます。この文書ソースを指定するにはDOCUMENT ’DIRECTORY’ ニックネーム列オプションを使用します。

照会時にソース・データが提供されることを指定するには、DOCUMENT 列オプションを指定します。 DOCUMENT 列に URI、COLUMN、FILE、またはDIRECTORY のいずれかを指定することにより、XML 文書ソースの種類を指定します。

DOCUMENT 列オプションと共に、FILE_PATH オプションまたはDIRECTORY_PATH オプションを指定することはできません。

XML 文書データをフラグメントに分割するには、STREAMING オプションを使用します。 STREAMING オプションは、固定形式のデータ、または照会実行時に指定したソース名からのデータに対して使用できます。 XML ラッパーは、その結果得られる XML データのストリームを処理し、照会フラグメントによって要求されている情報を抽出します。 XML ラッパーは、フラグメントを一度に 1 つずつ解析します。フラグメントが一度に 1 つずつ解析されることにより合計メモリーは少なくなります。照会全体の実行にかかる処理時間はサーバーのメモリー容量に応じて増加します。したがって、STREAMING オプションを使用するのは、50 MB 以上の大規模な XML 文書を解析する場合だけにしてください。

さらに、ニックネーム・オプション値を選択すれば、大量の XML データまたは複数のネスト・エレメントを含むデータを取り出す照会を最適化するのに役立ちます。それらのオプションには、次のものが含まれます。

v INSTANCE_PARSE_TIME

v XPATH_EVAL_TIME

v NEXT_TIME

これらのオプションの値をいろいろと設定してみることにより、XML 照会をテストし、最適化することができます。それらのオプション値によって、エレメントを検出して XML の行に含まれるデータを解析するのに必要な処理時間が制御されます。

XML ラッパーのコスト・モデル機能XML ラッパーには、XML ソース文書に対応するニックネームに対する照会を最適化するためのコスト・モデル機能が含まれています。

CREATE NICKNAME ステートメントを使ってニックネームを作成する際には、コスト・モデル機能をサポートするために、次のニックネーム・オプションを指定できます。

v INSTANCE_PARSE_TIME

v XPATH_EVAL_TIME

これらのニックネーム・オプションには、デフォルト値を使用できます。あるいは、これらのニックネーム・オプションに値を指定することによって、作成するルート・ニックネームおよびルート以外のニックネームに対する照会を最適化することもできます。

410 フェデレーテッド・データ・ソース 構成ガイド

Page 421: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

INSTANCE_PARSE_TIME ニックネーム・オプションは、ルート・ニックネームの1 つの行生成ルート・エレメントを読み取って構文解析するのに必要な時間 (ミリ秒) です。構文解析時間には、その中に含まれていて行を生成することになるすべての非ルート・エレメントも含まれます。たとえば、ルート・ニックネームがcustomers の場合、各 customer の orders、payments、items に対応するエレメントはすべて非ルート・エレメントです。 XML ラッパーは、それら行生成ルート・エレメントおよび行生成非ルート・エレメントを表す構造をメモリー中にビルドします。

XPATH_EVAL_TIME ニックネーム・オプションは、ニックネームの行に対応するデータを探索するための XPath 式を評価するのに必要な時間 (ミリ秒) です。評価される XPath 式には、実際の行を探索するための XPath 式に加えて、それらの行の中に含まれる列値を探索する XPath 式も含まれます。

XML データ・ソースのネーム・スペースネーム・スペースの一部である属性やエレメントを識別するには、NAMESPACES

ニックネーム列オプションを使用します。

NAMESPACES ニックネーム・オプションは、ニックネームを登録するときに指定できます。 NAMESPACES ニックネーム列オプションの値は、名前と値の対がコンマで区切られたリストです。 XML ラッパーは、名前と値の対を使用して、ニックネーム XPath 式にあるネーム・スペースの接頭部を解決します。 XPath 式で使用される接頭部は、XPath プロセッサーで処理されます。

次の例では、XML 文書に 3 つの製品用の名前、コード、説明情報が含まれます。XML 文書では 2 つのネーム・スペース http://www.one.com とhttp://www.two.com を宣言し、 1 つのデフォルト・ネーム・スペースhttp://www.default.com があります。 product エレメントは ns1 ネーム・スペースに関連付けられています。 product エレメントは name および code 属性とdesc エレメントを含みます。 name 属性はネーム・スペースと関連付けられていません。 code 属性は ns2 ネーム・スペースに関連付けられています。 desc エレメントは default ネーム・スペースに関連付けられています。

<?xml version="1.0" encoding="UTF-8"?><doc xmlns:ns1="http://www.one.com" xmlns:ns2="http://www.two.com"xmlns="http://www.default.com"><ns1:product name="Computer" ns2:code="ABC123"<desc>"The Computer product description"</desc><ns1:product name="Keyboard" ns2:code="EFG456"<desc>"The Keyboard product description"</desc><ns1:product name="Mouse" ns2:code="HIJ789"<desc>"The Mouse product description"</desc></ns1:product></doc>

次の表は、XML 文書の各エレメントおよび属性に関連付けられたネーム・スペースを示しています。

表 89. XML 文書内のエレメント、属性、ネーム・スペース

エレメントまたは属性XML 文書内のネーム・スペース 注

product: XML 文書内のエレメント

ns1=″http://www.one.com″ なし

第 21 章 XML データ・ソース 411

Page 422: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 89. XML 文書内のエレメント、属性、ネーム・スペース (続き)

エレメントまたは属性XML 文書内のネーム・スペース 注

name: XML 文書内の product

エレメントの属性なし name 属性はネーム・スペース

と関連付けられていません。

code: XML 文書内の product

エレメントの属性ns2=″http://www.two.com″ なし

desc: XML 文書内の product

エレメント内のエレメント″http://www.default.com″ desc エレメントは default

ネーム・スペースを使用します。これは接頭部を含みません。

XML 文書のニックネームを登録するとき、XML 文書内のエレメントと属性に対応した 3 つの列を定義します。 NAMESPACES ニックネーム・オプションにネーム・スペース情報を指定します。たとえば、次のようにします。

CREATE NICKNAME products(name VARCHAR(16) OPTIONS (XPATH ’@name’),code VARCHAR(16) OPTIONS (XPATH ’@pre2:code’)description VARCHAR (256) OPTIONS (XPATH ’./default:desc’))FOR SERVER xml_serverOPTIONS (FILE_PATH ’/home/mbreining/sql/xml/namespaces.xml’,XPATH ’//pre1:name’,NAMESPACES ’pre1="http://www.one.com", pre2="http://www.two.com",default="http=//www.default.com"’);

次の表は、XML 文書のネーム・スペースが、CREATE NICKNAME ステートメントで指定された値にどのように対応するかを示しています。

表 90. XML 文書のネーム・スペースと、CREATE NICKNAME ステートメントからの対応する値

XML 文書内のネーム・スペース

CREATE NICKNAME ステートメントの列名 XPATH 列オプションの値

NAMESPACES ニックネーム・オプションの値

ネーム・スペースはns1="http://www.one.com"

です。

なし なし 値はpre1="http://www.one.com"

です。値はユーザーが定義する接頭部 (pre1) で、ネーム・スペースの固有 ID

(″http://www.one.com″) です。

なし。属性はネーム・スペースと関連付けられていません。

名前 値は@name です。値は XML

文書内の属性 (name) です。なし

ネーム・スペースはns2="http://www.two.com"

です。

コード 値は @pre2:code です。値はユーザーが定義する接頭部 (pre2) で、XML 文書内の属性 (code) です。

値はpre2="http://www.two.com"

です。値はユーザーが定義する接頭部 (pre2) で、ネーム・スペースの固有 ID

(″http://www.two.com″) です。

412 フェデレーテッド・データ・ソース 構成ガイド

Page 423: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 90. XML 文書のネーム・スペースと、CREATE NICKNAME ステートメントからの対応する値 (続き)

XML 文書内のネーム・スペース

CREATE NICKNAME ステートメントの列名 XPATH 列オプションの値

NAMESPACES ニックネーム・オプションの値

ネーム・スペースは"http://www.default.com"

です。デフォルト・ネーム・スペースは接頭部を含みません。

説明 値は ./default:desc です。値はユーザーが定義する接頭部 (default) で、XML

文書内のエレメント (desc)

です。

値は default="http=

//www.default.com" です。値はユーザーが定義する接頭部 (default) で、ネーム・スペースの固有 ID

(″http://www.default.com″) です。

NAMESPACES ニックネーム・オプションは 256 文字を超えるストリングをサポートするためにパック記述子を使用します。

XML ネーム・スペースの詳細情報については、W3C Web サイト上のネーム・スペースの説明 を参照してください。

XML データ・ソースのニックネームの登録登録するそれぞれの XML サーバー定義で、アクセスするそれぞれの XML 文書にニックネームを登録する必要があります。 XML データ・ソースを照会するときは、XML 文書名ではなくこれらのニックネームを使用します。

制約事項

Windows 2003 が動作しているフェデレーテッド・サーバーから共有ドライブ上のXML データ・ソースにアクセスする場合、照会が失敗することがあります。これはWindows 2003 の制限です。この問題を回避するには、CREATE NICKNAME ステートメントの FILE_PATH オプションで絶対パスを指定します。

このタスクについて

XML データ・ソースのツリー構造に対応するニックネームを作成する必要があります。親ニックネームは、ツリーのルート構造に対応します。子ニックネームは、親ニックネームのエレメント内でネストされているエレメントに対応します。

ニックネームは、コントロール・センターを使用するか、またはコマンド行から登録できます。コントロール・センターには、サーバー定義を登録するためのステップを順番に提供するウィザードが組み込まれています。

手順

XML データ・ソースのニックネームを登録するには、次のようにします。

第 21 章 XML データ・ソース 413

Page 424: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

サーバー定義を登録するために使用する方法を以下の中から選択します。

方法 手順

コントロール・センターの使用 「フェデレーテッド・オブジェクト」ウィザードを使用します。「フェデレーテッド・データベース・オブジェクト」フォルダーを右マウス・ボタンでクリックし、フェデレーテッド・オブジェクトの作成をクリックします。ウィザードのステップに従ってください。

コマンド行の使用 CREATE NICKNAME ステートメントを発行します。ニックネームの長さは 128 文字までです。

CREATE NICKNAME ステートメント - XML ラッパーの例XML 文書のニックネームを登録するには、CREATE NICKNAME ステートメントを使用します。親と子のニックネームを作成する方法を示す、完全な例と特定の列オプションの例があります。

推奨: 照会内に XPATH 列およびニックネーム・オプションを指定するときには、自己または下位演算子 // を使用しないでください。自己または下位演算子は XPath 演算子です。自己または下位演算子を使用すると、フェデレーテッド・サーバーのパフォーマンスが低下する可能性があります。

完全指定の例

以下に示すのは、サンプル XML ファイルを使用することによって XML データ・ソースのニックネームを作成する方法の例です。

414 フェデレーテッド・データ・ソース 構成ガイド

Page 425: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

親ニックネーム

最初のステップは、親ニックネーム customers の作成です。ニックネームを作成するには、次のステートメントを発行します。

CREATE NICKNAME customers(id VARCHAR(5) OPTIONS(XPATH ’./@id’)name VARCHAR(16) OPTIONS(XPATH ’./name’),address VARCHAR(30) OPTIONS(XPATH ’./address/@street’),cid VARCHAR(16) FOR BIT DATA NOT NULL OPTIONS(PRIMARY_KEY ’YES’))FOR SERVER xml_serverOPTIONS(DIRECTORY_PATH ’/home/db2user’,XPATH ’/doc/customer’, STREAMING ’YES’);

このステートメントは、指定されたディレクトリー・パス /home/db2user のもとにある複数の XML ファイルに関する customers ニックネームを作成します。

STREAMING ニックネーム・オプションは、XML ソース・データがノード (この例では、カスタマー・レコード) ごとに分けられて処理されるということを示します。STREAMING ニックネーム・オプションが使用されている場合は、ラッパーはXML 文書全体をメモリーに保管することはしません。その代わりに、XML ラッパーは文書を順次個別に構文解析できる複数のセクションに分割します。STREAMING ニックネーム・オプションは、サイズの大きい XML 文書にのみ使用してください。このオプションを使用すると、照会のパフォーマンスは影響を受けます。

<?xml version="1.0" encoding="UTF-8"?><doc><customer id=’123’><name>...</name><address>...</address>...<order><amount>...</amount><date>...</date><item quant=’12’><name>...</name></item><item quant=’4’>...</item>...</order><order>...</order>...<payment><number>...</number><date>...</date></payment><payment>>...</payment>...</customer><customer id=’124’>...</customer></doc>

図 33. サンプル XML ファイル

第 21 章 XML データ・ソース 415

Page 426: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

子ニックネーム

次のステップは、orders、payments、および items の子ニックネームを作成することです。

以下のステートメントを発行して orders 子ニックネームを作成します。

CREATE NICKNAME orders(amount INTEGER OPTIONS(XPATH ’./amount’),date VARCHAR(10) OPTIONS(XPATH ’./date’),oid VARCHAR(16) OPTIONS(PRIMARY_KEY ’YES’),cid VARCHAR(16) FOR BIT DATA NOT NULL OPTIONS(FOREIGN_KEY ’CUSTOMERS’))FOR SERVER xml_serverOPTIONS( XPATH ’./order’);

以下のステートメントを発行して payments 子ニックネームを作成します。

CREATE NICKNAME payments(number INTEGER OPTIONS(XPATH ’./number’),date VARCHAR(10) OPTIONS(XPATH ’./date’),cid VARCHAR(16) FOR BIT DATA NOT NULL OPTIONS(FOREIGN_KEY ’CUSTOMERS’))FOR SERVER xml_serverOPTIONS( XPATH ’./payment’);

以下のステートメントを発行して items 子ニックネームを作成します。

CREATE NICKNAME items(name VARCHAR(20) OPTIONS(XPATH ’./name’),quantity INTEGER OPTIONS(XPATH ’./@quant’),oid VARCHAR(16) FOR BIT DATA NOT NULL OPTIONS(FOREIGN_KEY ’ORDERS’))FOR SERVER xml_serverOPTIONS( XPATH ’./item’);

ニックネーム列オプションの例

以下の例は、ニックネームを作成するときに DOCUMENT ニックネーム列オプションを組み込む方法を示したものです。この例には、それらのオプションを照会内で使用する方法も示されています。

DOCUMENT ’FILE’ の例

以下の例は、ニックネームを作成するときに DOCUMENT ニックネーム列オプションを組み込む方法を示したものです。この例には、それらのオプションを照会内で使用する方法も示されています。

以下の CREATE NICKNAME の例は、DOCUMENT ’FILE’ ニックネーム列オプションの使用例を示しています。

CREATE NICKNAME customers(doc VARCHAR(100) OPTIONS(DOCUMENT ’FILE’),name VARCHAR(16) OPTIONS(XPATH ’./name’),address VARCHAR(30) OPTIONS(XPATH ’./address/@street’),cid VARCHAR(16) FOR BIT DATA NOT NULL OPTIONS(PRIMARY_KEY ’YES’))FOR SERVER xml_serverOPTIONS(XPATH ’/doc/customer’);

以下の照会は (WHERE 文節で XML 文書のロケーションを指定している)

customers ニックネームで実行することができるようになります。

416 フェデレーテッド・データ・ソース 構成ガイド

Page 427: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

SELECT * FROM customers WHERE doc = ’/home/db2user/Customers.xml’;

DOCUMENT ’DIRECTORY’ の例

以下の CREATE NICKNAME の例は、DOCUMENT ’DIRECTORY’ ニックネーム列オプションの使用例を示しています。

CREATE NICKNAME customers(doc VARCHAR(100) OPTIONS(DOCUMENT ’DIRECTORY’),name VARCHAR(16) OPTIONS(XPATH ’./name’),address VARCHAR(30) OPTIONS(XPATH ’./address/@street’),cid VARCHAR(16) FOR BIT DATA NOT NULL OPTIONS(PRIMARY_KEY ’YES’))FOR SERVER xml_serverOPTIONS(XPATH ’/doc/customer’);

このとき、以下の照会を customers ニックネームに対して実行できます。

SELECT name FROM customers WHERE doc = ’/home/data/xml’;

この照会は、WHERE 文節で指定されるディレクトリー・パス /home/data/xml のもとで見付かった XML 文書をリトリーブします。

DOCUMENT ’URI’ の例

以下の CREATE NICKNAME の例は、DOCUMENT ’URI’ ニックネーム列オプションの使用例を示しています。

CREATE NICKNAME customers(doc VARCHAR(100) OPTIONS(DOCUMENT ’URI’),name VARCHAR(16) OPTIONS(XPATH ’./name’),address VARCHAR(30) OPTIONS(XPATH ’./address/@street’),cid VARCHAR(16) FOR BIT DATA NOT NULL OPTIONS(PRIMARY_KEY ’YES’))FOR SERVER xml_serverOPTIONS(XPATH ’/doc/customer’);

このとき、以下の照会を customers ニックネームに対して実行し、XML データをリモート・ロケーションから検索できます。

SELECT * FROM customers WHERE doc = ’http://www.lg-mv.org/foo.xml’;

DOCUMENT ’COLUMN’ の例

以下の CREATE NICKNAME の例は、DOCUMENT ’COLUMN’ ニックネーム列オプションの使用例を示しています。

CREATE NICKNAME emp(doc VARCHAR(500) OPTIONS(DOCUMENT ’COLUMN’)fname VARCHAR(16) OPTIONS(XPATH ’@first’),lname VARCHAR(16) OPTIONS(XPATH ’@last’))FOR SERVER xml_serverOPTIONS(XPATH ’/doc/name’);

このとき、以下の照会の 1 つを emp ニックネームに対して実行し、XML データを検索できます。

SELECT * FROM emp WHERE doc = ’<?xml version="1.0" encoding="UTF-8"?><doc><title> employees </title><name first="David" last="Marston"/><name first="Donald" last="Leslie"/>

第 21 章 XML データ・ソース 417

Page 428: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

<name first="Emily" last="Farmer"/><name first="Myriam" last="Midy"/><name first="Lee" last="Tran"/><name first="Lili" last="Farmer"/><name first="Sanjay" last="Kumar"/></doc>’;

または

SELECT * FROM emp WHERE doc = (SELECT * FROM xml_tab);

xml_tab 表には、XML データが追加される 1 つの列が含まれます。

XML データ・ソースの照会XML データ・ソースにアクセスするために照会を作成する前に、照会パフォーマンスを最適化するために可能な処置があります。

フェデレーテッド・ビュー

フェデレーテッド・ビューを使用して、XML ニックネーム階層の各部を結合する照会が正しく実行されるようにすることができます。

自己または下位演算子の使用回避

XML ニックネームを作成する際に XPATH 列およびニックネーム・オプションを指定するときには、自己または下位演算子 // を使用しないでください。自己または下位演算子は XPath 演算子であり、自己または下位演算子を使用するとフェデレーテッド・サーバーのパフォーマンスが低下する場合があります。

Windows 2003 フェデレーテッド・サーバー

Windows 2003 が動作しているフェデレーテッド・サーバーから共有ドライブ上のXML データ・ソースにアクセスする場合、次のエラー・メッセージが表示され、照会が失敗することがあります。

SQL1822N データ・ソース "XML_SERVER" から予期しないエラー・コード "ERRNO = 2" を受け取りました。関連するテキストおよびトークンは「ファイルの読み取り不可」です。SQLSTATE=560BD

これは Windows 2003 の制限です。この問題を回避するには、CREATE

NICKNAME ステートメントの FILE_PATH オプションで絶対パスを指定します。

次の例は、FILE_PATH オプションで省略パスが指定された CREATE NICKNAME

ステートメントを示しています。

CREATE NICKNAME customers(id VARCHAR(5) OPTIONS(XPATH ’./@id’),name VARCHAR(16) OPTIONS(XPATH ’./name’),address VARCHAR(30) OPTIONS(XPATH ’./address/@street’),cid VARCHAR(16) FOR BIT DATA NOT NULLOPTIONS(PRIMARY_KEY ’YES’))FOR SERVER xml_serverOPTIONS(DIRECTORY_PATH ’\home\db2user’,XPATH ’/doc/customer’, STREAMING ’YES’);

418 フェデレーテッド・データ・ソース 構成ガイド

Page 429: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

省略パスを指定しているため、このニックネームを使用する照会は失敗する可能性があります。

Windows 2003 でフェデレーテッド・サーバーを実行している場合、CREATE

NICKNAME ステートメントの FILE_PATH オプションに絶対パスを指定してください。

たとえば、次のようにします。

CREATE NICKNAME customers(id VARCHAR(5) OPTIONS(XPATH ’./@id’),name VARCHAR(16) OPTIONS(XPATH ’./name’),address VARCHAR(30) OPTIONS(XPATH ’./address/@street’),cid VARCHAR(16) FOR BIT DATA NOT NULLOPTIONS(PRIMARY_KEY ’YES’))FOR SERVER xml_serverOPTIONS(DIRECTORY_PATH ’¥¥host.svl.ibm.com¥D$¥home¥db2user’,XPATH ’/doc/customer’, STREAMING ’YES’);

XML ラッパー・ニックネームのフェデレーテッド・ビューの作成XML 文書を説明するニックネームの階層に対するフェデレーテッド・ビューを作成できます。フェデレーテッド・ビューを定義することにより、XML ニックネーム階層の各部を結合する照会は正しく実行するようになります。

このタスクについて

フェデレーテッド・ビュー とは、データ・ソース表ではなくニックネームを参照するフェデレーテッド・データベース内のビューです。

XML ニックネーム階層では、ルート・ニックネームと特別な PRIMARY_KEY および FOREIGN_KEY 列以外の列を結合する照会は、フェデレーテッド・ビューを使用することの影響を受けません。

XML ニックネーム用のフェデレーテッド・ビューを作成するとき、必須の述部とルート・ディレクトリーへの絶対パスをすべて組み込む必要があります。

手順

XML ニックネームのフェデレーテッド・ビューを作成するには、次のようにします。

各非ルート・ニックネーム用のビューを定義するには、CREATE VIEW ステートメントを使用します。このビューは、ルート・ニックネームへのパス上のすべてのニックネームの結合である必要があります。

1. ビューの WHERE 文節に、結合述部として PRIMARY_KEY と FOREIGN_KEY

列を定義する。

2. SELECT リストに、非ルート・ニックネームのすべての列を組み込みます。ただし、FOREIGN_KEY ニックネーム列オプションによって指定された列は除きます。SELECT リストに、PRIMARY_KEY オプションによって指定された親ニックネームの列を組み込みます。

第 21 章 XML データ・ソース 419

Page 430: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CREATE VIEW ステートメント - XML ラッパーの例非ルート・ニックネーム用のフェデレーテッド・ビューを作成するには、CREATE

VIEW ステートメントを使用します。この例では、ビューを作成するために使用するステートメントが含まれるサンプル XML ファイルを使用して、照会でビューを使用する方法を示します。

XML 文書を説明するニックネームの階層に対するフェデレーテッド・ビューを作成して、XML ニックネーム階層の各部を結合する照会が正しく実行されるようにすることができます。照会でフェデレーテッド・ビューを指定すると、データはリモート・データ・ソースから検索されます。

以下の例は、ルートではないニックネームのフェデレーテッド・ビューを作成してXML ソース文書を記述する方法を示しています。

サンプル XML ファイル

以下の例は、このサンプル XML ファイルを基にしています。

非ルート・ニックネームの CREATE VIEW ステートメント

以下の例は、ルートではないニックネーム order のフェデレーテッド・ビューを作成する方法を示しています。

CREATE VIEW order_view ASSELECT o.amount, o.date, o.oid, c.cidFROM customers c, orders oWHERE c.cid = o.cid;

<?xml version="1.0" encoding="UTF-8"?><doc><customer id=’123’><name>...</name><address>...</address>...<order><amount>...</amount><date>...</date><item quant=’12’><name>...</name></item><item quant=’4’>...</item>...</order><order>...</order>...<payment><number>...</number><date>...</date></payment><payment>...</payment>...</customer><customer id=’124’>...</customer></doc>

図 34. サンプル XML ファイル

420 フェデレーテッド・データ・ソース 構成ガイド

Page 431: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

以下の例は、ルートではないニックネーム payment のフェデレーテッド・ビューを作成する方法を示しています。

CREATE VIEW payment_view ASSELECT p.number, p.date, c.cidFROM customers c, payments pWHERE c.cid = p.cid;

以下の例は、ルートではないニックネーム item のフェデレーテッド・ビューを作成する方法を示しています。

CREATE VIEW item_view ASSELECT i.quantity, i.name, o.oidFROM customers c, orders o, items iWHERE c.cid = o.cid AND o.oid = i.oid;

フェデレーテッド・ビューを使用する照会

ルート・ディレクトリーへの結合パスが WHERE 文節に指定されているので、フェデレーテッド・ビューにサブミットされる照会は正しく処理されます。

たとえば、次の照会は、カスタマー識別番号と発注日を使用して、注文額と未払いの支払額を戻します。この照会ではニックネームを使用する代わりに、FROM 文節でビューを指定します。

SELECT o.amount, p.amountFROM order_view o, payment_view pWHERE p.date = o.date ANDp.cid = o.cid;

XML コスト・モデル機能の照会の最適化のヒント

XML ラッパーのコスト・モデル機能は、作成するニックネームに対する照会を最適化するのに役立ちます。

コスト・モデル機能では、CREATE NICKNAME ステートメントの次のニックネーム・オプションを使用します。

v INSTANCE_PARSE_TIME

v XPATH_EVAL_TIME

これらのニックネーム・オプションの値は、CREATE NICKNAME ステートメントを発行して XML データ・ソースのニックネームを登録する際に指定できます。

コスト・モデル機能は、XML ソース文書の各行データを解析するのに必要な時間を判別するときにそれらのパラメーター値を使用します。パラメーター値は、ニックネーム用 XPath 式を評価するためにも使用されます。

これらのニックネーム・オプションには、デフォルト値を使用できます。しかし、作成するニックネームの大規模なまたは複雑な XML ソース構造に関する照会を最適化する場合には、次の例に示されている方針に従ってください。

大規模照会を最適化する例

XML 文書には、次の 4 つのニックネームを含むリレーショナル・スキーマが含まれています。

第 21 章 XML データ・ソース 421

Page 432: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v customers

v orders

v payments

v items

ルート・ニックネームは customers です。

各ニックネームに対して照会を実行します。実際の環境でよくある XML データのサンプルに対して、各照会を実行します。

たとえば、次のようにします。

SELECT * from customers;SELECT * from orders;SELECT * from payments;SELECT * from items;

db2batch コマンドか、それに相当するコマンドやユーティリティーを使用することによって、各照会の実行に必要な時間 (ミリ秒) を記録します。 db2batch コマンドを使うと、照会実行に必要な時間を内容として含む出力ファイルが生成されます。戻されるタプルの数も記録します。

各ニックネームごとに、次の式により INSTANCE_PARSE_TIME ニックネーム・オプションと XPATH_EVAL_TIME ニックネーム・オプションに最適な値を決定します。

INSTANCE_PARSE_TIME = (75% X [SELECT * query の実行時間]) ÷ [戻されるタプルの数]

XPATH_EVAL_TIME = (25% X [SELECT * query の実行時間]) ÷ [戻されるタプルの数]

ルート・ニックネーム (この例では customers です) については、INSTANCE_PARSE_TIME ニックネーム・オプションと XPATH_EVAL_TIME ニックネーム・オプションに対して、上記の式で計算される値を使用します。

非ルート・ニックネーム (この例では orders、payments、および items です) については、XPATH_EVAL_TIME パラメーターについてのみ、上記の式で計算される値を使用します。 INSTANCE_PARSE_TIME パラメーターの値は、非ルート・ニックネームには適用されません。

これらの式は、照会を調整するための 1 つの方針として使用できます。これらのニックネーム・オプションに最適な値は、XML ソース文書の複雑さや、使用しているプロセッサーの速度に応じて異なります。

XML データ・ソース - 照会の例XML ニックネームを使用した照会の例

これらの例では customers、orders、items のニックネームを使用します。

XML 文書から特定の値を戻す照会

次の SELECT ステートメントを実行すると、ラッパーはすべての顧客名を戻します。

SELECT name FROM customers;

422 フェデレーテッド・データ・ソース 構成ガイド

Page 433: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

特定顧客のすべてのレコードを戻す照会

次の SELECT ステートメントを実行すると、ラッパーは顧客名が Chang のすべてのレコードを戻します。

SELECT * FROM customersWHERE name=’Chang’;

親ニックネームと子ニックネーム間の結合条件を基にした特定の値を戻す照会

次の SELECT ステートメントを実行すると、ラッパーは、各顧客のそれぞれの発注に対して発注額と顧客名を戻します。 customers ニックネームおよび orders ニックネームの間の親子関係を示すには、結合 c.cid=o.cid を指定しなければなりません。

SELECT c.name, o.amount FROM customers c, orders oWHERE c.cid=o.cid;

1 つの親ニックネームと複数の子ニックネーム間の結合条件を指定する方法を示す照会

次の SELECT ステートメントを実行すると、ラッパーは、各顧客のそれぞれの発注とアイテムごとに、顧客のアドレス、発注額、アイテム名を戻します。親子関係を維持するには、これら 2 つの結合を指定する必要があります。

SELECT c.address, o.amount, i.name FROM customers c, orders o, items iWHERE c.cid=o.cid AND o.oid=i.oid;

照会内で XML 文書を指定する方法を示す照会

以下の例は、FILE_PATH ニックネーム・オプションは指定しないが、DOCUMENT

ニックネーム列オプションは指定するニックネームを使用して、照会を作成する方法を示しています。

customers ニックネームを作成するために使用される CREATE NICKNAME ステートメントは、以下のとおりです。

CREATE NICKNAME customers(doc VARCHAR(100) OPTIONS(DOCUMENT ’FILE’),name VARCHAR(16) OPTIONS(XPATH ’./name’),address VARCHAR(30) OPTIONS(XPATH ’./address/@street’),cid VARCHAR(16) OPTIONS(PRIMARY_KEY ’YES’))FOR SERVER xml_serverOPTIONS(XPATH ’/doc/customer’);

以下の照会は、/home/db2user/Customers.xml のパスをもつ XML ファイルCustomers.xml からすべてのデータを選択します。

SELECT * FROM customersWHERE doc=’/home/db2user/Customers.xml’;

以下の照会は、Customers.xml ファイルから、1000 の金額を超えるオーダーについて、カスタマーの名前とオーダーの日付を選択します。パス/home/db2user/Customers.xml は、Customers.xml ファイルのロケーションを指定します。

SELECT c.name, o.date FROM customers c, orders oWHERE c.doc=’/home/db2user/Customers.xml’ AND o.amount > 1000;

第 21 章 XML データ・ソース 423

Page 434: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

424 フェデレーテッド・データ・ソース 構成ガイド

Page 435: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 22 章 KEGG ユーザー定義関数

KEGG ユーザー定義関数 - 概要KEGG (Kyoto Encyclopedia of Genes and Genomes) は、ゲノム情報を収めたデータベースのスイートです。 KEGG ユーザー定義関数は KEGG データベース内のゲノム情報にアクセスするための IBM WebSphere Federation Server で提供される関数のセットです。

IBM WebSphere Federation Server が KEGG Web サービス・インターフェースを通じてアクセスすることができる KEGG スイート内のデータベースは、PATHWAY

データベースと SSDB (Sequence Similarity Database) の 2 つだけです。PATHWAY データベースとは、代謝パスウェイ、調節パスウェイ、および分子複合体を含む生物過程内の分子間相互作用ネットワークに関するデータを集めたものです。 SSDB は、ゲノム全部の中の、タンパク質をコードする遺伝子についてのデータを集めたものです。

KEGG ユーザー定義関数は、KEGG API バージョン 4.1 を使用してこれらのデータベースにアクセスします。

KEGG メソッドの多くは、遺伝子やパスウェイなど、値のリストを戻します。複数のメソッドからの複雑な操作の構成を容易にするために、KEGG ユーザー定義関数のほとんどは、表形式とスカラー形式の両方で存在します。表関数は単一値の表を戻します。スカラー関数は、単一のストリングに含まれるスペースで区切られたリストとして値を戻します。

KEGG ユーザー定義関数は、IBM WebSphere Federation Server のインストール・ウィザードで非リレーショナル・ラッパー・コンポーネントの下の「ライフ・サイエンス・ユーザー定義関数 (Life sciences user-defined functions)」を選択するときにフェデレーテッド・サーバーにインストールされます。

XML エクステンダー・クライアントおよび SOAP ユーザー定義関数がフェデレーテッド・サーバーにインストールされていることを確認する必要があります。KEGG ユーザー定義関数および他の前提条件ソフトウェアをインストールした後、それらの関数の登録を行わなければなりません。

ネームスペースの競合を避けるため、すべての KEGG ユーザー定義関数は DB2LS

スキーマに登録されます。

機能カテゴリーごとの KEGG ユーザー定義関数IBM WebSphere Federation Server には、PATHWAY データベースおよび SSDB

(Sequence Similarity Database) 内のデータへのアクセスに使用できる KEGG ユーザー定義関数のセットが含まれています。

次の表は、PATHWAY データベースからデータを取り出すために使用できるユーザー定義関数の一覧です。

© Copyright IBM Corp. 1998, 2006 425

Page 436: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 91. パスウェイ・ユーザー定義関数

説明 関数タイプ 関数名

パスウェイから化合物を検索 スカラー表

CompoundsByPathwyS

CompoundsByPathwyT

パスウェイから酵素を検索 スカラー表

EnzymesByPathwyS

EnzymesByPathwyT

パスウェイから遺伝子を検索 スカラー表

GenesByPathwyS

GenesByPathwyT

化合物からパスウェイを検索 スカラー表

PathwysByCompndsS

PathwysByCompndsT

酵素からパスウェイを検索 スカラー表

PathwysByEnzymesS

PathwysByEnzymesT

遺伝子からパスウェイを検索 スカラー表

PathwysByGenesS

PathwysByGenesT

次の表は、SSDB からデータを取り出すために使用できるユーザー定義関数の一覧です。

表 92. SSDB ユーザー定義関数

説明 関数タイプ 関数名

ある遺伝子に対してベスト関係およびベスト相同関係にある遺伝子

スカラー表

BestNbrsByGeneS

BestNbrsByGeneT

ある遺伝子に対してベスト・ベスト関係およびベスト・ベストの相同関係にある遺伝子

スカラー表

BstBstNbrsByGeneS

BstBstNbrsByGeneT

ある遺伝子に対して逆ベスト関係の遺伝子

スカラー表

RevBestNbrsByGeneS

RevBestNbrsByGeneT

ある遺伝子のパラロガス遺伝子 スカラー表

ParalogsByGeneS

ParalogsByGeneT

モチーフから遺伝子 表 GenesByMotifsT

遺伝子からモチーフ スカラー表

MotifsByGenesS

MotifsByGenesT

GenesByMotifsT 以外の SSDB データベース用の表ユーザー定義関数のすべては、固定された出力列のセットを戻します。 GenesByMotifsT 関数は、遺伝子ごとにgene_id VARCHAR(100) と definition VARCHAR(1000) を戻します。

KEGG ユーザー定義関数の関数引数

KEGG ユーザー定義関数は引数の共通セットを使用します。 KEGG ユーザー定義関数の引数を以下のリストで説明します。

compound_id化合物の固有 ID。 compound_id 引数に使用する形式は cpd:compound です。 cpd は、化合物データベースの省略形です。 compound は、KEGG

LIGAND 複合データベースにある化合物番号です。

426 フェデレーテッド・データ・ソース 構成ガイド

Page 437: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

たとえば、Methylparabanic acid (メチルパラバン酸) の化合物番号は次のようになります。

cpd:C11116

compound_id_list化合物 ID のスペース区切りのリスト。

entrylist遺伝子 ID のコンマ区切りのリスト。 entrylist 引数の最大エントリー数は100 です。

たとえば、M. loti (ミヤコグサ根粒菌)、P. abyssi、および X. fastidiosa 遺伝子のエントリーは次のようになります。

mlo:mll1558, pab:PAB1288, xfa:XF2434

enzyme_id酵素の固有 ID。 enzyme_id 引数に使用する形式は ec:enzyme です。 ec

は、酵素データベースの省略形です。 enzyme は、酵素データベースにある酵素コードです。

たとえば、亜硫酸オキシダーゼの化合物 ID は次のようになります。

ec:1.8.3.1

enzyme_id_list酵素 ID のスペース区切りのリスト。

genes_id遺伝子の固有 ID。 genes_id 引数に使用する形式は org:gene_name です。org は、生物種を表す 3 文字の KEGG コードです。 gene_name は遺伝子の名前です。

たとえば、E.coli の遺伝子 ID は次のようになります。

eco:b0001

gene_id_list遺伝子 ID のスペース区切りのリスト。

org 生物種を表す 3 文字の KEGG コード。この引数が指定されていないと、生物種リスト全体が検索されます。

KEGG データベース内の各生物種にはコードが割り当てられています。生物種のリストは頻繁に変更されます。正しいコードについては、http://www.genome.ad.jp/kegg/kegg2.html#genes でゲノムの現在のリストをチェックしてください。

max_result戻される結果の数を指定するのに使用する整数。 max_results 引数は start

引数とともに使用され、戻される結果を制御します。たとえば、start に 5

を指定し、max_results に 12 を指定すると、結果 5 から結果 16 までが戻されます。

motif_idモチーフの固有 ID。 motif_id 引数に使用する形式はmotif_database_identifier:motif_name です。 motif_database_identifier は、モチーフ・データベースを表す 2 文字のコードです。 motif_name はモチーフの名前です。

第 22 章 KEGG ユーザー定義関数 427

Page 438: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

以下の表では、有効なモチーフ・データベース ID がリストされています。

表 93. モチーフ・データベースの ID

ID モチーフ・データベース

bl Blocks

pd Prodom

pf Pfam

pr Prints

ps Prosite

たとえば、pfam データベースの DnaJ protein 項目のモチーフ ID は次のようになります。

pf:DnaJ

pathway_idパスウェイの固有 ID。 pathway_id 引数に使用する形式はpath:pathway_number です。 path は、パスウェイ・データベースの省略形です。 pathway_number は接頭部および番号で構成されます。有効な接頭部は map および org です。 map 接頭部は、リファレンス・パスウェイを検索することを示しています。 org 接頭部は、生物種を表す 3 文字の KEGG

コードです。

たとえば、クエン酸サイクルのリファレンス・パスウェイのパスウェイ ID

は次のようになります。

path:map00020

たとえば、E.coli の特定のパスウェイを表すパスウェイ ID は次のようになります。

path:eco00020

start 戻される最初の結果を指定するのに使用する整数。 start 引数は max_results

引数とともに使用され、戻される結果を制御します。たとえば、start に 5

を指定し、max_results に 12 を指定すると、結果 5 から結果 16 までが戻されます。

KEGG ユーザー定義関数の登録KEGG ユーザー定義関数を登録して使用するには、XML エクステンダー・クライアント、SOAP ユーザー定義関数、および KEGG ユーザー定義関数を使用可能にする必要があります。

始める前に

v IBM WebSphere Federation Server インストール・ウィザードで非リレーショナル・ラッパー・コンポーネントの下に「ライフ・サイエンス・ユーザー定義関数(Life sciences user-defined functions)」をインストールする必要があります。

v DB2 for Linux, UNIX, and Windows インストール・ウィザードで XML エクステンダー・クライアントをインストールする必要があります。

v KEGG ユーザー定義関数のいずれかのバージョンを WebSphere Information

Integrator バージョン 8.2 Fix Pack 9 よりも前にインストールした場合、バージ

428 フェデレーテッド・データ・ソース 構成ガイド

Page 439: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ョン 2.3 の KEGG ユーザー定義関数を使用不可に設定して、バージョン 4.1 のKEGG ユーザー定義関数を使用可能に設定する必要があります。

手順

KEGG ユーザー定義関数を登録するには、次のようにします。

1. dxxadm enable_db database_name コマンドを実行して、XML エクステンダー・クライアントを使用可能にします。

2. db2enable_soap_udf -n database_name コマンドを実行して、SOAP ユーザー定義関数を使用可能にします。

3. enable_KEGGFunctions コマンドを実行して、KEGG ユーザー定義関数を使用可能に設定します。

v Windows が稼働するフェデレーテッド・サーバーでは、このコマンドはsqllib¥bin ディレクトリーにあります。

v UNIX が稼働するフェデレーテッド・サーバーでは、このコマンドはsqllib/bin ディレクトリーにあります。

構文:enable_KEGGFunctions -n dbName -u userID -p password [-force] [-url endpointURL]

-n dbName

関数の登録先であるフェデレーテッド・データベースの名前。

-u userID

フェデレーテッド・データベース用の有効なユーザー ID。

-p password

ユーザー ID の有効なパスワード。

[-force]関数を除去して再登録するのに使用できるオプションのフラグ。このフラグは、関数が破損したか間違えてドロップしてしまった場合に使用します。

[-url endpointURL]KEGG Web サービス API のエンドポイント URL を指定するオプションのフラグ。現行の API はバージョン 4.1 です。デフォルトの URL はhttp://soap.genome.jp/keggapi/request_v4.1.cgi に設定されています。 KEGG

Web サービス API がデフォルト URL の名前または場所を変更する場合はendpointURL フラグを使用します。

enable_KEGGFunctions コマンドが、すべての KEGG ユーザー定義関数をフェデレーテッド・データベースに登録します。これらの関数は、DB2LS というスキーマ名で登録されます。

パスウェイ・データベース関数KEGG ユーザー定義関数を使用すると、分子複合体またはパスウェイからPATHWAY データベースを検索することができます。

たとえば、次のものを検索できます。

v パスウェイから化合物、酵素、および遺伝子

v 化合物、酵素、および遺伝子からパスウェイ

第 22 章 KEGG ユーザー定義関数 429

Page 440: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CompoundsByPathwyS ユーザー定義関数CompoundsByPathwyS 関数は、あるパスウェイ上のすべての化合物を検索するのに使用します。

CompoundsByPathwyS 関数は、スペースで区切られた化合物 ID のリストを戻すスカラー関数です。このリストは、データ・タイプ VARCHAR の文字ストリングで、実際の長さは 32767 バイト以下になります。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.CompoundsByPathwyS(pathway_id)

このユーザー定義関数で使用するスキーマ名は DB2LS です。

特定のパスウェイ上のすべての化合物の検索の例

たとえば、リファレンス・パスウェイ・マップ 00020 上のすべての化合物 ID を検索したいとします。

次の文節のいずれかを使用することができます。最初の文節は参照パスウェイを検索します。2 番目の文節は E.coli 遺伝子の特定のパスウェイを検索します。

VALUES CAST(DB2LS.CompoundsByPathwyS(’path:map00020’)AS VARCHAR(1000));

VALUES CAST(DB2LS.CompoundsByPathwyS(’path:eco00020’)AS VARCHAR(1000));

CompoundsByPathwyT ユーザー定義関数CompoundsByPathwyT 関数は、あるパスウェイ上のすべての化合物を検索するのに使用します。

CompoundsByPathwyT 関数は、パスウェイ上の化合物 ID の VARCHAR(100) の列を戻す表関数です。戻される列の名前は compound_id です。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.CompoundsByPathwyT(pathway_id)

このユーザー定義関数で使用するスキーマ名は DB2LS です。

特定のパスウェイ上のすべての化合物の検索の例

たとえば、リファレンス・パスウェイ・マップ 00020 上のすべての化合物 ID を検索したいとします。

使用する SELECT ステートメントは次のとおりです。

SELECT * FROM TABLE(DB2LS.CompoundsByPathwyT(’path:map00020’))AS t;

430 フェデレーテッド・データ・ソース 構成ガイド

Page 441: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

EnzymesByPathwyS ユーザー定義関数EnzymesByPathwyS 関数は、あるパスウェイ上のすべての酵素を検索するのに使用します。

EnzymesByPathwyS 関数は、スペースで区切られた酵素 ID のリストを戻すスカラー関数です。このリストは、データ・タイプ VARCHAR の文字ストリングで、実際の長さは 32767 バイト以下になります。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.EnzymesByPathwyS(pathway_id)

このユーザー定義関数で使用するスキーマ名は DB2LS です。

特定のパスウェイ上のすべての酵素の検索の例

たとえば、E.coli と同じパスウェイ上のすべての酵素 ID を検索したいとします。

使用する文節は次のとおりです。

VALUES CAST(DB2LS.EnzymesByPathwyS(’path:eco00020’)AS VARCHAR(1000));

EnzymesByPathwyT ユーザー定義関数EnzymesByPathwyT 関数は、あるパスウェイ上のすべての酵素を検索するのに使用します。

EnzymesByPathwyT 関数は、パスウェイ上の酵素の名前の VARCHAR(100) 列を戻す表関数です。戻される列の名前は enzyme_id です。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.EnzymesByPathwyT(pathway_id)

このユーザー定義関数で使用するスキーマ名は DB2LS です。

特定のパスウェイ上のすべての酵素の検索の例

たとえば、リファレンス・パスウェイ・マップ 00020 上のすべての酵素を検索したいとします。

使用する SELECT ステートメントは次のとおりです。

SELECT * FROM TABLE(DB2LS.EnzymesByPathwyT(’path:map00020’))AS t;

GenesByPathwyS ユーザー定義関数GenesByPathwyS 関数は、あるパスウェイ上のすべての遺伝子を検索するのに使用します。

第 22 章 KEGG ユーザー定義関数 431

Page 442: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

GenesByPathwyS 関数は、スペースで区切られた遺伝子 ID のリストを戻すスカラー関数です。このリストは、データ・タイプ VARCHAR の文字ストリングで、実際の長さは 32767 バイト以下になります。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.GenesByPathwyS(pathway_id)

このユーザー定義関数で使用するスキーマ名は DB2LS です。

特定のパスウェイ上のすべての遺伝子の検索の例

たとえば、E.coli と同じパスウェイ上のすべての酵素を検索したいとします。

使用する文節は次のとおりです。

VALUES CAST(DB2LS.GenesByPathwyS(’path:eco00020’)AS VARCHAR(1000));

GenesByPathwyT ユーザー定義関数GenesByPathwyT 関数は、あるパスウェイ上のすべての遺伝子を検索するのに使用します。

GenesByPathwyT 関数は、パスウェイ上の遺伝子の名前の VARCHAR(100) の列を戻す表関数です。戻される列の名前は gene_id です。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.GenesByPathwyT(pathway_id)

このユーザー定義関数で使用するスキーマ名は DB2LS です。

特定のパスウェイ上のすべての遺伝子の検索の例

たとえば、リファレンス・パスウェイ・マップ 00290 上のすべての遺伝子を検索したいとします。

使用する SELECT ステートメントは次のとおりです。

SELECT * FROM TABLE(DB2LS.GenesByPathwyT(’path:map00290’))AS t;

PathwysByCompndsS ユーザー定義関数PathwysByCompndsS 関数は、指定した化合物を含むすべてのパスウェイを検索するのに使用します。

PathwysByCompndsS 関数は、スペースで区切られたパスウェイ ID のリストを戻すスカラー関数です。このリストは、データ・タイプ VARCHAR の文字ストリングで、実際の長さは 32767 バイト以下になります。

この関数は SELECT ステートメントで使用できます。

432 フェデレーテッド・データ・ソース 構成ガイド

Page 443: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

構文DB2LS.PathwysByCompndsS(compound_id_list)

このユーザー定義関数で使用するスキーマ名は DB2LS です。

特定の化合物を含むパスウェイの検索の例

たとえば、化合物 C00158 を含むすべてのパスウェイ ID を検索したいとします。

使用する文節は次のとおりです。

VALUES CAST(DB2LS.PathwysByCompndsS(’cpd:C00158’)AS VARCHAR(1000));

PathwysByCompndsT ユーザー定義関数PathwysByCompndsT 関数は、指定した化合物を含むすべてのパスウェイを検索するのに使用します。

PathwysByCompndsT 関数は、パスウェイの名前の VARCHAR(100) の列を戻す表関数です。戻される列の名前は pathway_id です。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.PathwysByCompndsT(compound_id_list)

このユーザー定義関数で使用するスキーマ名は DB2LS です。

特定の化合物を含むパスウェイの検索の例

たとえば、化合物 C00033 を含むすべてのパスウェイを検索したいとします。

使用する SELECT ステートメントは次のとおりです。

SELECT * FROM TABLE(DB2LS.PathwysByCompndsT(’cpd:C00033’))AS t;

PathwysByEnzymesS ユーザー定義関数PathwysByEnzymesS 関数は、指定した酵素を含むすべてのパスウェイを検索するのに使用します。

PathwysByEnzymesS 関数は、スペースで区切られたパスウェイのリストを戻すスカラー関数です。このリストは、データ・タイプ VARCHAR の文字ストリングで、実際の長さは 32767 バイト以下になります。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.PathwysByEnzymesS(enzyme_id_list)

このユーザー定義関数で使用するスキーマ名は DB2LS です。

第 22 章 KEGG ユーザー定義関数 433

Page 444: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

特定の酵素を含むすべてのパスウェイの検索の例

たとえば、酵素 1.3.99.1 を含むすべてのパスウェイを検索したいとします。

使用する文節は次のとおりです。

VALUES CAST(DB2LS.PathwysByEnzymesS(’ec:1.3.99.1’)AS VARCHAR(1000));

PathwysByEnzymesT ユーザー定義関数PathwysByEnzymesT 関数は、指定した酵素を含むすべてのパスウェイを検索するのに使用します。

PathwysByEnzymesT 関数は、パスウェイの名前の VARCHAR(100) の列を戻す表関数です。戻される列の名前は pathway です。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.PathwysByEnzymesT(enzyme_id_list)

このユーザー定義関数で使用するスキーマ名は DB2LS です。

特定の酵素を含むすべてのパスウェイの検索の例

たとえば、酵素 1.3.99.1 を含むすべてのパスウェイを検索したいとします。

使用する SELECT ステートメントは次のとおりです。

SELECT * FROM TABLE(DB2LS.PathwysByEnzymesT(’ec:1.3.99.1’))AS t;

PathwysByGenesS ユーザー定義関数PathwysByGenesS 関数は、指定した遺伝子を含むすべてのパスウェイを検索するのに使用します。

PathwysByGenesS 関数は、スペースで区切られたパスウェイのリストを戻すスカラー関数です。このリストは、データ・タイプ VARCHAR の文字ストリングで、実際の長さは 32767 バイト以下になります。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.PathwysByGenesS(gene_id_list)

このユーザー定義関数で使用するスキーマ名は DB2LS です。

特定の遺伝子を含むすべてのパスウェイの検索の例

たとえば、E.coli b0077 を含むすべてのパスウェイを検索したいとします。

使用する文節は次のとおりです。

434 フェデレーテッド・データ・ソース 構成ガイド

Page 445: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

VALUES CAST(DB2LS.PathwysByGenesS(’eco:b0077’)AS VARCHAR(1000));

PathwysByGenesT ユーザー定義関数PathwysByGenesT 関数は、指定した遺伝子を含むすべてのパスウェイを検索するのに使用します。

PathwysByGenesT 関数は、遺伝子に対応するパスウェイの名前の VARCHAR(100)

の列を戻す表関数です。戻される列の名前は pathway_id です。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.PathwysByGenesT(genes_id_list)

このユーザー定義関数で使用するスキーマ名は DB2LS です。

特定の遺伝子を含むすべてのパスウェイの検索の例

たとえば、E.coli b0078 を含むすべてのパスウェイを検索したいとします。

使用する SELECT ステートメントは次のとおりです。

SELECT * FROM TABLE(DB2LS.PathwysByGenesT(’eco:0078’))AS t;

Sequence Similarity データベース関数KEGG ユーザー定義関数を使用すると、ゲノム全部の中の、タンパク質をコードする遺伝子すべてにある類似したアミノ酸配列の情報を Sequence Similarity データベース (SSDB) から検索できます。

たとえば、次のものを検索できます。

v 相同関係にある遺伝子およびパラロガス遺伝子

v ベスト・ベスト関係および逆ベスト関係の遺伝子

v 遺伝子のモチーフ

SSDB データベース照会 (表関数) から戻される列SSDB (Sequence Similarity Database) 用のユーザー定義表関数の多くは、固定の出力列のセットを戻します。 KEGG ユーザー定義表関数を使用して SSDB を検索する際に、そうした列のサブセットだけが戻されるように指定することができます。

列は、使用する関数と戻される行のタイプに応じて戻されます。戻される行には次の 3 つのタイプがあります。

v SSDB 行

v モチーフ行

v 定義行

各行タイプの列の名前とデータ・タイプを次の表にリストします。

第 22 章 KEGG ユーザー定義関数 435

Page 446: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

SSDB 行

表 94. SSDB データベースからの SSDB 行

列名 列データ・タイプ 説明

genes_id1 VARCHAR (100) 照会に指定された遺伝子の ID。

genes_id2 VARCHAR (100) 照会から戻された遺伝子の ID。

sw_score DOUBLE genes_id1 と genes_id2 の間の Smith-Waterman

スコア。

bit_score DOUBLE genes_id1 と genes_id2 の間のビット・スコア。

identity DOUBLE genes_id1 と genes_id2 の間の一致パーセント。

overlap INTEGER genes_id1 と genes_id2 の間のオーバーラップ長。

start_position1 INTEGER genes_id1 の配置の開始位置。

end_position1 INTEGER genes_id1 の配置の終了位置。

start_position2 INTEGER genes_id2 の配置の開始位置。

end_position2 INTEGER genes_id2 の配置の終了位置。

best_flag_1to2 INTEGER genes_id1 から genes_id2 へのベスト・ヒットを示すフラグ。

best_flag_2to1 INTEGER genes_id2 から genes_id1 へのベスト・ヒットを示すフラグ。

definition1 VARCHAR (1000) genes_id1 列の定義。

definition2 VARCHAR (1000) genes_id2 列の定義。

length1 INTEGER genes_id1 列のアミノ酸の長さ。

length2 INTEGER genes_id2 列のアミノ酸の長さ。

モチーフ行

表 95. SSDB データベースからのモチーフ行

列名 列データ・タイプ 説明

motif_id VARCHAR (100) モチーフの ID。

定義 VARCHAR (1000) モチーフの定義。

genes_id VARCHAR (100) モチーフを含む遺伝子の ID。

start_position INTEGER 照会と一致する motif_id の開始位置。

end_position INTEGER 照会と一致する motif_id の終了位置。

score DOUBLE TIGRFAM および PROSITE データベース内の、照会に一致するモチーフの Smith-Waterman

スコア。 PROSITE データベースのスコアのデータ・タイプは FLOAT です。

evalue DOUBLE Pfam データベース内の、照会に一致するモチーフの e 値。

436 フェデレーテッド・データ・ソース 構成ガイド

Page 447: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

定義行

表 96. SSDB データベースからの定義行

列名 列データ・タイプ 説明

entry_id VARCHAR (100) データベース・エントリーの ID。

定義 VARCHAR (1000) エントリーの定義。

BestNbrsByGeneS ユーザー定義関数BestNbrsByGeneS 関数は、全生物種の遺伝子のベストの関係にある遺伝子、あるいはベスト相同関係にある遺伝子を検索するのに使用します。

BestNbrsByGeneS 関数は、スペースで区切られたターゲット ID のリストを戻すスカラー関数です。このリストは、データ・タイプ VARCHAR の文字ストリングで、実際の長さは 32767 バイト以下になります。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.BestNbrsByGeneS(’genes_id’, start, max_result)

このユーザー定義関数のスキーマ名は DB2LS です。

全生物種リスト検索の例

たとえば、E.coli のベストの関係にある遺伝子である全生物種を検索したいとします。最初の結果から始まる最大 15 個の結果を戻すようにしたいとします。

使用する文節は次のとおりです。

VALUES CAST(DB2LS.BestNbrsByGeneS(’eco:b0002’, 1, 15)AS VARCHAR(1000));

E.coli 遺伝子の KEGG コードは eco です。遺伝子名は b0002 です。

BestNbrsByGeneT ユーザー定義関数BestNbrsByGeneT 関数は、全生物種の遺伝子のベストの関係にある遺伝子、あるいはベスト相同関係にある遺伝子を検索するのに使用します。

BestNbrsByGeneT 関数は、出力列の固定セットを戻す表関数です。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.BestNbrsByGeneT(’genes_id’, start, max_result)

このユーザー定義関数のスキーマ名は DB2LS です。

全生物種リスト検索の例

たとえば、E.coli のベストの関係にある遺伝子である全生物種を検索したいとします。最初の結果から始まる最大 15 個の結果を戻すようにしたいとします。

第 22 章 KEGG ユーザー定義関数 437

Page 448: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

使用する SELECT ステートメントは次のとおりです。

SELECT * FROM TABLE(DB2LS.BestNbrsByGeneT(’eco:b0002’, 1, 15))AS t;

E.coli 遺伝子の KEGG コードは eco です。遺伝子名は b0002 です。

BstBstNbrsByGeneS ユーザー定義関数BstBstNbrsByGeneS 関数は、全生物種の遺伝子のベスト・ベストの関係にある遺伝子、あるいはベスト・ベスト相同関係にある遺伝子を検索するのに使用します。

BstBstNbrsByGeneS 関数は、スペースで区切られたターゲット ID のリストを戻すスカラー関数です。このリストは、データ・タイプ VARCHAR の文字ストリングで、実際の長さは 32767 バイト以下になります。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.BstBstNbrsByGeneS(’genes_id’, start, max_result)

このユーザー定義関数のスキーマ名は DB2LS です。

全生物種リスト検索の例

たとえば、E.coli のベスト・ベストの関係にある遺伝子である全生物種を検索したいとします。最初の結果から始まる最大 12 個の結果を戻すようにしたいとします。

使用する文節は次のとおりです。

VALUES CAST(DB2LS.BstBstNbrsByGeneS(’eco:b0002’, 1,12)AS VARCHAR(1000));

E.coli 遺伝子の KEGG コードは eco です。遺伝子名は b0002 です。

BstBstNbrsByGeneT ユーザー定義関数BstBstNbrsByGeneT 関数は、全生物種の遺伝子のベスト・ベストの関係にある遺伝子、あるいはベスト・ベスト相同関係にある遺伝子を検索するのに使用します。

BstBstNbrsByGeneT 関数は、出力列の固定セットを戻す表関数です。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.BstBstNbrsByGeneT(’genes_id’, start, max_result)

このユーザー定義関数のスキーマ名は DB2LS です。

全生物種リスト検索の例

たとえば、E.coli のベスト・ベストの関係にある遺伝子である全生物種を検索したいとします。最初の結果から始まる最大 12 個の結果を戻すようにしたいとします。

438 フェデレーテッド・データ・ソース 構成ガイド

Page 449: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

使用する SELECT ステートメントは次のとおりです。

SELECT * FROM TABLE(DB2LS.BstBstNbrsByGeneT(’eco:b0002’, 1,12))AS t;

E.coli 遺伝子の KEGG コードは eco で、遺伝子名は b0002 です。

BtitS ユーザー定義関数BtitS 関数は、指定の遺伝子の定義を取得するのに使用します。

BtitS 関数は、セミコロンで区切られた定義のリストを戻すスカラー関数です。このリストは、データ・タイプ VARCHAR の文字ストリングで、実際の長さは 32767

バイト以下になります。

entrylist 引数には遺伝子 ID の最大数として 100 までの数値を指定できます。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.BtitS(entrylist)

このユーザー定義関数で使用するスキーマ名は DB2LS です。

指定遺伝子のリストの定義を取得する例

たとえば、M. loti (ミヤコグサ根粒菌)、P. abyssi、および X. fastidiosa の各遺伝子の定義を取得したいとします。

使用する文節は次のとおりです。

VALUES CAST(DB2LS.BtitS(’mlo:mll1558’, ’pab:PAB1288’, ’xfa:XF2434’))AS VARCHAR(1000));

GenesByMotifsT ユーザー定義関数GenesByMotifsT 関数は、指定したモチーフ・リストにあるモチーフをすべて含んだ遺伝子をすべて検索します。

GenesByMotifsT 関数は、定義行を戻す表関数です。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.GenesByMotifsT(’motif_id_list’, start, max_results)

このユーザー定義関数のスキーマ名は DB2LS です。

リストのすべてのモチーフを含むすべての遺伝子の検索の例

たとえば、Pfam ’DnaJ’ モチーフと Prosite ’DNAJ_2’ モチーフの両方を含むすべての遺伝子を検索したいとします。 2 番目の結果から始まる最大 10 個の結果を戻すようにしたいとします。

使用する SELECT ステートメントは次のとおりです。

第 22 章 KEGG ユーザー定義関数 439

Page 450: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

SELECT * FROM TABLE(DB2LS.GenesByMotifsT(’pf:DnaJ ps:DNAJ_2’, 2, 10))AS t;

MotifsByGenesS ユーザー定義関数MotifsByGenesS 関数は、指定した遺伝子のすべてのモチーフを検索するのに使用します。

MotifsByGenesS 関数は、スペースで区切られたモチーフ ID のリストを戻すスカラー関数です。このリストは、データ・タイプ VARCHAR の文字ストリングで、実際の長さは 32767 バイト以下になります。

モチーフの検索では、単一のデータベースで検索することも、有効なデータベースすべてで検索することも可能です。有効なデータベースすべてで検索するには、関数の database パラメーターに all を指定します。

指定可能なデータベースが以下の表にリストされています。

表 97. モチーフ情報を含むデータベース

データベース名 データベースの省略形

Pfam pfam

TIGRFAM tfam

PROSITE パターン pspt

PROSITE プロファイル pspf

この関数は SELECT ステートメントで使用できます。

構文DB2LS.MotifsByGenesS(’genes_id’, ’database’)

このユーザー定義関数のスキーマ名は DB2LS です。

特定のデータベースにある遺伝子のすべてのモチーフの検索の例

たとえば、PROSITE プロファイル・データベースの中の E.coli のすべてのモチーフを検索したいとします。

使用する文節は次のとおりです。

VALUES CAST(DB2LS.MotifsByGenesS(’eco:b0002’, ’pspf’))AS VARCHAR(1000));

E.coli 遺伝子の KEGG コードは eco で、遺伝子名は b0002 です。 PROSITE プロファイル・データベースの KEGG 名は pspf です。

有効なデータベースすべてにある遺伝子のすべてのモチーフの検索の例

4 つの有効なデータベースすべての E.coli のすべてのモチーフを検索したいとします。

使用する文節は次のとおりです。

440 フェデレーテッド・データ・ソース 構成ガイド

Page 451: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

VALUES CAST(DB2LS.MotifsByGenesS(’eco:b0002’, ’all’))AS VARCHAR(1000));

E.coli 遺伝子の KEGG コードは eco で、遺伝子名は b0002 です。

MotifsByGenesT ユーザー定義関数MotifsByGenesT 関数は、指定した遺伝子のすべてのモチーフを検索するのに使用します。

MotifsByGenesT 関数は、モチーフ行を戻す表関数です。

モチーフの検索では、単一のデータベースで検索することも、有効なデータベースすべてで検索することも可能です。有効なデータベースすべてで検索するには、関数の database 引数に all を指定します。

指定可能なデータベースが以下の表にリストされています。

表 98. モチーフ情報を含むデータベース

データベース名 データベースの省略形

Pfam pfam

TIGRFAM tfam

PROSITE パターン pspt

PROSITE プロファイル pspf

この関数は SELECT ステートメントで使用できます。

構文DB2LS.MotifsByGenesT(’genes_id’, ’database’)

このユーザー定義関数のスキーマ名は DB2LS です。

特定のデータベースにある遺伝子のすべてのモチーフの検索の例

たとえば、PROSITE プロファイル・データベースの中の E.coli のすべてのモチーフを検索したいとします。

使用する SELECT ステートメントは次のとおりです。

SELECT * FROM TABLE(DB2LS.MotifsByGeneT(’eco:b0002’, ’pfam’))as t;

E.coli 遺伝子の KEGG コードは eco で、遺伝子名は b0002 です。 Pfam プロファイル・データベースの KEGG 名は pfam です。

有効なデータベースすべてにある遺伝子のすべてのモチーフの検索の例

4 つの有効なデータベースすべての E.coli のすべてのモチーフを検索したいとします。

使用する SELECT ステートメントは次のとおりです。

第 22 章 KEGG ユーザー定義関数 441

Page 452: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

SELECT * FROM TABLE(DB2LS.MotifsByGeneT(’eco:b0002’, ’all’)AS t;

E.coli 遺伝子の KEGG コードは eco で、遺伝子名は b0002 です。

ParalogsByGeneS ユーザー定義関数ParalogsByGeneS 関数は、指定の遺伝子に対するパラロガス遺伝子を検索するのに使用します。

ParalogsByGeneS 関数は、スペースで区切られたターゲット ID のリストを戻すスカラー関数です。このリストは、データ・タイプ VARCHAR の文字ストリングで、実際の長さは 32767 バイト以下になります。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.ParalogsByGeneS(’genes_id’, start, max_result)

このユーザー定義関数のスキーマ名は DB2LS です。

パラロガス遺伝子検索の例

E.coli に関するすべてのパラロガス遺伝子を検索したいとします。 2 番目の結果から始まる最大 10 個の結果を戻すようにしたいとします。

使用する文節は次のとおりです。

VALUES CAST(DB2LS.ParalogsByGeneS(’eco:b0002’, 2, 10)AS VARCHAR(1000));

E.coli 生物種の KEGG データベース名は eco です。生物種名は b0002 です。

ParalogsByGeneT ユーザー定義関数ParalogsByGeneT 関数は、指定の遺伝子に対するパラロガス遺伝子を検索するのに使用します。

ParalogsByGeneT 関数は、出力列の固定セットを戻す表関数です。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.ParalogsByGeneT(’genes_id’, start, max_result)

このユーザー定義関数のスキーマ名は DB2LS です。

パラロガス遺伝子検索の例

E.coli に関するすべてのパラロガス遺伝子を検索したいとします。 2 番目の結果から始まる最大 10 個の結果を戻すようにしたいとします。

使用する SELECT ステートメントは次のとおりです。

442 フェデレーテッド・データ・ソース 構成ガイド

Page 453: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

SELECT * FROM TABLE(DB2LS.ParalogsByGeneT(’eco:b0002’, 2, 10))AS t;

E.coli 生物種の KEGG データベース名は eco です。生物種名は b0002 です。

RevBestNbrsByGeneS ユーザー定義関数RevBestNbrsByGeneS 関数は、すべての生物種の遺伝子の逆ベストの関係にある遺伝子を検索するのに使用します。

RevBestNbrsByGeneS 関数は、スペースで区切られたターゲット ID のリストを戻すスカラー関数です。このリストは、データ・タイプ VARCHAR の文字ストリングで、実際の長さは 32767 バイト以下になります。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.RevBestNbrsByGeneS(’genes_id’, start, max_result)

このユーザー定義関数のスキーマ名は DB2LS です。

全生物種リスト検索の例

たとえば、E.coli の逆ベストの関係にあるすべての生物種を検索したいとします。最初の結果から始まる最大 15 個の結果を戻すようにしたいとします。

使用する文節は次のとおりです。

VALUES CAST(DB2LS.RevBestNbrsByGeneS(’eco:b0002’, 1, 15)AS VARCHAR(1000));

E.coli 遺伝子の KEGG コードは eco です。遺伝子名は b0002 です。

RevBestNbrsByGeneT ユーザー定義関数RevBestNbrsByGeneT 関数は、すべての生物種の遺伝子の逆ベストの関係にある遺伝子を検索するのに使用します。

RevBestNbrsByGeneT 関数は、出力列の固定セットを戻す表関数です。

この関数は SELECT ステートメントで使用できます。

構文DB2LS.RevBestNbrsByGeneT(’genes_id’, start, max_result)

このユーザー定義関数のスキーマ名は DB2LS です。

全生物種リスト検索の例

たとえば、E.coli の逆ベストの関係にあるすべての生物種を検索したいとします。最初の結果から始まる最大 15 個の結果を戻すようにしたいとします。

使用する SELECT ステートメントは次のとおりです。

第 22 章 KEGG ユーザー定義関数 443

Page 454: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

SELECT * FROM TABLE(DB2LS.RevBestNbrsByGeneT(’eco:b0002’, 1, 15))AS t;

E.coli 遺伝子の KEGG コードは eco です。遺伝子名は b0002 です。

KEGG ユーザー定義関数を使用不可にするKEGG ユーザー定義関数は、一時的に使用不可にすることも、フェデレーテッド・データベースから永久的に除去してしまうことも可能です。

このタスクについて

KEGG ユーザー定義関数を使用不可にする場合、関数をフェデレーテッド・データベースに登録することにより、再び使用可能にすることができます。関数をフェデレーテッド・データベースから永久的に削除する場合は、関数をアンインストールすることが必要です。

手順

KEGG ユーザー定義関数を使用不可にするには、次のようにします。

disable_KEGGFunctions コマンドを実行します。

v Windows が稼働するフェデレーテッド・サーバーでは、このコマンドはsqllib¥bin ディレクトリーにあります。

v UNIX が稼働するフェデレーテッド・サーバーでは、このコマンドは sqllib/bin

ディレクトリーにあります。

構文disable_KEGGFunctions -n dbName -u userID -p password [-version]

-n dbName

関数を使用不可にするフェデレーテッド・データベースの名前。

-u userID

フェデレーテッド・データベース用の有効なユーザー ID。

-p password

ユーザー ID の有効なパスワード。

[-2.3] 指定する dbName からバージョン 2.3 の KEGG ユーザー定義関数をすべて除去します。バージョン 2.3 の KEGG ユーザー定義関数を除去する場合のみ、このパラメーターを使用する必要があります。 KEGG ユーザー定義関数の他のバージョンを除去するには、このパラメーターを省略する必要があります。

たとえば、CHINA フェデレーテッド・データベースから 2.3 KEGG ユーザー定義関数を使用不可にするには、以下のコマンドを使用します。

disable_KEGGFunctions -n CHINA -u LI -p panda ver2.3

KEGG ユーザー定義関数を使用不可にした後、次のようにして、XML エクステンダーおよび SOAP ユーザー定義関数を使用不可にすることができます。

1. db2disable_soap_udf -n database_name コマンドを実行します。

444 フェデレーテッド・データ・ソース 構成ガイド

Page 455: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

2. dxxadm disable_db database_name コマンドを実行します。

第 22 章 KEGG ユーザー定義関数 445

Page 456: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

446 フェデレーテッド・データ・ソース 構成ガイド

Page 457: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 23 章 ライフ・サイエンス・ユーザー定義関数

ライフ・サイエンス・ユーザー定義関数ライフ・サイエンス・ユーザー定義関数は、一般にデータ分析に使用されるアルゴリズムを提供します。

ライフ・サイエンス・ユーザー定義関数は、標準の 1 文字コード、およびIUPAC-IUB あいまいコードを用いてアミノ酸およびヌクレオチドを示します。

ライフ・サイエンス・ユーザー定義関数は、非リレーショナル・ラッパーのライフ・サイエンス・ユーザー定義関数コンポーネントを使用してインストールします。ライフ・サイエンス・ユーザー定義関数をインストールした後で、それらの関数を登録する必要があります。

ネーム・スペースの競合を回避するために、すべてのライフ・サイエンス・ユーザー定義関数は DB2LS スキーマに登録されます。

ライフ・サイエンス・ユーザー定義関数ライブラリー・ファイルIBM WebSphere Federation Server に付属するライフ・サイエンス・ユーザー定義関数の中には、ライブラリー・ファイルを必要とするものがあります。これらのライブラリー・ファイルは、フェデレーテッド・サーバー上でライフ・サイエンス・ユーザー定義関数を登録するときに必要です。

ほとんどのライフ・サイエンス・ユーザー定義関数が同じライブラリー・ファイルを使用します。LSGeneWise ユーザー定義関数は、ライブラリー・ファイルを別途必要とします。

非リレーショナル・データ・ソースに対して IBM WebSphere Federation Server をインストールする際、フェデレーテッド・サーバーに次のユーザー定義ライブラリー・ファイルがインストールされます。

ライフ・サイエンス・ユーザー定義関数ライブラリー

表 99. ライフ・サイエンスユーザー定義関数ライブラリーのロケーションとファイル名

関数タイプ オペレーティング・システム

ディレクトリー・パス ライブラリー・ファイル名

ライフ・サイエンス・ユーザー定義関数

AIX /SQLLIB/function libdb2lsudfs.a

ライフ・サイエンス・ユーザー定義関数

Linux /SQLLIB/function libdb2lsudfs.so

ライフ・サイエンス・ユーザー定義関数

Solaris /SQLLIB/function libdb2lsudfs.so

ライフ・サイエンス・ユーザー定義関数

Windows %DB2PATH%¥bin db2lsudfs.dll

© Copyright IBM Corp. 1998, 2006 447

Page 458: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

%DB2PATH% は、IBM WebSphere Federation Server が Windows にインストールされる場合のディレクトリー・パスを指定するのに使用される環境変数です。デフォルトの Windows ディレクトリー・パスは、C:¥Program Files¥IBM¥SQLLIB です。

LSGeneWise ユーザー定義関数ライブラリー

LSGeneWise ユーザー定義関数は、ライブラリー・ファイルを別途必要とします。

表 100. LSGeneWise 関数ライブラリーのロケーションとファイル名

関数タイプ オペレーティング・システム

ディレクトリー・パス

ライブラリー・ファイル名

LSGeneWise 関数 UNIX /SQLLIB/lib libdb2lsSTgenewise.a

機能カテゴリーごとのライフ・サイエンス・ユーザー定義関数IBM WebSphere Federation Server には、ライフ・サイエンス・データにアクセスするのに使用できるユーザー定義関数のセットが含まれています。そうした関数によって、シーケンスの変換や調整、定義行のエレメントの解析、さらにはパターン・マッチングの実行ができます。

以下の表に、機能カテゴリーごとのライフ・サイエンス・ユーザー定義関数をリストします。各カテゴリーの要旨も示します。

表 101. ライフ・サイエンス・ユーザー定義関数

機能カテゴリー ユーザー定義関数 説明

逆変換 LSPep2AmbNuc、LSPep2ProbNuc

アミノ酸シーケンスをヌクレオチド・シーケンスに変換します。

定義行構文解析 LSDeflineParse BLAST ラッパーにより戻される定義行エレメント、または FASTA

形式のデータ・ファイルにある定義行エレメントの構文を解析します。

一般化されたパターン・マッチング

LSPatternMatch、LSPrositePattern

ヌクレオチド・シーケンスまたはペプチド・シーケンスなどの所定ストリングの特定箇所を識別します。

GeneWise LSGeneWise プロテイン・シーケンスをゲノム・シーケンスに合わせます。

Motifs LSMultiMatch、LSMultiMatch3、 LSBarCode

ヌクレオチド・シーケンスまたはアミノ酸シーケンスのパターンの一致を図ります。

反転 LSRevNuc、LSRevPep、LSRevComp

ヌクレオチド・シーケンスまたはアミノ酸シーケンスを反転します。

変換 LSNuc2Pep、LSTransAllFrames

ヌクレオチド・シーケンスをペプチド・シーケンスに変換します。

448 フェデレーテッド・データ・ソース 構成ガイド

Page 459: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ライフ・サイエンス・ユーザー定義関数の登録ライフ・サイエンス・ユーザー定義関数を使用するには、まずその関数を登録する必要があります。

始める前に

ライフ・サイエンス・ユーザー定義関数がインストールされていなければなりません。ライフ・サイエンス・ユーザー定義関数オプションは、IBM WebSphere

Federation Server インストール・ウィザードの非リレーショナル・ラッパー・コンポーネントの下にリストされます。

手順

ライフ・サイエンス・ユーザー定義関数を登録するには、次のようにします。

enable_LSFunctions コマンドを実行して、ライフ・サイエンス・ユーザー定義関数を登録します。

v Windows が稼働するフェデレーテッド・サーバーでは、このコマンドはsqllib¥bin ディレクトリーにあります。

v UNIX が稼働するフェデレーテッド・サーバーでは、このコマンドは sqllib/bin

ディレクトリーにあります。

構文:enable_LSFunctions -n dbName -u userID -p password [-force]

-n dbName

関数の登録先であるフェデレーテッド・データベースの名前。

-u userID

フェデレーテッド・データベース用の有効なユーザー ID。

-p password

ユーザー ID の有効なパスワード。

[-force]関数を除去して再登録するのに使用できるオプションのフラグ。このフラグは、関数が破損したか間違えてドロップしてしまった場合に使用します。

enable_LSFunctions コマンドは、すべてのライフ・サイエンス・ユーザー定義関数をフェデレーテッド・データベースに登録します。これらの関数は、DB2LS というスキーマ名で登録されます。

ライフ・サイエンス・ユーザー定義関数の使用不可ライフ・サイエンス・ユーザー定義関数は、一時的に使用できなくすることも、フェデレーテッド・データベースから永久的に除去してしまうことも可能です。

このタスクについて

ライフ・サイエンス・ユーザー定義関数を使用できなくする場合、関数をフェデレーテッド・データベースに登録することにより、再び使用可能にすることができます。関数をフェデレーテッド・データベースから永久的に削除する場合は、関数をアンインストールすることが必要です。

第 23 章 ライフ・サイエンス・ユーザー定義関数 449

Page 460: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

手順

ライフ・サイエンス・ユーザー定義関数を使用できなくするには、次のようにします。

disable_LSFunctions コマンドを実行します。

v Windows が稼働するフェデレーテッド・サーバーでは、このコマンドはsqllib¥bin ディレクトリーにあります。

v UNIX が稼働するフェデレーテッド・サーバーでは、このコマンドは sqllib/bin

ディレクトリーにあります。

構文:disable_LSFunctions -n dbName -u userID -p password

-n dbName

関数を使用できなくするフェデレーテッド・データベースの名前。

-u userID

フェデレーテッド・データベース用の有効なユーザー ID。

-p password

ユーザー ID の有効なパスワード。

逆変換ユーザー定義関数 - 概要逆変換ユーザー定義関数を使用して、ペプチド・シーケンスをヌクレオチド・シーケンスに変換できます。逆変換では逆の変換処理を行います。

アミノ酸からヌクレオチド・トリプレット・コドンへのマッピングは一対多数であるため、逆変換では 2 つの結果が発生します。

あいまい変換単純なテキスト変換と検索。あいまいな変換を実行するには、LSPep2AmbNuc ユーザー定義関数を使用します。

最近似変換コドン度数表から追加情報が必要です。最近似変換を実行するには、LSPep2ProbNuc ユーザー定義関数を使用します。

LSPep2AmbNuc ユーザー定義関数LSPep2AmbNuc 関数を使用し、変換表に基づいてペプチド・シーケンスからあいまいなヌクレオチド・シーケンスを作成します。

DB2LS.LSPep2AmbNuc(input peptide sequence,filepath to external translation table)

input peptide sequenceペプチド・シーケンスを示す有効な文字ストリング表記です。文字ストリング表記は、データ・タイプ VARCHAR であり、実際の長さが 10890 バイト以下である必要があります。入力データには、標準アミノ酸記号およびあいまいコードを使用します。

filepath to external translation tableカスタマイズした変換表を使用する場合は、その表へのファイル・パス情報を指定してください。パスのストリング値は、255 文字以下にしてください。

450 フェデレーテッド・データ・ソース 構成ガイド

Page 461: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

このユーザー定義関数で使用するスキーマ名は DB2LS です。

関数の結果は、データ・タイプ VARCHAR の文字ストリングで、実際の長さは32672 バイト以下になります。この結果は、組み込み、または指定した変換表に基づくあいまいなヌクレオチド・シーケンスを示します。

変換表を指定しない場合、関数は以下のデフォルトの変換表を使用します。

表 102. デフォルトの変換表

アミノ酸記号 省略形 コドン

A Ala GCX

B Asx RAY

C Cys TGY

D Asp GAY

E Glu GAR

F Phe TTY

G Gly GGX

H His CAY

I Ile ATH

K Lys AAR

L Leu YTX

M Met ATG

N Asn AAY

P Pro CCX

Q Gln CAR

R Arg MGX

S Ser WSX

T Thr ACX

V Val GTX

W Trp TGG

V Xxx XXX

Y Tyr TAY

Z Glx SAR

* End TRR

LSPep2AmbNuc ユーザー定義関数の例:

LSPep2AmbNuc ユーザー定義関数の例。

簡単なペプチドの逆変換

この関数は、values ステートメントで呼び出せます。入力は、以下の例のようにペプチド・シーケンス 1 つです。

VALUES db2ls.LSPep2AmbNuc(’HR’);

第 23 章 ライフ・サイエンス・ユーザー定義関数 451

Page 462: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

上記の例では、あいまい変換および組み込みのデフォルト変換表を使用してペプチドをヌクレオチドに変換します。この結果、標準アミノ酸記号から次のようなヌクレオチド・シーケンスが作成されます。

CAYMGX

簡単なペプチドのヌクレオチドへの逆変換

以下の例では、あいまい変換と組み込み表を使用してペプチドをヌクレオチドに変換します。

VALUES db2ls.LSPep2AmbNuc(’SRGFGFITYSHSSMIDEAQKSRPHKIDGRVVEPKRA’);

この values ステートメントの結果が、次のヌクレオチド・シーケンスです。(シーケンスは、このページに収まるように改行されています。)

WSXMGXGGXTTYGGXTTYATHACXTAYWSXCAYWSXWSXATGATHGAYGARGCXCARAARWSXMGXCCXCAYAARATHGAYGGXMGXGTXGTXGARCCXAARMGXGCX

表またはニックネーム列の入力を使用した逆変換

次の例では、表またはニックネームから抽出された値のセットに適用する関数を示します。

SELECT DB2LS.LsPep2AmbNuc(peptide_seq) FROM table protein_table;

表 protein_table の peptide_seq 列のデータは、以下のようになります。

表 103. peptide_seq 列のデータ

peptide_seq

GIKEDTEEHHLRDYFE

QKYHTVNGHNCEVRKA

.....

select ステートメントの結果は次のとおりです。

GGXATHAARGARGAYACXGARGARCAYCAYYTXMGXGAYTAYTTYGARCARAARTAYCAYACXGTXAAYGGXCAYAAYTGYGARGTXMGXAARGCX...

ユーザー定義変換表を使用した逆変換

以下の例では、あいまい変換およびユーザー定義表を使用してペプチドをヌクレオチドに変換します。通常、変換表間の差は、あまりありません。固有な記号が、1

つか 2 つ存在することがあります。これは、より多くのコドンを持つ種や、より少ないコドンを持つ種が存在するためです。例えば、ショウジョウバエはコドン AGG

を持ちません。

VALUES db2ls.LSPep2AmbNuc(’RGNMGGGNYGNQNGGGNWNNG’,’¥data¥transl_table_06.txt’)

ショウジョウバエ用の変換表を入力した場合、values ステートメントの結果は次のようになります。

MGRGGXAAYATGGGXGGXGGXAAYTAYGGXAAYTARAAYGGXGGXGGXAAYTGGAAYAAYGGX

452 フェデレーテッド・データ・ソース 構成ガイド

Page 463: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

LSPep2ProbNuc ユーザー定義関数LSPep2ProbNuc 関数を使用して、指定したコドン度数表に基づき、ペプチド・シーケンスから最近似のヌクレオチド・シーケンスを生成します。

DB2LS.LSPep2ProbNuc(input peptide sequence,filepath to codon frequency table)

input peptide sequenceペプチド・シーケンスを示す有効な文字ストリング表記です。文字ストリング表記は、データ・タイプ VARCHAR であり、実際の長さが 10890 バイト以下である必要があります。入力データには、標準アミノ酸記号を使用します。

filepath to codon frequency tableコドン度数表です。度数表へのファイル・パス情報を指定してください。パスのストリング値は、255 文字以下にしてください。

このユーザー定義関数で使用するスキーマ名は DB2LS です。

関数の結果は、データ・タイプ VARCHAR の文字ストリングで、実際の長さは32672 バイト以下になります。また、コドン度数表を用いた最近似ヌクレオチド・シーケンスを表します。

LSPep2ProbNuc ユーザー定義関数の例:

LSPep2ProbNuc ユーザー定義関数の例。

yeast_high.cod 度数表に定義された最近似変換を使用して、ペプチド・シーケンスをヌクレオチド・シーケンスに変換する方法は以下のとおりです。

VALUES db2lsLSPep2ProbNuc(’RDNNDDDN’, ’¥data¥yeast_high.cod’)

この values ステートメントの結果は以下のとおりです。

AGAGACAATAACGACGATGATAAC

同じステートメントの 2 回目の実行では以下のストリングが形成されます。

AGAGATAATAACGACGATGACAAC

同じステートメントの 3 回目の実行では以下のランダム値のストリングが形成されます。

AGAGATAACAACGACGACGATAAT

太字で強調表示されたコドンは、現在と以前に行われた変換の相違を示します。

単一の values ステートメントの結果は、LSPep2ProbNuc 関数が以前の統計に基づき有力な記号を選択することを表します。この点は、変換可能なものがより多く存在する場合にあいまい記号を使用する LSPep2AmbNuc 関数と異なります。

LSPep2ProbNuc 関数は、各記号の最近似変換を選出し、すべての記号を事前選出したセットからランダム変換を使用して置き換えます。度数表に次のようなデータがあると想定します。

第 23 章 ライフ・サイエンス・ユーザー定義関数 453

Page 464: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 104. 度数表データのサンプル

アミノ酸 コドン 度数

Ala GCG 0.17

Ala GCA 0.13

Ala GCT 0.17

Ala GCC 0.53

ペプチド・シーケンスが、4 つの『A』記号 (Ala) を含むと想定します。この関数は、A を GCC に 2 回、そして GCG と GCT にそれぞれ 1 回ずつ変換します。ただし、変換の順序はランダムになります。照会では、最初の A をセット {GCC,GCC, GCG, GCT} からの各変換に変換します。結果出力の DNA シーケンスには、常に 2 つの GCC、1 つの GCG、そして 1 つの GCT が表れます。同一シーケンス上で関数を複数回実行すると、値が置き換えられた DNA シーケンスが戻されることがあります。

定義行構文解析のユーザー定義関数 - 概要定義行構文解析のユーザー定義関数は、定義行エレメントを解析します。

定義行構文解析関数は、最も一般的な定義行形式に対応します。例えば、BLAST ラッパーが戻す定義行エレメント、または FASTA 形式のデータ・ファイルに示される定義行エレメントです。

定義行構文解析ユーザー定義関数は、以下の事柄ができます。

v 定義行から解析したシーケンス ID の他のデータ・ソースとの結合を可能にする。

v ’species = "human"’ のような定義行部分の述部を評価する。

LSDeflineParse ユーザー定義関数化合物定義である定義行は、各行に単一のコンポーネント定義を含む複数行に出力されます。

各 LSDeflineParse 関数は、NCBI 標準 FASTA シーケンス ID (NSID) およびその記述のフィールドを解析し、表の列へ出力します。

定義行構文解析ユーザー定義関数で使用するスキーマ名は DB2LS です。

定義行構文解析ユーザー定義関数は、次のとおりです。

DB2LS.LSDeflineParse2(definition line)

DB2LS.LSDeflineParse3(definition line)

DB2LS.LSDeflineParse2_2(definition line)

DB2LS.LSDeflineParse2_3(definition line)

DB2LS.LSDeflineParse3_3(definition line)

定義行 FASTA 形式で定義行を示す有効なストリングです。ストリング表記は、データ・タイプ VARCHAR であり、実際の長さが 1024 バイト以下である必要があります。

454 フェデレーテッド・データ・ソース 構成ガイド

Page 465: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

LSDeflineParse2 ユーザー定義関数

LSDeflineParse2 は 2 つのフィールドから成る NSID を持つ定義行を解析します。関数の結果は、4 列の表になります。

表 105. LSDeflineParse2 ユーザー定義関数の結果表の列の説明

列名 説明

ROWID 関数が戻す行数 (整数)。

TAG NSID タグを表す 3 文字以下の VARCHAR。

IDENTIFIER NSID の 2 番目の ID フィールドを表す 20 文字以下のVARCHAR。

DESCRIPTION 1019 文字以下の VARCHAR。

LSDeflineParse3 ユーザー定義関数

LSDeflineParse3 は 3 つのフィールドから成る NSID を持つ定義行を解析します。関数の結果は、5 列の表になります。

表 106. LSDeflineParse3 ユーザー定義関数の結果表の列の説明

列名 説明

ROWID 関数が戻す行数 (整数)。

TAG NSID タグを表す 3 文字以下の VARCHAR。

ACCESSION NSID の 2 番目の ID フィールドを表す 20 文字以下のVARCHAR。

LOCUS NSID の 3 番目の ID フィールドを表す 20 文字以下のVARCHAR。

DESCRIPTION 1017 文字以下の VARCHAR。

LSDeflineParse2_2 ユーザー定義関数

LSDeflineParse2_2 は、それぞれ 2 つのフィールドを持つ 2 つの NSID が連結された化合物 ID の定義行を解析します。関数の結果は、6 列の表になります。

表 107. LSDeflineParse2_2 ユーザー定義関数の結果表の列の説明

列名 説明

ROWID 関数が戻す行数 (整数)。

TAG1 1 番目の ID の NSID タグを表す 3 文字以下の VARCHAR。

IDENTIFIER1 1 番目の NSID の 2 番目の ID フィールドを表す 20 文字以下のVARCHAR。

TAG2 1 番目の ID の NSID タグを表す 3 文字以下の VARCHAR。

IDENTIFIER2 2 番目の NSID の 2 番目の ID フィールドを表す 20 文字以下のVARCHAR。

DESCRIPTION 1015 文字以下の VARCHAR。

第 23 章 ライフ・サイエンス・ユーザー定義関数 455

Page 466: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

LSDeflineParse2_3 ユーザー定義関数

LSDeflineParse2_3 は、2 つのフィールドから成る NSID が 3 つのフィールドから成る NSID と連結された化合物 ID の定義行を解析します。入力定義行での連結順は重要ではありません。関数の結果は、7 列の表になります。

表 108. LSDeflineParse2_3 ユーザー定義関数の結果表の列の説明

列名 説明

ROWID 関数が戻す行数 (整数)。

TAG1 2 つのフィールド ID の NSID タグを表す 3 文字以下のVARCHAR。

IDENTIFIER 2 つの フィールドから成る NSID の 2 番目の ID を表す 20 文字以下の VARCHAR。

TAG2 3 つのフィールドから成る ID の NSID タグを表す 3 文字以下のVARCHAR。

ACCESSION 3 つのフィールドから成る NSID の 2 番目の ID フィールドを表す20 文字以下の VARCHAR。

LOCUS 3 つのフィールドの NSID の 3 番目の ID フィールドを表す 20 文字以下の VARCHAR。

DESCRIPTION 1013 文字以下の VARCHAR。

LSDeflineParse3_3 ユーザー定義関数

LSDeflineParse3_3 は、それぞれ 3 つのフィールドを持つ 2 つの NSID から成る化合物 ID の定義行を解析します。関数の結果は、8 列の表になります。

表 109. LSDeflineParse3_3 ユーザー定義関数の結果表の列の説明

列名 説明

ROWID 関数が戻す行数 (整数)。

TAG1 1 番目の ID の NSID タグを表す 3 文字以下の VARCHAR。

ACCESSION1 1 番目の NSID の 2 番目の ID フィールドを表す 20 文字以下のVARCHAR。

LOCUS1 1 番目の NSID の 3 番目の ID フィールドを表す 20 文字以下のVARCHAR。

TAG2 1 番目の ID の NSID タグを表す 3 文字以下の VARCHAR。

ACCESSION2 2 番目の NSID の 2 番目の ID フィールドを表す 20 文字以下のVARCHAR。

LOCUS2 2 番目の NSID の 3 番目の ID フィールドを表す 20 文字以下のVARCHAR。

DESCRIPTION 1014 文字以下の VARCHAR。

LSDeflineParse ユーザー定義関数 - 例:

LSDeflineParse ユーザー定義関数の例。このトピックでは、LSDeflineParse ユーザー定義関数が定義行を結果表へ解析する方法を、例を使用して解説します。

456 フェデレーテッド・データ・ソース 構成ガイド

Page 467: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

2 つのフィールドを持つ NSID が含まれる定義行の解析

以下の照会および結果表の例では、LSDeflineParse2 ユーザー定義関数が 2 つのフィールドを持つ NSID の定義行を解析する方法を示します。

select *from table(DB2LS.LSDeflineParse2(’>gi|12346 hypothetical protein 185 –wheat chloroplast’)) as t

結果表は次のデータを含みます。

表 110. LSDeflineParse2 ユーザー定義関数の結果データ

列名 データ

ROWID 1

TAG gi

IDENTIFIER 12346

DESCRIPTION hypothetical protein 185 – wheat chloroplast

3 つのフィールドを持つ NSID が含まれる定義行の解析

以下の照会および結果表の例では、LSDeflineParse3 ユーザー定義関数が 3 つのフィールドを持つ NSID を含む定義行を解析する方法を示します。

select *from table(DB2LS.LSDeflineParse3(’>gb|U37104|APU37104 Aethia pusilla cytochrome b gene’)) as t

結果表は次のデータを含みます。

表 111. LSDeflineParse3 ユーザー定義関数の結果データ

列名 データ

ROWID 1

TAG gb

ACCESSION U37104

LOCUS APU37104

DESCRIPTION Aethia pusilla cytochrome b gene

2 つのフィールドを持つ 2 つの NSID で構成される化合物 ID が含まれる定義行の解析

以下の照会および結果表の例では、LSDeflineParse2_2 ユーザー定義関数が化合物ID を含む定義行を解析する方法を示していて、その化合物 ID は 2 つのフィールドを持つ 2 つの NSID で構成されています。

select *from table(DB2LS.LSDeflineParse2_2(’>gb|U37104|gim|73401A Aethia pusilla cytochrome b gene’)) as t

第 23 章 ライフ・サイエンス・ユーザー定義関数 457

Page 468: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

結果表は次のデータを含みます。

表 112. LSDeflineParse2 ユーザー定義関数の結果データ

列名 データ

ROWID 1

TAG1 gb

IDENTIFIER1 U37104

TAG2 gim

IDENTIFIER2 73401A

DESCRIPTION Aethia pusilla cytochrome b gene

2 つのフィールドを持つ NSID の後に 3 つのフィールドを持つ NSID が連続している化合物 ID が含まれる定義行の解析

以下の照会例では、2 つのフィールドを持つ NSID と 3 つのフィールドを持つNSID の連結からなる化合物 ID を持つ定義行を含みます。LSDeflineParse2_3 関数が定義行を解析する方法を次に示します。

select *from table(DB2LS.LSDeflineParse2_3(’>gi|12346|gp|CAA44030.1|CHTAHSRA_4hypothetical protein 185 – wheat chloroplast’)) as t

結果表は次のデータを含みます。

表 113. LSDeflineParse2 ユーザー定義関数の結果データ

列名 データ

ROWID 1

TAG1 gi

IDENTIFIER 12346

TAG2 gp

ACCESSION CAA44030.1

LOCUS CHTAHSRA_4

DESCRIPTION hypothetical protein 185 – wheat chloroplast

3 つのフィールドを持つ NSID の後に 2 つのフィールドを持つ NSID が連続している化合物 ID が含まれる定義行の解析

以下の照会例では、3 つのフィールドを持つ NSID と 2 つのフィールドを持つNSID の連結からなる化合物 ID を持つ定義行を含みます。LSDeflineParse2_3 関数が定義行を解析する方法を次に示します。

select *from table(DB2LS.LSDeflineParse2_3(’>gp|CAA44030.1|CHTAHSRA_4|gi|12346hypothetical protein 185 - wheat chloroplast’)) as t

458 フェデレーテッド・データ・ソース 構成ガイド

Page 469: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

結果表は次のデータを含みます。

表 114. LSDeflineParse2 ユーザー定義関数の結果データ

列名 データ

ROWID 1

TAG1 gi

IDENTIFIER 12346

TAG2 gp

ACCESSION CAA44030.1

LOCUS CHTAHSRA_4

DESCRIPTION hypothetical protein 185 – wheat chloroplast

3 つのフィールドを持つ 2 つの NSID で構成される化合物 ID が含まれる定義行の解析

以下の照会および結果表の例では、LSDeflineParse3_3 ユーザー定義関数が 3 つのフィールド を持つ 2 つの NSID から成る化合物 ID を持つ定義行を解析する方法を示します。

select * from table(DB2LS.LSDeflineParse3_3(’>dbj|AAD55586.1|AF055084_1|gp|CAA44030.1|CHTAHSRA_4hypothetical protein 185 – wheat chloroplast’)) as t

結果表は次のデータを含みます。

表 115. LSDeflineParse3 ユーザー定義関数の結果データ

列名 データ

ROWID 1

TAG1 dbj

ACCESSION1 AAD55586.1

LOCUS1 AF055084_1

TAG2 gp

ACCESSION2 CAA44030.1

LOCUS2 CHTAHSRA_4

DESCRIPTION hypothetical protein 185 – wheat chloroplast

化合物定義行の解析

化合物定義行の解析には、任意の定義行ユーザー定義関数を使用できます。以下の照会例は、コントロール A で分離された複数定義を持つ化合物定義行を含みます。このタイプの定義行は、NCBI の非冗長タンパク質データベース nr で検出できます。LSDeflineParse2_3 関数が定義行を解析する方法を次に示します。

select *from table(DB2LS.LSDeflineParse2_3(’>gi|12346|gp|CAA44030.1|CHTAHSRA_4hypothetical protein 185 - wheat chloroplast^Agp|CAA44030.1|CHTAHSRA_4|gi|12346hypothetical protein 185 - wheat chloroplast’)) as t

第 23 章 ライフ・サイエンス・ユーザー定義関数 459

Page 470: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

結果表は次のデータを含みます。

表 116. LSDeflineParse2 ユーザー定義関数の結果データ

列名 データ データ

ROWID 1 2

TAG1 gi gi

IDENTIFIER 12346 12346

TAG2 gp gp

ACCESSION CAA44030.1 CAA44030.1

LOCUS CHTAHSRA_4 CHTAHSRA_4

DESCRIPTION hypothetical protein 185 – wheat

chloroplast

hypothetical protein 185 – wheat

chloroplast

一般化されたパターン・マッチングのユーザー定義関数 - 概要一般化されたパターン・マッチングのユーザー定義関数は、ヌクレオチド・シーケンスまたはペプチド・シーケンスなどの、所定ストリングの特定箇所を識別します。

一般化されたパターン・マッチングのユーザー定義関数には、以下の 2 つがあります。

v LSPatternMatch

v LSPrositePattern

LSPatternMatch ユーザー定義関数は、指定パターンの入力されたヌクレオチド・シーケンスまたはペプチド・シーケンスを検索するのに使用します。

LSPrositePattern ユーザー定義関数は、PROSITE 構文のパターンを Perl 構文に変換するのに使用します。

LSPatternMatch ユーザー定義関数LSPatternMatch ユーザー定義関数を使用して、指定パターンの入力されたヌクレオチド・シーケンスまたはペプチド・シーケンスを検索できます。

DB2LS.LSPatternMatch(input character sequence, pattern)

input character sequence文字ストリング表記は、データ・タイプ VARCHAR であり、実際の長さが32672 バイト以下である必要があります。

pattern有効な任意の Perl 正規表現で指定されたパターンです。文字ストリング表記は、データ・タイプ VARCHAR であり、実際の長さが 32672 バイト以下である必要があります。

このユーザー定義関数で使用するスキーマ名は DB2LS です。

LSPatternMatch ユーザー定義関数を使用して、指定パターンの入力されたヌクレオチド・シーケンスまたはペプチド・シーケンスを検索できます。

460 フェデレーテッド・データ・ソース 構成ガイド

Page 471: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

関数は、シーケンス内で最初に一致するパターンの位置を表す整数を結果として戻します。一致するものがない場合、この関数はゼロを戻します。

PROSITE 構文で記述されたパターンがある場合は、それらを LSPrositePattern ユーザー定義関数で Perl 構文に変換できます。変換した構文は、LSPatternMatch ユーザー定義関数で使用できます。

LSPatternMatch ユーザー定義関数の例:

LSPatternMatch ユーザー定義関数の例。

特定の文字で開始される一致の検出

次の例では、『coward』、『cowage』、『cowboy』、または『cowl』と一致するストリングの開始位置を検索します。

values DB2LS.LSPatternMatch(’joe the cowboy is next’, ’cow(ard|age|boy|l)’)

関数は文字単位で検索します。この例では、値 9 を戻します。ストリング『cowboy』は、先頭位置を 1 とすると、9 の位置から開始します。

特定の文字で開始され、かつ特定の語を除外した一致の検出

次の例では、『not』および『non』と一致するストリングの開始位置を検索します。

values DB2LS.LSPatternMatch(’match not and non butno match for no or none’, ’no[tn] ’)

関数は文字単位で検索します。この例では、値 7 を戻します。ストリング『not』は、先頭位置を 1 とすると、7 の位置から開始します。

Perl 構文を使用してフィルターに掛ける SELECT ステートメント

LSPatternMatch は、SELECT ステートメントで SQL LIKE ステートメントより影響力のある Perl 構文を使用して、結果をフィルターにかけるのに役立ちます。次の例では、Blast 出力上の LSPatternMatch を使用して、特定のパターンと一致する遺伝子をフィルターにかけます。

SELECT BlastOutput.*FROM BlastOutputWHERE db2ls.LSPatternMatch(HSP_H_Seq, ’F[GSTV]PRL’) > 0;

PROSITE 構文を使用してフィルターに掛ける SELECT ステートメント

PROSITE 構文により精通している場合は、上記の照会で LSPrositePattern も使用できます。照会を以下のように変更します。

SELECT BlastOutput.*FROM BlastOutputWHERE db2ls.LSPatternMatch(HSP_H_Seq,db2ls.LSPrositePattern(’F-[GSTV]-P-R-L.’) ) > 0;

他のタイプのテキストを検索する SELECT ステートメント

パターン・マッチング関数は、ヌクレオチド・シーケンスまたはペプチド・シーケンスと同様に、他のテキスト・タイプの検索にも役立ちます。パフォーマンスに配慮する場合は、SQL LIKE ステートメントを使用してください。

第 23 章 ライフ・サイエンス・ユーザー定義関数 461

Page 472: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

次の例では、配列のサブジェクトまたはターゲット行にあるタンパク質モチーフに基づいて、BLAST hsp 配列をフィルターにかける照会を示します。この例は、「Zhang,Z., Schaffer,A.A., Miller,W., Madden,T.L., Lipman,D.J., Koonin,E.V.

and Altschul,S.F. (1998) Protein sequence similarity searches using

patterns as seeds. Nucl. Acids Res., 26, 3896-3990.」から採用しました。

以下の照会は、P-loop ATPase ドメイン [GA]xxxxGK[ST] を含むサブジェクト・シーケンスである配列のみを戻します。照会は、Caenorhabditis elegans の細胞死を調整する CED4 を、NCBI の非冗長タンパク質シーケンス・データベースに対する照会シーケンスに使用します。データベースは、GenBank 項目 X69016 の CDS 機能の変換から、Blast 照会を検索します。

SELECT HSP_Q_Seq, HSP_Midline, HSP_H_SeqFROM BlastP b, GBseq gs, gbfeat gf, gbqual gqWHERE gs.PRIMARYACCESSION = ’X69016’ andgs.sequencekey = gf.sequencekey andgf.featurejoinkey = gq.featurejoinkey andgf.FeatureKey = ’CDS’ andgq.QualifierName = ’translation’ andgq.QualifierValue = b.BlastSeq anddb2ls.LSPatternMatch(HSP_H_Seq,db2ls.LSPrositePattern(’[GA]-x(4)-G-K-[ST].’) ) > 0;

HSP を検索する SELECT ステートメント

正規の照会シーケンスに該当し、推定上の単一ヌクレオチド多形態 (SNP) を含むゲノム・シーケンスから HSP を検索するには、以下の照会例を使用できます。これは、「Extending traditional query-based integration approaches for

functional characterization of post-genomic data. (2001) Barbara A Eckman,

Anthony S Kosky, and Leonardo A Laroco Jr. Bioinformatics 17(7),

587-601.」から採用しています。

照会は、Blast hsp の中央線上のパターン・マッチングを使用して、≥20 完全一致、単一の不一致、≥20 完全一致が連続するパターンを検索します。つまり、20 の「|」文字、シングル・スペース、そして 20 の「|」文字が配列の中央線にあります。

またこの例では、ヌクレオチド・シーケンスまたはペプチド・シーケンスではないストリングに対する LSPatternMatch ユーザー定義関数の使用法を示します。

SELECT HSP_Info, HSP_Midline, HSP_H_SeqFROM BlastOutputWHERE db2ls.LSPatternMatch(HSP_Midline, ’¥|{20} ¥|{20}’) > 0;

以前の照会を以下のように再書き込みできます。

SELECT HSP_Info, HSP_Midline, HSP_H_Seq, func.Position, func.MatchFROM BlastOutput,TABLE(SELECT * AS c FROM TABLE(LSMultiMatch(HSP_Midline, ’¥|{20} ¥|{20}’) )AS f) AS func

2 番目の照会は、一致するストリングおよびそのシーケンスでの位置の他、一致する Blast 行を戻します。

BlastOutput は BlastN ニックネームに関するビューです。

462 フェデレーテッド・データ・ソース 構成ガイド

Page 473: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

LSPrositePattern ユーザー定義関数LSPrositePattern ユーザー定義関数を使用して、パターンを PROSITE 構文から Perl

構文に変換します。

LSPrositePattern ユーザー定義関数を使用して PROSITE 構文から Perl 構文に変換すると、変換された構文は、LSPatternMatch、LSMultiMatch、および LSMultiMatch3

のユーザー定義関数で使用できます。

DB2LS.LSPrositePattern(pattern)

patternProsite 構文で指定されたパターン・マッチング構文です。文字ストリング表記は、データ・タイプ VARCHAR であり、実際の長さが 32672 バイト以下である必要があります。

このユーザー定義関数で使用するスキーマ名は DB2LS です。

関数の結果は、Perl 構文中で正規表現を表す文字ストリングになります。文字ストリング表記は、データ・タイプ VARCHAR であり、実際の長さが 32672 バイト以下である必要があります。

LSPrositePattern ユーザー定義関数の例:

LSPrositePattern ユーザー定義関数の例。

PROSITE 構文から Perl 構文へのパターンの変換

次の例では、PROSITE 構文から Perl 構文へパターンを変換します。

VALUES db2lsLSPrositePattern(’[AC]-x-V-x(4)-{ED}.’);

この関数は、以下の例のように PROSITE 構文の入力パターンを Perl 構文で相当するパターンに変換します。

[AC].V.{4}[^ED]

次の例では、PROSITE の別の構文パターンを Perl 構文に変換します。

VALUES db2lsLSPrositePattern(’<A-x-[ST](2)-x(0,1)-V.’);

この関数は、入力パターンに基づいて PROSITE 構文からストリングを変換し、以下を戻します。

¥AA.[ST]{2}.{0,1}V

PROSITE データベース項目に対応するパターンの Perl パターンへの変換

次の例では、ID 番号 PS01205 を所有する PROSITE データベース項目に対応するパターンを、パターン・マッチング関数で入力として用いられる Perl パターンに変換します。

VALUES db2lsLSPrositePattern(’R-P-L-[IV]-x-[NS]-F-G-S-[CA]-T-C-P-x-F.’)

この照会の結果は次のとおりです。

RPL[IV].[NS]FGS[CA]TCP.F

第 23 章 ライフ・サイエンス・ユーザー定義関数 463

Page 474: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

SELECT ステートメントにおける LSPrositePattern UDF の使用

次の例では、この関数を照会で使用する方法を示します。照会は、指定されたPROSITE パターンと一致するシーケンスのみを出力します。

SELECT H_Accession, HSP_Info, HSP_H_SeqFROM BlastOutputWHERE db2ls.LSPatternMatch( HSP_H_Seq,db2ls.LSPrositePattern(’R-P-L-[IV]-x-[NS]-F-G-S-[CA]-T-C-P-x-F.’) ) > 0;

VALUES 文節における LSPrositePattern UDF の使用

次の例では、ID PS00261 を持つ PROSITE 項目に対応するパターンを変換します。

VALUES db2lsLSPrositePattern(’C-[STAGM]-G-[HFYL]-C-x-[ST].’)

この照会の結果は次のとおりです。

C[STAGM]G[HFYL]C.[ST]

GeneWise ユーザー定義関数 - 概要GeneWise ユーザー定義関数は、プロテイン・シーケンスをゲノム・シーケンスにより調整します。

GeneWise は一般的に使用されているコンポーネントで、プロテイン・シーケンスをゲノム DNA シーケンスにより調整します。ただし、イントロンおよびフレームシフト・エラーが発生する可能性があります。

GeneWise へのリンクこのトピックでは、GeneWise ライブラリーへのリンクの手順を解説します。

手順

GeneWise ライブラリーにリンクするには、次のようにします。

1. Wise2 パッケージのバージョン 2.1.20c を http://www.ebi.ac.uk/Wise2 からダウンロードします。

2. 必要に応じて、アーカイブをフォルダーに展開します。

3. pthread サポートでパッケージをコンパイルします。 このステップに関する詳細は、Wise2 の資料を参照してください。

4. HP-UX フェデレーテッド・サーバーでは、ソース・コードをコンパイルする前に、コンパイラー・オプションにオプション +z を追加する必要があります。

このオプションを追加するには、 Wise2 パッケージのルート・ディレクトリーからファイル makefile を開き、以下の例に示されているように行に変更を加えてください。

CFLAGS = -c -O -DPTHREAD to: CFLAGS = -c -O -DPTHREAD +z

5. Wise2 パッケージのルート・ディレクトリーで make api を実行します。

6. WISE2_HOME 環境変数を、Wise2 パッケージのルート・ディレクトリーを提示するように設定します。 例: export WISE2_HOME=/usr/wise2.1.20c

7. sqllib/cfg/db2dj.ini ファイルの WISECONFIGDIR 変数を、 wisecfg サブディレクトリーを示すように設定します。

464 フェデレーテッド・データ・ソース 構成ガイド

Page 475: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

例えば、 Wise2 パッケージを /usr/wise2.1.20c/ ディレクトリーにインストールする場合、以下の変数を db2dj.ini ファイルに追加します。

WISECONFIGDIR=/usr/wise2.1.20c/wisecfg/

UNIX フェデレーテッド・サーバーでは、db2dj.ini ファイルのデフォルト・パスは、INSTHOME/sqllib/cfg です。INSTHOME は、インスタンス所有者のホーム・ディレクトリーです。Windows フェデレーテッド・サーバーでは、ファイルへのデフォルト・パスは、x:¥SQLLIB¥cfg です。x:¥SQLLIB は、DB2PATH

レジストリー変数または環境変数で指定されたドライブとディレクトリーです。

8. djxlinkLSGeneWise スクリプトを実行します。このスクリプトは、stable/bin ディレクトリーにあります。djxlinkLSGeneWise.out ファイル内のスクリプトからの出力を検査します。この出力ファイルは、sqllib/function ディレクトリーにあります。その出力ファイルでエラーが報告されない場合は、このライブラリーの作成が正常に行われたことを示します。

LSGeneWise ユーザー定義関数LSGeneWise ユーザー定義関数を使用して、イントロンおよびフレームシフト・エラーを考慮しながら、タンパク質シーケンスをゲノム・シーケンスで調整してください。

構文DB2LS.LSGeneWise(protein sequence, DNA_sequence)

protein sequenceペプチド・シーケンスを示す有効な文字ストリング表記です。文字ストリング表記は、データ・タイプ VARCHAR であり、実際の長さが 32672 バイト以下である必要があります。

DNA_sequenceヌクレオチド・シーケンスを示す有効な文字ストリング表記です。文字ストリング表記は、データ・タイプ VARCHAR であり、実際の長さが 32672

バイト以下である必要があります。

このユーザー定義関数で使用するスキーマ名は DB2LS です。

以下の表では、LSGeneWise 関数が戻す 1 行の出力表を説明します。

表 117. LSGeneWise 関数による出力表の列名、タイプ、および説明

列名 タイプ 説明

PROTEIN_OFFSET INTEGER 配列が検索された入力タンパク質シーケンス内の開始オフセットです。

DNA_OFFSET INTEGER 配列が検索された入力 DNA シーケンス内の開始オフセットです。

PROTEIN VARCHAR(32672) 位置合わせされたシーケンスを表す入力シーケンスのフラグメントです。

SIMILARITY VARCHAR(32672) タンパク質シーケンスと DNA シーケンス間の一致を示します。完全一致は、それに対応する記号文字で記されます。スコアが正で完全一致でないものは「+」で示され、不一致はスペースで示されます。

第 23 章 ライフ・サイエンス・ユーザー定義関数 465

Page 476: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 117. LSGeneWise 関数による出力表の列名、タイプ、および説明 (続き)

列名 タイプ 説明

TRANSLATED_DNA VARCHAR(32672) DNA シーケンスが変換されたものです。シーケンスには、ダッシュおよび削除やイントロンのような特殊記号が含まれる可能性があります。

DNA VARCHAR(32672) フレーム・シフトおよびイントロンなどの特殊マーカーを持つ DNA シーケンスです。

GeneWise プログラムの出力は、LSGeneWise ユーザー定義関数の出力と、以下の点で一致しています。

v GeneWise プログラムで戻されるタンパク質オフセットおよび DNA オフセットは、PROTEIN_OFFSET 列および DNA_OFFSET 列と一致します。

v GeneWise プログラムが戻す最初の行のタンパク質シーケンスは、この UDF のPROTEIN 列と一致します。

v GeneWise 出力の 2 行目 にある類似行は、SIMILARITY 列と一致します。

v GeneWise で出力される 3 行目は、TRANSLATED_DNA 列と一致します。

v GeneWise 出力の 4 行目、5 行目、6 行目は、DNA 列と一致します。これらの行は、行を縦方向に読み取ると結合されます。

LSGeneWise ユーザー定義関数の出力に関する詳細は、http://www.ebi.ac.uk/Wise2 を参照してください。

LSGeneWise ユーザー定義関数の例:

LSGeneWise ユーザー定義関数の例。

次の例は、LSGeneWise ユーザー定義関数を使用した照会およびその結果を示します。

SELECT protein_offset, dna_offset, protein, similarity, translated_dna, dnaFROM TABLE(db2ls.LSGeneWise(’VEPKRAVPRQDIDSPNAGATVKKLFVGALKDDHDEQSIRDYFQHFGNIVDINIVIDKETGKKRGFAFVEFDDYDPVDKVVLQKQHQLNGKMVDVKKALPKQNDQQGGGGGRGGPGGRAGGNRGNMGGGNYGNQNGGGNWNNGGNNWGNNR’,’CACTTAACTGTGAAAGATATTTGTTGGTGGCATTAAAGAAGACACTGAAGAACATCACCTAAGAGATTATTTTGAACAGTATGGAAAAATTGAAGTGATTGAAATCATGACTGACCGAGGCAGTGGCAAGAAAAGGGGCTTTGCCTTRGTAACCTTTGACGACCATGACTCCGTGGATAAGATTGTCATTCAGAAATACCATACTGTGAATGGCCACAACTGTGAAGTTAGAAAAGCCCTGTCAAAGCAAGAGATGGCTAGTGCTTCATCCAGCCAAAGAGGTCGAAGTGGTTCTGGAAACTTTGGTGGTGGTCGTGGAGGTGGTTTCGGTGGGAATGACAACTTCGGTCGTGGAGGAAACTTCAGTGGTCGTGGTYGCTTTGGTGGCAGCCGTGGTGGTGGTGGATATGGTGGC’)) AS f;

表 118. 結果表

列 データ

PROTEIN_OFFSET 23

DNA_OFFSET 14

PROTEIN KLFVGALKDDHDEQSIRDYFQHFGNIVDINIVIDKET

GKKRGFAFVEFDDYDPVDKVVLQKQHQLNGKMVD

VKKALPKQNDQQGGGGGRGGPGGRAGGNRGNMGG

GNYGNQNGGGNWNNGGN

466 フェデレーテッド・データ・ソース 構成ガイド

Page 477: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 118. 結果表 (続き)

列 データ

SIMILARITY K+FVG +K+D +E +RDYF+ +G I I I+ D+ +GKKRGFA+V

FDD+D VDK+V+QK H +NG +V+KAL KQ RG G GN+GGG G

G N+ GGN

TRANSLATED_DNA KIFVGGIKEDTEEHHLRDYFEQYGKIEVIEIMTDRGSGK

KRGFAxVTFDDHDSVDKIVIQKYHTVNGHNCEVRKAL

SKQEMASASSSQRGRSGS------GNFGGGRGGGFGGNDNFGRGGN

DNA aagatatttgttggtggcattaaagaagacactgaagaacatcacctaagagat...

Motif ユーザー定義関数 - 概要Motif ユーザー定義関数は、ヌクレオチド・シーケンスまたはアミノ酸シーケンスのパターンを一致させます。

以下の 3 つの motif ユーザー定義関数があります。

v LSBarCode

v LSMultiMatch

v LSMultiMatch3

LSBarCode ユーザー定義関数LSBarCode ユーザー定義関数を使用してシーケンスを入力し、スペースや正符号(+) を除くすべての文字を垂直バー記号 (|) で置き換えることで、別のシーケンスを生成します。

DB2LS.LSBarCode(input string sequence)

input string sequence2 つのシーケンス・フラグメント間の HSP の配列を示す有効な文字ストリングです。文字ストリング表記は、データ・タイプ VARCHAR であり、実際の長さが 32672 バイト以下である必要があります。

このユーザー定義関数で使用するスキーマ名は DB2LS です。

関数の結果は、バーコード・シーケンスを表す変数文字のシーケンスになります。

LSBarCode ユーザー定義関数の例:

LSBarCode ユーザー定義関数の例。

ストリング・シーケンスからのバーコード

この例では、ストリング・シーケンスからバーコードを作成します。

VALUES db2lsLSBarCode(’MDY +G++L GN ++ +PASLTK+MT YVV +A+ + +I D+VTVG+DAWA NP ’)

この values ステートメントの結果は以下のとおりです。

||| +|++| || ++ +||||||+|| ||| +|+ + +| |+||||+|||| ||

第 23 章 ライフ・サイエンス・ユーザー定義関数 467

Page 478: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

配列の完全一致のパーセンテージの計算

ある研究者は BLAST 検索を実行して、完全一致の中から 25% より少ないプロリンを含む HSP 配列のみを戻す必要があります。この例では、LSBarCode ユーザー定義関数を使用して BLAST が戻す配列の完全一致の中からプロリン (記号 P) のパーセンテージを計算します。

この例では、LSMultiMatch3 ユーザー定義関数を呼び出して、完全一致を検索します。BLAST が常に配列にシーケンス・バー (『|』) を戻すとは限らないため、この例では LSBarCode 関数とともに LSMultiMatch3 ユーザー定義関数が使用されます。次のようになります。

Query: MDYTTGQILTAGNEHQQRNPASLTKLMTGYVVDRAIDSHRITPDDIVTVGRDAWAKDNPVAlignment: MDY +G++L GN ++ +PASLTK+MT YVV +A+ + +I D+VTVG+DAWA NPTarget: MDYASGKVLAEGNADEKLDPASLTKIMTSYVVGQALKADKIKLTDMVTVGKDAWATGNPA

出力を、確実にバーの正しいシーケンスで位置合わせするには、LSBarCode ユーザー定義関数を使用します。 LSBarCode ユーザー定義関数は、スペースおよび正符号を除くすべての文字を垂直バーで置き換えます。

例:

SELECT BlastOutput.* , FLOAT(p)/FLOAT(m) AS percent_prolinesFROM BlastOutput b,TABLE(SELECT COUNT(*) AS p FROM TABLE(db2ls.LSMultiMatch3(b.HSP_Q_Seq, ’P’,db2ls.LSBarCode(b.HSP_Midline), ’¥|’,b.HSP_H_Seq, ’P’)) AS f) AS y,TABLE(SELECT COUNT(*) AS m FROM TABLE(db2ls.LSMultiMatch3(b.HSP_Q_Seq, ’.’,db2ls.LSBarCode(b.HSP_Midline), ’¥|’,b.HSP_H_Seq, ’.’)) AS f) AS zWHERE FLOAT(p)/FLOAT(m)< 0.25;

この照会では、BlastOutput は Blast ニックネームに関するビューです。また、この照会は、LSMultiMatch3 ユーザー定義関数を使用し、完全一致を位置合わせして戻します。最初の LSMultiMatch3 ユーザー定義関数の使用で「P」記号の完全一致を戻し、2 回目のLSMultiMatch3 ユーザー定義関数の使用ですべての完全一致を戻します。

結果表の行を、以下の表に示します。

表 119. 結果行の例

HSP_Q_SEQ HSP_H_SEQ HSP_INFO PERCENT_PROLINES

NIWDFMQGN... NIWDFMQGN... 一致 = 80/80

(100%)、肯定 = 80/80

(100%)、ギャップ =

0/80 (0%)

+2.50000000000000E-002

468 フェデレーテッド・データ・ソース 構成ガイド

Page 479: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

上記の照会は、「Extending traditional query-based integration approaches

for functional characterization of post-genomic data. (2001) Barbara A

Eckman, Anthony S Kosky and Leonardo A Laroco Jr. Bioinformatics 17(7),

587-601.」から採用しました。

LSMultiMatch ユーザー定義関数DB2LS.LSMultiMatch(input nucleotide or peptide sequence, pattern)

input nucleotide or peptide sequenceヌクレオチド・シーケンスまたはペプチド・シーケンスを示す有効な文字ストリング表記です。文字ストリング表記は、データ・タイプ VARCHAR であり、実際の長さが 32672 バイト以下である必要があります。

patternPerl 言語で示されるパターン・マッチング構文です。文字ストリング表記は、データ・タイプ VARCHAR であり、実際の長さが 32672 バイト以下である必要があります。

このユーザー定義関数で使用するスキーマ名は DB2LS です。

LSMultiMatch ユーザー定義関数を使用して、入力シーケンスでオーバーラップしない各一致に対し、表を戻すことができます。各表は、開始位置とマッチング・シーケンス・フラグメントから構成されます。

関数の結果は、2 列の表になります。最初の列は、シーケンス内パターンの一致の開始位置を表す整数です。2 列目は、マッチング・シーケンス・フラグメントです。

LSMultiMatch ユーザー定義関数の例:

次の例では、入力データから取得される重複しないすべての一致に対する位置およびマッチング・フラグメントを検索します。

SELECT position, match FROM TABLE(LSMultiMatch(’match not and non but no match for no or none’,’no[tn] ’)) AS f;

この照会は、一致の結果を表す select ステートメントに基づく表を戻します。

表 120. 複数行を戻す LSMultiMatch の結果

POSITION MATCH

7 not

15 non

LSMultiMatch は、すべての一致に関して、その位置および一致するストリングを戻します。次の例では、特定モチーフを含むシーケンス項目を、Entrez Nucleotide から検索します。照会は、シーケンス ID および一致したシーケンスを出力します。開始および終了のサブパターン 『.{0,9}』 は、シーケンスの前と後で最大 9 文字と一致する必要があります。照会はこれらの文字も出力します。

第 23 章 ライフ・サイエンス・ユーザー定義関数 469

Page 480: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

SELECT SequenceKey, Position, Match FROM GBSeq,TABLE(db2ls.LSMultiMatch(Sequence, ’.{0,9}(ATG|CGC)ACGGGC.{0,9}’) )AS fmatchWHERE ENTREZ.CONTAINS(KeywordList,’Na/K/2Cl cotransporter AND nkcc1 gene’) = 1;

この照会の結果は次のとおりです。

表 121. Entrez データの検索

SEQUENCEKEY POSITION MATCH

N02B59AE0.04DD4E84 1 TGCTTGGTGATGACGGGCTACCCCAAC

N02B59AE0.04DD4E84 91 GGCCATGTTCGCACGGGCTCCAGAAGG

N02B59AE0.04DC5EF4 1 TGCTTGGTGATGACGGGCTACCCCAAC

N02B59AE0.04DC5EF4 91 GGCCATGTTCGCACGGGCTCCAGAAGG

LSMultiMatch3 ユーザー定義関数DB2LS.LSMultiMatch3(input string1, pattern1, input string2, pattern2,input string3, pattern3)

input strings有効な文字ストリングによる、ヌクレオチド・シーケンスまたはペプチド・シーケンス、または Blast 配列からの HSP_Midline ストリング表記です。文字ストリング表記は、データ・タイプ VARCHAR であり、実際の長さが32672 バイト以下である必要があります。

patternPerl 言語で示されるパターン・マッチング構文です。文字ストリング表記は、データ・タイプ VARCHAR であり、実際の長さが 32672 バイト以下である必要があります。

このユーザー定義関数で使用するスキーマ名は DB2LS です。

LSMultiMatch3 ユーザー定義関数を使用して 3 つのパターンおよび 3 つのストリングを入力し、3 つすべてのストリングが該当するそれぞれのパターンと一致する位置を戻します。このユーザー定義関数を使用して配列上に対するパターン・マッチングを実行できます。

関数の結果は、4 列の表になります。最初の列は、すべてのシーケンスにおけるパターンの一致の開始位置を表す整数です。関数は、先頭位置ですべてのストリングを一緒に固定します。2、3、および 4 列目は、マッチング・シーケンス・フラグメントです。

LSMultiMatch3 ユーザー定義関数の例:LSMultiMatch3 関数の LSBarCode 関数との併用

以下の例では、この関数を使用し、Blast により戻された完全一致における特定のアミノ酸記号のパーセンテージを計算します。この例では、LSBarCode ユーザー定義関数も呼び出します。Blast は常に配列のバーのシーケンス ((『|』)) を戻すとは限らないため、必要になります。次のようになります。

Query: MDYTTGQILTAGNEHQQRNPASLTKLMTGYVVDRAIDSHRITPDDIVTVGRDAWAKDNPVAlignment: MDY +G++L GN ++ +PASLTK+MT YVV +A+ + +I D+VTVG+DAWA NPTarget: MDYASGKVLAEGNADEKLDPASLTKIMTSYVVGQALKADKIKLTDMVTVGKDAWATGNPA

470 フェデレーテッド・データ・ソース 構成ガイド

Page 481: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

出力を、確実に正しいバーのシーケンスで位置合わせするには、LSBarCode 関数を使用してそのシーケンスを変換します。この関数は、スペースおよび「+」を除くすべての文字を垂直バーで置き換えます。

SELECT BlastOutput.* , FLOAT(p)/FLOAT(m) AS percent_prolinesFROMBlastOutput b,TABLE(SELECT COUNT(*) AS p FROM TABLE(db2ls.LSMultiMatch3(b.HSP_Q_Seq, ’P’,db2ls.LSBarCode(b.HSP_Midline), ’¥|’,b.HSP_H_Seq, ’P’)) AS f) AS y,TABLE(SELECT COUNT(*) AS m FROM TABLE(db2ls.LSMultiMatch3(b.HSP_Q_Seq, ’.’,db2ls.LSBarCode(b.HSP_Midline), ’¥|’,b.HSP_H_Seq, ’.’)) AS f) AS zWHERE FLOAT(p)/FLOAT(m)< 0.25;

この照会では、BlastOutput は Blast 選択に関するビューです。また、この照会は、LSMultiMatch3 関数を使用し、完全一致を位置合わせして戻します。最初の使用で「P」記号の完全一致を戻し、LSMultiMatch3 関数の 2 回目の使用ですべての完全一致を戻します。結果表の行を、以下の表に示します。

表 122. 結果行の例

HSP_Q_SEQ HSP_H_SEQ HSP_INFO PERCENT_PROLINES

NIWDFMQG... NIWDFMQG... 一致 = 80/80

(100%)、肯定 = 80/80

(100%)、ギャップ =

0/80 (0%)

+2.50000000000000E-002

上記の照会は、「Extending traditional query-based integration approaches

for functional characterization of post-genomic data. (2001) Barbara A

Eckman, Anthony S Kosky and Leonardo A Laroco Jr. Bioinformatics 17(7),

587-601.」から採用しました。

異なるストリング・フラグメントでの固有パターンの検出

以下の例では、3 つの異なるストリング・フラグメントで 3 つの異なるパターンを検索します。

SELECT position, match_1, match_2, match_3FROM table(db2ls.LSMultiMatch3(’zaza’, ’a’, ’abab’,’b’, ’bcbc’, ’c’)) as f

この照会は、以下の表に示すように、すべての一致に対する位置および一致するストリングを戻します。

表 123. 3 つの入力データを使用した複数一致の結果

POSITION MATCH_1 MATCH_2 MATCH_3

2 a b c

4 a b c

第 23 章 ライフ・サイエンス・ユーザー定義関数 471

Page 482: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

次の例では、3 つの異なるストリング・フラグメント中で 3 つの異なるパターンを検索します。

SELECT position, match_1, match_2, match_3FROM table(LSMultiMatch3(’cbccbbcccbbbccccbbbbccccc’,’c{1,3}b{1,3}c{1,3}’,’abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz’,’.’,’0123456789012345678901234567890123456789’,’¥d’)) as f

結果は以下のとおりです。

表 124. 3 つの入力データを使用した複数一致の結果

POSITION MATCH_1 MATCH_2 MATCH_3

1 cbcc a 0

7 cccbbbccc g 6

反転ユーザー定義関数 - 概要反転ユーザー定義関数が、ヌクレオチド・シーケンスまたはアミノ酸シーケンスを反転させます。

以下の 3 つの反転ユーザー定義関数があります。

v LSRevComp

v LSRevNuc

v LSRevPep

LSRevComp ユーザー定義関数DB2LS.LSRevComp(input nucleotide sequence)

input nucleotide sequenceヌクレオチド・シーケンスを示す有効な文字ストリング表記です。シーケンスは、IUPAC あいまいコードを含むことができます。文字ストリング表記は、データ・タイプ VARCHAR であり、実際の長さが 32672 バイト以下である必要があります。

このユーザー定義関数で使用するスキーマ名は DB2LS です。

関数の結果は、実際の長さが 32672 バイト以下であるデータ・タイプ VARCHAR

の文字ストリングであり、ヌクレオチド・シーケンスの逆補数を示します。

LSRevComp ユーザー定義関数の例:SQL ステートメントでの LSRevComp 関数の使用

LSRevComp 関数は、ヌクレオチド・シーケンスを受け入れる任意の組み込み関数を使用するように SQL ステートメント中で使用できます。例:

SELECT DB2LS.LSRevComp(:NucSeq) FROM SYSDUMMY1;

この例では、この関数を使用して、ホスト変数からの入力シーケンスの逆補数を戻します。

無効ストリングおよび無効データ・タイプを使用した場合、以下のようなエラー・メッセージが示されます。

472 フェデレーテッド・データ・ソース 構成ガイド

Page 483: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

SQL0443N ルーチン "DB2LS.LSREVCOMP" (特定名 "LSREVCOMP") が診断テキスト"無効なシーケンス" とともにエラー SQLSTATE を返しました。SQLSTATE=38608

入力されたアルファベットが不適切である場合は、例外が発生します。

BLAST データ・ソースの照会

LSRevComp ユーザー定義関数は照会で以下のように使用されます。

SELECT HSP_H_Seq, db2ls.LSRevComp(HSP_H_Seq) as REV_HSP_H_SeqFROM BlastNWHERE BlastSeq=’ccgctagtattggtcaatcttttgatatccaccgaa’

照会の結果は以下のとおりです。

HSP_H_SEQ REV_HSP_H_SEQ------------------------------ ----------------------------AGTATTGGTCAATCTTTTGAT ATCAAAAGATTGACCAATACTTGGTCAATCTTTTGATA TATCAAAAGATTGACCATTGGCCAATCTTTTGATATCC GGATATCAAAAGATTGGCCAATCAATCTTTTGATATCC GGATATCAAAAGATTGAGGATATCAAAAGATTGA TCAATCTTTTGATATCC5 record(s) selected.

LSRevComp 関数の他のライフ・サイエンス UDF との併用

反転関数をその他のライフ・サイエンス・ユーザー定義関数と併用し、次の例のようにヌクレオチド・シーケンスの逆補数を変換できます。

VALUES db2lsLSNuc2Pep(db2ls.LSRevComp(’TTTTTCTTATTGTCTTCCTCATCGTATTTCTTATGTTGCTGATGT’))

この照会は以下を戻します。

TSAT*EIR*GRQ*EK

LSRevNuc ユーザー定義関数DB2LS.LSRevNuc(input nucleotide sequence)

input nucleotide sequenceヌクレオチド・シーケンスを示す有効な文字ストリング表記です。文字ストリング表記は、データ・タイプ VARCHAR であり、実際の長さが 32672

バイト以下である必要があります。ヌクレオチド・シーケンスは、DNA アルファベットすべて、またはその一部である必要があります。

このユーザー定義関数で使用するスキーマ名は DB2LS です。

関数の結果は、実際の長さが 32672 バイト以下であるデータ・タイプ VARCHAR

の文字ストリングであり、ヌクレオチド・シーケンスの逆順を示します。

LSRevNuc ユーザー定義関数の例:SQL ステートメントでの LSRevNuc 関数の使用

LSRevNuc 関数は、ヌクレオチド・シーケンスを受け入れる任意の組み込み関数を使用するように、SQL ステートメント中で使用できます。例:

SELECT DB2LS.LSRevNuc(:NucSeq) FROM SYSDUMMY1;

この例では、この関数を使用して、ホスト変数からの入力データを反転します。

第 23 章 ライフ・サイエンス・ユーザー定義関数 473

Page 484: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

無効ストリングおよび無効データ・タイプを使用した場合、以下のようなエラー・メッセージが示されます。

SQL0443N ルーチン "DB2LS.LSREVNUC" (特定名 "LSREVNUC") が診断テキスト"無効なシーケンス" とともにエラー SQLSTATE を返しました。SQLSTATE=38608

BLAST データ・ソースの照会

照会での LSRevNuc ユーザー定義関数の使用例は以下のとおりです。

SELECT HSP_H_Seq, db2ls.LSRevNuc(HSP_H_Seq) as REV_HSP_H_SeqFROM BlastNWHERE BlastSeq=’gtaatacgtagggggctagcgcgggcaaactgaagataaagc’;

照会が戻す変換されたヌクレオチド・シーケンスは以下のとおりです。

HSP_H_SEQ REV_HSP_H_SEQ-------------------------------------------------- --------------------------CGCGGGCAAACTGAAGATAAAGC CGAAATAGAAGTCAAACGGGCGCGCGCTAGCCCCCTACGTATTAC CATTATGCATCCCCCGATCGCGGTAATACGTAGGGGGCTAGCG GCGATCGGGGGATGCATAATGGTAATACGTAGGGGGCTAGCG GCGATCGGGGGATGCATAATGGTAATACGTAGGGGGCTAGCG GCGATCGGGGGATGCATAATG5 record(s) selected.

LSRevPep ユーザー定義関数DB2LS.LSRevPep(input peptide sequence)

input peptide sequenceペプチド・シーケンスを示す有効な文字ストリング表記です。文字ストリング表記は、データ・タイプ VARCHAR であり、実際の長さが 32672 バイト以下である必要があります。入力シーケンスは、プロテイン・アルファベットの一部である必要があります。

このユーザー定義関数で使用するスキーマ名は DB2LS です。

関数の結果は、実際の長さが 32672 バイト以下であるデータ・タイプ VARCHAR

の文字ストリングであり、ペプチド・シーケンスの逆順を示します。

LSRevPep ユーザー定義関数の例:SQL ステートメントでの LSRevPep 関数の使用

LSRevPep 関数は、ペプチド・シーケンスを受け入れる任意の組み込み関数を使用するように、SQL ステートメント中で使用できます。例:

SELECT DB2LS.LSRevPep(:NucSeq) FROM SYSDUMMY1;

この例では、この関数を使用して、ホスト変数からの入力データを反転します。

無効ストリングおよび無効データ・タイプを使用した場合、以下のようなエラー・メッセージが示されます。

SQL0443N ルーチン "DB2LS.LSREVPEP" (特定名 "LSREVPEP") が診断テキスト"無効なシーケンス" とともにエラー SQLSTATE を返しました。SQLSTATE=38608

BLAST データ・ソースの照会

照会での LSRevPep ユーザー定義関数の使用例は以下のとおりです。

474 フェデレーテッド・データ・ソース 構成ガイド

Page 485: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

SELECT HSP_H_Seq, db2ls.LSRevPep(HSP_H_Seq) as REV_HSP_H_SeqFROM BlastPWHERE BlastSeq=’MLCEIECRALSTAHTRLIHDFEPRDALTYLEGKNIFTEDH’

照会が戻す変換されたペプチド・シーケンスは以下のとおりです。

HSP_H_SEQ REV_HSP_H_SEQ----------------------------------- -----------------------------------MLCEIECRALSTAHTRLIHDFEPRDALTYL... HDETFINKGELYTLADRPEFDHILRTHATS...RVVSTEHTRLVTDAYPEFSISFTATKN NKTATFSISFEPYADTVLRTHETSVVRSTAHIRVLRDMVPGDEITCFYGSEFF FFESGYFCTIEDGPVMDRLVRIHATSAHTRRCPDHEPRGVITYL LYTIVGRPEHDPCRRTHA4 record(s) selected.

変換ユーザー定義関数 - 概要変換ユーザー定義関数は、ヌクレオチド・シーケンスをペプチド・シーケンスへと変換します。

以下の 2 つの変換ユーザー定義関数があります。

v LSNuc2Pep

v LSTransAllFrames

LSNuc2Pep ユーザー定義関数DB2LS.LSNuc2Pep(input nucleotide sequence,filepath to external translation table)

input nucleotide sequenceヌクレオチド・シーケンスを示す有効な文字ストリング表記です。文字ストリング表記は、データ・タイプ VARCHAR であり、実際の長さが 32672

バイト以下である必要があります。

filepath to external translation tableカスタマイズした変換表を使用する場合は、その表へのファイル・パス情報を指定してください。パスのストリング値は、255 文字以下にしてください。

このユーザー定義関数で使用するスキーマ名は DB2LS です。

関数の結果は、10890 バイト以下であるデータ・タイプ VARCHAR の文字ストリングであり、ペプチド・シーケンスを示します。

入力データは、IUB 文字セットを使用するヌクレオチド・シーケンスです。この関数では、ヌクレオチド・シーケンスの先頭文字から最初のコドンが開始されると想定します。最初のコドンが先頭文字から開始されない場合は、入力シーケンスにSUBSTR 関数を使用してください。

関数の結果は、標準アミノ酸記号を用いたペプチド・シーケンスになります。

LSNuc2Pep 関数:

v 入力シーケンスのスペースを削除する。

v 読み取りフレーム外の無関係なヌクレオチドを無視する。

v NULL ヌクレオチド・シーケンスを入力した場合、NULL 出力を戻す。

LSNuc2Pep ユーザー定義関数の例:

第 23 章 ライフ・サイエンス・ユーザー定義関数 475

Page 486: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

values ステートメントでの LSNuc2Pep 関数の使用

ヌクレオチド・シーケンス・データをペプチド・シーケンスに変換するとします。この例では、ヌクレオチド・シーケンスの先頭文字から最初のコドンが開始すると想定します。

この関数は、values ステートメントで呼び出せます。入力は、以下の例のようにヌクレオチド・シーケンス 1 つです。

VALUES db2lsLSNuc2Pep(’TTTTTCTTATTGTCTTCCTCATCGTATTTCTTATGTTGCTGATGT’)

この結果は、標準アミノ酸記号を用いたペプチド・シーケンスになります。

FFLLSSSSYFLCC*C

+2 読み取りフレームで変換する場合は、以下を使用してください。

values LSNuc2Pep(SUBSTR(’TTTTTCTTATTGTCTTCCTCATCGTATTTCTTATGTTGCTGATGT’,2))

ステートメント中の整数は、コドン検索の開始位置を示します。

照会における LSNuc2Pep 関数の述部としての使用

この関数を照会の述部として使用する場合は以下のようになります。

SELECT *FROM proteindataWHERE peptideseq=DB2LS.LSNuc2Pep(’TTTTTCTTATTGTCTTCCTCATCGTATTTCTTATGTTGCTGATGT’);

以下の表に結果を示します。

表 125. LSNuc2Pep 関数を述部として使用する場合の結果

ID PROTEINNAME PEPTIDESEQ

1 proteinA FSYCLPHRISYVAD

外部変換表を用いた LSNuc2Pep 関数の使用

外部変換表を使用してヌクレオチド・シーケンスをペプチド・シーケンスに変換する場合は以下のようになります。最初のパラメーターはヌクレオチド・シーケンス、2 番目のパラメーターは外部変換表へのパスになります。

VALUES db2lsLSNuc2Pep(’TTTTCTTATTGTCTTCCTCATCGTATTTCTTATGTTGCTGATGT’,’C:¥translation.txt’)

このように特定の変換表を使用した場合の結果は、以下のようなストリングになります。

FSYCLPHRISYVAD

LSNuc2Pep 関数の他のライフ・サイエンス UDF との併用

次の例では 2 つのユーザー定義関数を組み合わせ、関数の別の使用方法を示します。

values DB2LS.LSNuc2Pep(DB2LS.LSRevCompNuc(’TTT..’)

上記の例は、以下の照会と同じ結果を戻します。

476 フェデレーテッド・データ・ソース 構成ガイド

Page 487: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

select * from table (DB2LS.LSTransAllFrames (’TTT..’)) as twhere t.readframe = -1

LSTransAllFrames ユーザー定義関数DB2LS.LSTransAllFrames(input nucleotide sequence,filepath to externaltranslation table)

input nucleotide sequenceヌクレオチド・シーケンスを示す有効な文字ストリング表記です。入力シーケンスは、IUPAC あいまいコードを含むことができます。文字ストリング表記は、データ・タイプ VARCHAR であり、実際の長さが 32672 バイト以下である必要があります。

filepath to external translation tableカスタマイズした変換表を使用する場合は、その表へのファイル・パス情報を指定してください。パスのストリング値は、255 文字以下にしてください。

このユーザー定義関数で使用するスキーマ名は DB2LS です。

LSTransAllFrames ユーザー定義関数を使用して、入力したヌクレオチド・シーケンスから 1 つのペプチド・シーケンス・セットを形成します。これらのペプチド・シーケンスは、入力された 6 つのフレームごとのヌクレオチド・シーケンスの可能な変換形態を示します。この関数は、入力にエラーが含まれる場合や、読み取りフレームが不明な場合に役立ちます。

関数の結果は、2 列の表になります。1 列目は READFRAME という名前で、変換時に使用されるフレームを表します。この列には、変換の開始位置を示す整数値が入ります。負の整数値は、より線の反対側の変換を示します。2 列目は PEPTIDE

と呼ばれ、データ・タイプ VARCHAR の文字ストリングが入ります。これは10890 バイト以下であり、ペプチド・シーケンスを示します。

LSTransAllFrames 関数:

v 入力シーケンスのスペースを削除する。

v 読み取りフレーム外の無関係なヌクレオチドを無視する。

v NULL ヌクレオチド・シーケンスを入力した場合、NULL 出力を戻す。

LSTransAllFrames ユーザー定義関数:組み込まれた変換表の使用

組み込まれた変換表を使用して 6 つの読み取りフレームすべてのヌクレオチド・シーケンスを変換するとします。この方法を例示します。

SELECT * FROM TABLE(DB2LS.LSTransAllFrames(’TTTTTCTTATTGTCTTCCTCATCGTATTTCTTATGTTGCTGATGT’)) as t;

この照会は、以下の例のようにペプチドを表に戻します。

表 126. ヌクレオチド・シーケンスの変換の結果

READFRAME PEPTIDE

1 FFLLSSSSYFLCC*C

2 FSYCLPHRISYVAD

第 23 章 ライフ・サイエンス・ユーザー定義関数 477

Page 488: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 126. ヌクレオチド・シーケンスの変換の結果 (続き)

READFRAME PEPTIDE

3 FLIVFLIVFLMLLM

–1 TSAT*EIR*GRQ*EK

–2 HQQHKKYDEEDNKK

–3 ISNIRNTMRKTIRK

カスタマイズされた変換表の使用

次の例では、カスタマイズされた変換表を使用して 6 つの読み取りフレームすべてのヌクレオチド・シーケンスを変換します。

SELECT * FROM table(DB2LS.LSTransAllFrames(’TTTTTCTTATTGTCTTCCTCATCGTATTTCTTATGTTGCTGATGT’,’C:¥msvs6¥MyProjects¥alin_udf¥test¥files¥translation.txt’)) as t;

関数に指定した入力シーケンスと変換表が同じであるため、結果表は前の例と同じになります。

複数のライフ・サイエンス関数を組み合わせる代わりとなる LSTransAllFrames 関数の使用

次の例では 2 つのユーザー定義関数を組み合わせ、関数の別の使用方法を示します。

values DB2LS.LSNuc2Pep(DB2LS.LSRevCompNuc(’TTT..’)

上記の例は、以下の照会と同じ結果を戻します。

select * from table (DB2LS.LSTransAllFrames (’TTT..’)) as twhere t.readframe = -1

出力からの特定の読み取りフレームの選択

次の例では、LSTransAllFrames 関数の出力から、特定の読み取りフレームを選択します。

SELECT * FROMTABLE(db2ls.LSTransAllFrames(’TTTTTCTTATTGTCTTCCTCATCGTATTTCTTATGTTGCTGATGT’)) AS tWHERE t.readframe=-2

この照会の結果は次のとおりです。

表 127. Readframe 関数の使用法

READFRAME PEPTIDE

–2 HQQHKKYDEEDNKK

コドン度数表の形式コドン度数表は、アミノ酸が特定のコドンに逆変換される頻度を示します。

LSPep2ProbNuc ユーザー定義関数はコドン度数表を使用して、入力されたペプチド・シーケンスからヌクレオチド・シーケンスを決定します。

478 フェデレーテッド・データ・ソース 構成ガイド

Page 489: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

以下に、コドン度数表ファイルの形式について示します。

v 2 つ並んだピリオドは、表の先頭を示します。ピリオドの前のテキストはすべてコメントです。コメントがない場合でも、2 つのピリオドが必要です。

v 表には次の列が含まれます。

1. Am-Acid: アミノ酸記号を示す 3 文字のコード。

2. Codon: アミノ酸記号を示すコドン。

3. Number: 表のコンパイルの対象となった遺伝子中のコドンの発生回数。

4. x/1000: 遺伝子の変換数 1000 に対するアミノ酸とコドンのペアの予想発生回数。

5. Fraction: 同義コドン・ファミリーで該当コドンが発生する割合。

IBM WebSphere Federation Server では、sqllib/samples/lifesci/ls_udfs サブディレクトリーに変換表のサンプルがあります。

コドン度数表の例コドン度数表の例

以下の図に、コドン度数表のサンプル形式を示します。

変換表の形式一部のライフ・サイエンス・ユーザー定義関数は、変換表を使用します。

このトピックでは、LSPep2AmbNuc、LSTransAllFrames、および LSNuc2Pep ライフ・サイエンス・ユーザー定義関数が使用する変換表の形式について説明します。

以下のリストで、変換表ファイルの形式について示します。

v 2 つ並んだピリオドは、表の先頭を示します。ピリオドの前のテキストはすべてコメントです。

Am-Acid Codon Number x/1000 Fraction ..Gly GGG 198.00 18.34 0.23Gly GGA 71.00 6.58 0.08Gly GGT 66.00 6.11 0.08Gly GGC 527.00 48.81 0.61Glu GAG 534.00 49.46 0.88Glu GAA 71.00 6.58 0.12Asp GAT 31.00 2.87 0.06Asp GAC 481.00 44.55 0.94Val GTG 396.00 36.68 0.47Val GTA 22.00 2.04 0.03Val GTT 44.00 4.08 0.05Val GTC 384.00 35.57 0.45Ala GCG 446.00 41.31 0.39Ala GCA 71.00 6.58 0.06Ala GCT 116.00 10.74 0.10Ala GCC 503.00 46.59 0.44... (truncated)

図 35. コドン度数表の例

第 23 章 ライフ・サイエンス・ユーザー定義関数 479

Page 490: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

v 表の各行には、1 文字のアミノ酸記号、3 文字のアミノ酸名、確定コドン、感嘆符、および、あいまいなコドンが示されます。行中の各文字は空白で区切られます。

v 各コドンおよびアミノ酸記号は、1 ファイルに 1 回のみ表記可能です。

v 終止コドンは、記号「*」に変換されます。

v 小文字で表記されるコドンは、開始コドンを示します。

v その他のコドンは大文字で表記されます。

v 変換する対応アミノ酸記号がないコドンは、「X」に変換されます。

IBM WebSphere Federation Server では、sqllib/samples/lifesci/ls_udfs サブディレクトリーに変換表のサンプルがあります。

変換表の例変換表のサンプル例

以下の図に、変換表の例の形式を示します。

標準変換表Symbol 3-letter Codons ! IUPAC ..A Ala GCT GCC GCA GCG ! GCXB Asx ! RAYC Cys TGT TGC ! TGYD Asp GAT GAC ! GAYE Glu GAA GAG ! GARF Phe TTT TTC ! TTYG Gly GGT GGC GGA GGG ! GGXH His CAT CAC ! CAYI Ile ATT ATC ATA ! ATHK Lys AAA AAG ! AARL Leu TTG TTA CTT CTC CTA CTG ! TTR CTX YTR ; YTXM Met atg ! ATGN Asn AAT AAC ! AAYP Pro CCT CCC CCA CCG ! CCXQ Gln CAA CAG ! CARR Arg CGT CGC CGA CGG AGA AGG ! CGX AGR MGR ; MGXS Ser TCT TCC TCA TCG AGT AGC ! TCX AGY ; WSXT Thr ACT ACC ACA ACG ! ACXV Val GTT GTC GTA GTG ! GTXW Trp TGG ! TGGX Xxx ! XXXY Tyr TAT TAC ! TAYZ Glx ! SAR* End TAA TAG TGA ! TAR TRA ; TRR

図 36. 変換表の例

480 フェデレーテッド・データ・ソース 構成ガイド

Page 491: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター

フェデレーテッド情報を含むグローバル・カタログ表内のビューフェデレーテッド・データベース内のカタログ・ビューのほとんどは、他の DB2

for Linux, UNIX, and Windows バージョン 9.1 データベース内のカタログ・ビューと同じです。

いくつかの独自のビューとして、フェデレーテッド・システムに関係のある情報を含むビュー (SYSCAT.WRAPPERS ビューなど) があります。

DB2 バージョン 8 の SYSCAT ビューは、読み取り専用です。SYSCAT スキーマ内のビューに対して UPDATE または INSERT 操作を発行すると、失敗します。システム・カタログを更新する場合は SYSSTAT ビューを使用することをお勧めします。 SYSCAT ビューを参照するアプリケーションは、SYSCAT ではなく更新可能な SYSSTAT ビューを参照するように変更してください。

次の表は、フェデレーテッド情報が含まれている SYSCAT ビューをリストしています。これらのビューは読み取り専用です。

表 128. 通常、フェデレーテッド・システムで使用されるカタログ・ビュー

カタログ・ビュー 説明

SYSCAT.CHECKS 定義したチェック制約の情報が含まれている。

SYSCAT.COLCHECKS チェック制約によって参照される列が含まれている。

SYSCAT.COLUMNS ニックネームを作成したデータ・ソース・オブジェクト (表およびビュー) の列情報が含まれている。

SYSCAT.COLOPTIONS ニックネーム用にセットした列のオプション値の情報が含まれている。

SYSCAT.CONSTDEP 定義した情報制約の従属関係が含まれている。

SYSCAT.DATATYPES ローカルの組み込み DB2 データ・タイプおよびユーザー定義 DB2 データ・タイプについてのデータ・タイプ情報が含まれている。

SYSCAT.DBAUTH 個々のユーザーおよびグループが保持するデータベース権限が含まれている。

SYSCAT.FUNCMAPOPTIONS 関数マッピング用にセットしたオプション値の情報が含まれている。

SYSCAT.FUNCMAPPINGS フェデレーテッド・データベースとデータ・ソース・オブジェクト間の関数マッピングが含まれている。

SYSCAT.INDEXCOLUSE 索引に含める列が含まれている。

© Copyright IBM Corp. 1998, 2006 481

Page 492: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 128. 通常、フェデレーテッド・システムで使用されるカタログ・ビュー (続き)

カタログ・ビュー 説明

SYSCAT.INDEXES データ・ソース・オブジェクトの索引仕様が含まれている。

SYSCAT.INDEXOPTIONS 索引オプションについての情報が含まれている。

SYSCAT.KEYCOLUSE ユニーク・キー、主キー、または外部キーの制約によって定義されるキーに加わる列が含まれている。

SYSCAT.NICKNAMES 作成したニックネームについての情報が含まれている。

SYSCAT.REFERENCES 定義した参照制約についての情報が含まれている。

SYSCAT.ROUTINES ローカル DB2 のユーザー定義関数または関数テンプレートが含まれている。関数テンプレートは、データ・ソース関数と対応付けるために使用されます。

SYSCAT.REVTYPEMAPPINGS このビューは使用されない。すべてのデータ・タイプ・マッピングは、SYSCAT.TYPEMAPPINGS ビューに記録されます。

SYSCAT.ROUTINEOPTIONS フェデレーテッド・ルーチンのオプション値についての情報が含まれている。

SYSCAT.ROUTINEPARMOPTIONS フェデレーテッド・ルーチンのパラメーター・オプション値についての情報が含まれている。

SYSCAT.ROUTINEPARMS SYSCAT.ROUTINES で定義されているルーチンのパラメーターまたは結果が含まれている。

SYSCAT.ROUTINESFEDERATED 定義したフェデレーテッド・ルーチンについての情報が含まれている。

SYSCAT.SERVERS データ・ソース・サーバー用に作成したサーバー定義が含まれている。

SYSCAT.TABCONST 各行は、タイプ CHECK、 UNIQUE、PRIMARY KEY、または FOREIGN KEY の表およびニックネームの制約を表す。

SYSCAT.TABLES 作成したそれぞれのローカル DB2 表、フェデレーテッド・ビュー、およびニックネームについての情報が含まれている。

SYSCAT.TYPEMAPPINGS フォワード・データ・タイプ・マッピングおよびリバース・データ・タイプ・マッピングが含まれている。マッピングは、データ・ソースのデータ・タイプからローカル DB2 データ・タイプへの対応付け。これらのマッピングは、データ・ソース・オブジェクトでニックネームを作成するときに使用されます。

482 フェデレーテッド・データ・ソース 構成ガイド

Page 493: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 128. 通常、フェデレーテッド・システムで使用されるカタログ・ビュー (続き)

カタログ・ビュー 説明

SYSCAT.USEROPTIONS フェデレーテッド・データベースとデータ・ソース・サーバー間にユーザー・マッピングを作成した時にセットした、ユーザー権限情報が含まれている。

SYSCAT.VIEWS 作成したローカル・フェデレーテッド・ビューについての情報が含まれている。

SYSCAT.WRAPOPTIONS ラッパーにセットしたオプション値についての情報が含まれている。

SYSCAT.WRAPPERS ラッパーを作成したそれぞれのデータ・ソースの、ラッパーおよびライブラリー・ファイルの名前が含まれている。

次の表は、フェデレーテッド情報が含まれている SYSSTAT ビューをリストしています。これらのビューは読み取り/書き込みビューであり、そこに含まれている統計を更新することができます。

表 129. 更新可能なフェデレーテッド・グローバル・カタログ・ビュー

カタログ・ビュー 説明

SYSSTAT.COLUMNS ニックネームを作成したデータ・ソース・オブジェクト (表およびビュー) の列についての統計情報が含まれている。タイプされた表の継承された列については統計は記録されません。

SYSSTAT.INDEXES データ・ソース・オブジェクトの索引仕様についての統計情報が含まれている。

SYSSTAT.ROUTINES ユーザー定義関数についての統計情報が含まれている。組み込み関数は含まれない。タイプされた表の継承された列については統計は記録されません。

SYSSTAT.TABLES 基本表についての情報が含まれている。このビューには、ビュー、シノニム、および別名の情報は含まれていません。タイプされた表の場合、表の階層のルート表だけがビューに含まれます。タイプされた表の継承された列については統計は記録されません。

フェデレーテッド・システムのニックネーム列オプション列情報は、ニックネーム列オプションと呼ばれるパラメーターを使用して、CREATE NICKNAME または ALTER NICKNAME ステートメントで指定することができます。

以下の表では、データ・ソースのニックネーム列オプションがリストされています。この 2 つの表に、ニックネーム列オプションがすべてリストされています。

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 483

Page 494: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 130. リレーショナル・データ・ソースのニックネーム列オプション

データ・ソース DOCUMENTESCAPE_

INPUT

FOREIGN_

KEY

NUMERIC_

STRING

PRIMARY_

KEYTEMPLATE XPATH

DB2 UDB for iSeries X

DB2 UDB for z/OS and OS/390 X

DB2 for VM and VSE X

DB2 for Linux, UNIX, and

Windows バージョン 9.1

X

Informix X

Microsoft SQL Server X

ODBC X

OLE DB

Oracle X

Sybase X

Teradata X

表 131. 非リレーショナル・データ・ソースのニックネーム列オプション

オプション BLAST スクリプト表構造ファイル

WebSphere

Business

Integration

Web サービス

XML

DELIMITER X

DOCUMENT X X

ESCAPE_INPUT X X

FINAL_XDROPOFF X

FOREIGN_KEY X X X

INDEX X

INPUT_MODE X

MASK_LOWER_CASE X

POSITION X

PRIMARY_KEY X X X

QUERY_GENETIC_CODE X

SWITCH X

SWITCH_ONLY X

TEMPLATE X X

VALID_VALUES X

XDROPOFF_GAPPED X

XDROPOFF_UNGAPPED X

XPATH X X X

484 フェデレーテッド・データ・ソース 構成ガイド

Page 495: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 132. 列オプションおよびその設定値オプション 説明および有効な設定値 デフォルトの設定値

DEFAULT 以下の入力固定列の新しいデフォルト値を指定します。

v E_value

v QueryStrands

v GapAlign

v NMisMatchPenalty

v NMatchReward

v Matrix

v FilterSequence

v NumberOfAlignments

v GapCost

v ExtendedGapCost

v WordSize

v ThresholdEx

この新しい値は、事前設定されているデフォルト値をオーバーライドします。新しいデフォルト値は、その列の指示されている値と同じタイプでなければなりません。

DELIMITER このオプションが示される列の、定義行情報の終点を判別するために使用される区切り文字。このオプションの値で複数の文字が示されている場合、それらの文字のいずれかが最初に出現した位置が、このフィールドの情報の最後であることを表します。デフォルトは行の終わりです。最後に指定した列に、定義行の残りを入れる場合を除いて、このオプションは必須です。

デフォルトの区切り文字は行の終わりです。

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 485

Page 496: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 132. 列オプションおよびその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

DOCUMENT 表構造ファイルの場合: 表構造ファイルの種類を指定します。このラッパーは、このオプションで値 FILE のみをサポートしています。 DOCUMENT オプションでは、ニックネーム当たり 1 つの列しか指定できません。DOCUMENT オプションに関連付けられる列は、データ・タイプ VARCHAR

または CHAR の列でなければなりません。

FILE_PATH ニックネーム・オプションではなく、DOCUMENT ニックネーム列オプションを使用するということは、照会の実行中に、このニックネームに対応するファイルが提供されることを意味します。 DOCUMENT オプションに FILE 値が指定されている場合、照会の実行時に提供される値は、このニックネームのニックネーム定義に一致するスキーマを持つファイルの絶対パスです。

XML の場合: この列が DOCUMENT 列であることを指定します。DOCUMENT 列の値は、照会の実行時にニックネームに提供される XML ソース・データのタイプを示します。このオプションは、ルート・ニックネーム(XML 文書の最上位にあるエレメントを識別するニックネーム) の列に対してのみ受け入れられます。 DOCUMENT オプションでは、ニックネーム当たり1 つの列しか指定できません。 DOCUMENT オプションに関連付けられる列は VARCHAR データ・タイプでなければなりません。

FILE_PATH または DIRECTORY_PATH ニックネーム・オプションの代わりに DOCUMENT 列オプションを使用する場合、このニックネームに対応する文書が照会の実行時に提供されます。

DOCUMENT オプションに対する有効な値は、以下のとおりです。

FILE ニックネーム列の値がファイルのパス名に結合されていることを指定します。このファイルからのデータは、照会の実行時に提供されます。

DIRECTORY

ニックネーム列の値が複数の XML データ・ファイルを含むディレクトリーのパス名に結合されていることを指定します。複数のファイルからの XML データが、照会の実行時に提供されます。このデータは、指定されたディレクトリー・パス内の XML ファイルにあります。 XML ラッパーは、指定するディレクトリー内にある、.xml 拡張子を持つファイルだけを使用します。 XML ラッパーは、このディレクトリーにある他のすべてのファイルを無視します。

URI ニックネーム列の値が、URI が参照するリモート XML ファイルのパス名に結合されていることを指定します。この URI アドレスは、Web 上におけるこの XML ファイルのリモート・ロケーションを示します。

URI には、コロン区切り IPv6 アドレスを、大括弧で囲んで含めることができます (たとえば http://[1080:0:0:0:8:800:200C:417A])。

COLUMN

XML 文書がリレーショナル列に保管されることを指定します。

ELEMENT_NAME BioRS エレメント名を指定します。この名前の大/小文字の区別をするかどうかは、BioRS サーバーで大/小文字の区別をするかどうか、およびCASE_SENSITIVE サーバー・オプションの値によって決まります。 BioRS

エレメント名の指定が必須なのは、エレメント名が列名と異なる場合だけです。

486 フェデレーテッド・データ・ソース 構成ガイド

Page 497: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 132. 列オプションおよびその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

ESCAPE_INPUT XML 特殊文字が XML 入力値で置換されるかどうかを指定します。このオプションは、繰り返しエレメントを含む XML フラグメントなど、XML フラグメントを入力として含めるために使用します。 TEMPLATE 列オプションは、ESCAPE_INPUT 列オプションを使用する列で定義しなければなりません。列データ・タイプは、VARCHAR または CHAR でなければなりません。

有効な値は次のとおりです。

Y XML 入力に特殊文字が含まれている場合、それらは置換され、入力文字を示すために XML で使用される対応する文字に変えられます。

N 入力文字が、完全にそのままの形で保持されます。

Y

FINAL_XDROPOFF 最終のギャップあり配置の X ドロップオフ値 (ビット単位)。値 0 でデフォルト動作が呼び出されます。

BLASTN および MEGABLAST 照会の場合は、50 ビットです。

TBLASTX 照会の場合は、0 ビットです。他のすべての照会タイプの場合は、25 ビット (INTEGER デー

タ・タイプ) です。

FOREIGN_KEY このニックネームが子ニックネームであることを示し、対応する親ニックネームの名前を指定します。ニックネームには、FOREIGN_KEY 列オプションを1 つしか指定できません。このオプションの値は、大文字小文字を区別します。このオプションで指定した表に、ラッパーによって生成されたキーが保持されます。 XPATH オプションをこの列に対して指定してはなりません。列は、親のニックネームと子のニックネームを結合するためだけに使用できます。

親ニックネームに別のスキーマ名が付けられている場合、FOREIGN_KEY オプションを指定した CREATE NICKNAME ステートメントは失敗します。

FOREIGN_KEY 文節で参照されるニックネームを FOREIGN_KEY 文節で参照する場合、ニックネームを大文字で指定する必要があります。ただしそのニックネームを、対応する CREATE NICKNAME ステートメント内で引用符で囲むことによって、小文字または大文字小文字の混合として明示的に定義してある場合は例外です。

このオプションが列に設定されている場合、その列に他のオプションを設定することはできません。

INDEX 定義行の列のグループの中で、このオプションが現れる列の序数。このオプションは必須です。

INPUT_MODE 列の入力モードを指定します。有効な値は、CONFIG または FILE_INPUT です。指定した値は、ラッパーによってスクリプト・デーモンに渡されます。

IS_INDEXED 対応する列が索引付けされているか (述部で列が参照可能か) を示します。有効な値は ’Y’ と ’N’ です。値 ’Y’ を指定できるのは、対応するエレメントが BioRS サーバーによって索引付けされている列に対してだけです。

ニックネームの作成時に、このオプションには値 ’Y’ が設定されて、BioRS によって索引付けられたエレメントに対応するすべての列に追加されます。

MASK_LOWER_CASE FASTA シーケンスで小文字フィルターを使用します。

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 487

Page 498: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 132. 列オプションおよびその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

NUMERIC_STRING 列に数字のストリングが含まれているかどうかを指定します。

Y この列には、’0’、’1’、’2’、.... ’9’ という、数字のストリングが含まれます。ブランクは含みません。この列に、数値ストリングと末尾ブランクだけが含まれる場合は、Y を指定しないでください。

列に対して NUMERIC_STRING を Y に設定すると、列データをソートする場合に支障となり得るブランクがこの列には含まれないことを、オプティマイザーに知らせることになります。データ・ソースの照合シーケンスが、フェデレーテッド・サーバーが使用する照合シーケンスとは異なる場合に、このオプションを使用してください。このオプションを使用する列は、照合シーケンスが異なるためにリモートでの評価から除かれるということはありません。

N この列は数値ストリング列ではないか、またはブランクを含む数値ストリング列であるかのどちらかです。

N

POSITION 定位置パラメーターの整数値。このオプションは、入力列にのみ適用されます。定位置値を整数に設定すると、この入力はコマンド行のその位置になければなりません。このオプションを設定すると、照会の実行時に該当位置にスイッチが挿入されます。 POSITION を -1 に設定すると、オプションはコマンド行の最後のオプションとして追加されます。 POSITION 整数値は、ニックネーム内で重複できません。このオプションは必須ではありません。

PRIMARY_KEY このニックネームが親ニックネームであることを示します。列データ・タイプは VARCHAR(16) でなければなりません。ニックネームには、PRIMARY_KEY 列オプションを 1 つしか指定できません。 YES が唯一の有効な値です。このオプションで指定した列に、ラッパーによって生成されたキーが保持されます。XPATH オプションをこの列に対して指定してはなりません。列は、親のニックネームと子のニックネームを結合するためだけに使用できます。

このオプションが列に設定されている場合、その列に他のオプションを設定することはできません。

QUERY_GENETIC_CODE 照会遺伝コードには、デフォルトの 1 が使用されます。

REFERENCED_OBJECT このオプションは、BioRS データ・タイプが Reference である列にのみ有効です。このオプションは、現在の列が参照する BioRS データ・バンクの名前を指定します。この名前の大/小文字の区別をするかどうかは、BioRS サーバーで大/小文字の区別をするかどうか、および CASE_SENSITIVE サーバー・オプションの値によって決まります。

SOAPACTIONCOLUMN Web サービス記述言語 (WSDL) 形式からの URI SOAPACTION 属性を動的に指定する列。このオプションは、ルート・ニックネームでしか指定できません。

このオプションが列に設定されている場合、その列に他のオプションを設定することはできません。

URL には、コロン区切り IPv6 アドレスを、大括弧で囲んで含めることができます (たとえば http://[1080:0:0:0:8:800:200C:417A])。

SWITCH コマンド行のスクリプトのパラメーターを指定する文字ストリング。このオプションは、入力列にのみ適用されます。

SWITCH_ONLY コマンド行引数なしでのスイッチの使用を可能にします。 SWITCH_ONLY

オプションを指定して値 Y を設定すると、有効な入力値は Y または N になります。入力値が Y の場合、コマンド行にスイッチのみが追加されます。入力値が N の場合、コマンド行に値は追加されません。

TEMPLATE XML 入力文書を構成するために使用する、列テンプレートのフラグメント。フラグメントは、指定されたテンプレートの構文に準拠していなければなりません。

488 フェデレーテッド・データ・ソース 構成ガイド

Page 499: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 132. 列オプションおよびその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

URLCOLUMN 照会の実行時に、Web サービスのエンドポイントの URL を動的に指定する列。このオプションは、ルート・ニックネームでしか指定できません。

このオプションが列に設定されている場合、その列に他のオプションを設定することはできません。

URL には、コロン区切り IPv6 アドレスを、大括弧で囲んで含めることができます (たとえば http://[1080:0:0:0:8:800:200C:417A])。

VALID_VALUES 列の有効な値のセットで、各値をセミコロンで区切ったもの。

VARCHAR_NO_

TRAILING_BLANKS

このオプションは、比較の際にデータ・ソースに可変長の文字データ・タイプがあり、その可変長データが末尾ブランクで埋められていない場合に適用されます。

ある種のデータ・ソース (Oracle など) は、DB2 for Linux, UNIX, and

Windows の比較セマンティクスと同じ結果を戻すブランク埋め込み文字比較セマンティクスを持っていません。このオプションは、データ・ソース・オブジェクト内の特定の VARCHAR または VARCHAR2 列だけに適用したい場合に設定してください。

Y これらの VARCHAR 列に末尾ブランクがないか、またはこのデータ・ソースが、フェデレーテッド・サーバー上のセマンティクスと類似したブランク埋め込み文字比較セマンティクスを持っています。

フェデレーテッド・サーバーは、文字比較演算を処理のためにデータ・ソースに送信します。

N これらの VARCHAR 列に末尾ブランクがあり、データ・ソースに、フェデレーテッド・サーバーとは異なるブランク埋め込み文字比較セマンティクスが含まれています。

相当するセマンティクスを補うことができない場合に、フェデレーテッド・サーバーは文字比較演算を処理します。たとえば、述部の再作成などです。

N (影響を受けるデータ・ソースに対して)

XDROPOFF_GAPPED ギャップあり配置の X ドロップオフ値 (ビット単位)。値 0 でデフォルト動作が呼び出されます。

BLASTN 照会の場合は、30 ビットです。MEGABLAST 照会の場合は、20 ビットです。他のすべての照会タイプの場合は、15 ビット(INTEGER データ・タイプ) です。

XDROPOFF_UNGAPPED ギャップなし拡張の X ドロップオフ値 (ビット単位)。値 0.0 でデフォルト動作が呼び出されます。BLASTN 照会の場合、デフォルトは 20 ビットです。 MEGABLAST 照会の場合、デフォルトは 10 ビットです。他のすべての照会タイプの場合、デフォルトは 7 ビット (REAL データ・タイプ) です。

BLASTN 照会の場合は、20 ビットです。MEGABLAST 照会の場合は、10 ビットです。他のすべての照会タイプの場合は、7 ビット (REAL

データ・タイプ) です。

XPATH XML 文書の中でこの列に対応するデータを含む XPath 式を指定します。CREATE NICKNAME ステートメントがこの XPATH ニックネーム・オプションから XPath 式を適用した後で、ラッパーはその XPath 式を評価します。

フェデレーテッド・システムの関数マッピング・オプション関数マッピング・オプションの主目的は、データ・ソースでデータ・ソース関数を実行した場合の潜在的なコストについての情報を提供することです。

WebSphere Federation Server は、既存の組み込みデータ・ソース関数と組み込みDB2 関数間のデフォルトのマッピングを備えています。ほとんどのデータ・ソースの場合、ラッパー内にデフォルトの関数マッピングがあります。フェデレーテッド・サーバーが認識しないデータ・ソース関数を使用するには、データ・ソース関数と、フェデレーテッド・データベースでの対応する関数との間に、関数マッピングを作成する必要があります。

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 489

Page 500: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

プッシュダウン分析により、データ・ソースの関数が照会内にある関数を実行できるかどうかを判別します。照会オプティマイザーは、関数処理をデータ・ソースにプッシュダウンした場合、最小のコストで済むかどうかを判断します。

関数マッピング定義で提供される統計情報は、オプティマイザーが、データ・ソース関数を実行するコスト見積もりを、DB2 関数を実行するコスト見積もりと比較するのに役立ちます。

表 133. 関数マッピング・オプションおよびその設定値

オプション 有効な設定値 デフォルトの設定値

DISABLE デフォルト関数マッピングを使用不可にする。有効な値は ’Y’ および ’N’ です。

’N’

INITIAL_INSTS データ・ソース関数が呼び出された最初の時および最後の時に処理される命令数の推定値

’0’

INITIAL_IOS データ・ソース関数が呼び出された最初の時および最後の時に実行される入出力数の推定値

’0’

IOS_PER_ARGBYTE データ・ソース関数に渡された引き数セットの、それぞれのバイトごとに費やされる入出力数の見積もり

’0’

IOS_PER_INVOC データ・ソース関数の呼び出しごとの入出力数の推定値

’0’

INSTS_PER_ARGBYTE データ・ソース関数に渡された引き数セットの、それぞれのバイトごとに処理される命令数の見積もり

’0’

INSTS_PER_INVOC データ・ソース関数の呼び出しごとに処理される命令数の推定値

’450’

PERCENT_ARGBYTES データ・ソース関数が実際に読み取る入力引き数バイトの平均パーセントの推定値

’100’

REMOTE_NAME データ・ソース関数の名前。 ローカル名

フェデレーテッド・システムのニックネーム・オプションニックネーム・オプションの中には必須のものもあり、それらはドロップできません。すでに特定のニックネーム・オプションが設定されている場合には、それ以外のニックネーム・オプションを追加することはできません。

491ページの表 134 は、各データ・ソースのニックネーム・オプションをリストしたものです。各ニックネーム・オプションの説明と有効値およびデフォルト値を、491ページの表 135 にまとめてあります。

490 フェデレーテッド・データ・ソース 構成ガイド

Page 501: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 134. 使用可能なニックネームオプション

データ・ソース

B

U

S

O

B

J

_

N

A

M

E

C

O

L

U

M

N

_

D

E

L

I

M

I

T

E

R

D

A

T

A

S

O

U

R

C

E

F

I

L

E

_

P

A

T

H

N

A

M

E

S

P

A

C

E

S

R

E

M

O

T

E

_

O

B

J

E

C

T

R

E

Q

U

I

R

E

_

P

R

E

D

I

C

A

T

E

R

E

S

U

L

T

S

E

T

_

S

I

Z

E

S

T

R

E

A

M

I

N

G

T

E

M

P

L

A

T

E

T

I

M

E

O

U

T

V

A

L

I

D

A

T

E

X

P

A

T

H

BioRS X

BLAST X X

Entrez X

Excel X

HMMER X X

スクリプト X X X X X X

表構造ファイル X X

Web サービス X X X X

WebSphere Business Integration X X X X X X

XML X X X X

表 135 は、各ニックネーム・オプションの説明と有効な設定値およびデフォルトの設定値をまとめたものです。

表 135. ニックネーム・オプションとその設定値

オプション 説明および有効な設定値 デフォルトの設定値

BUSOBJ_NAME ビジネス・オブジェクトを表す XML スキーマ定義ファイル(.xsd) の名前。たとえば、sap_bapi_customer_get_detail2 などです。このオプションは、親ニックネームで指定しなければなりません。

COLUMN_DELIMITER 単一引用符で囲まれている、表構造ファイルの列を区切るのに使用される区切り文字。列区切り文字には、複数の文字分の長さが可能です。列区切り文字が定義されていない場合、デフォルトの区切り文字はコンマです。単一引用符は区切り文字としては使用できません。列区切り文字は、ファイル全体で一貫性がなければなりません。 NULL 値は 2 つの区切り文字が続くことによって表されます。 NULL フィールドが行の最後にある場合、区切り文字に行の終止符を続けることによって表されます。列区切り文字は、列の有効なデータとして存在することはできません。

デフォルトの区切り文字はコンマです。

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 491

Page 502: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 135. ニックネーム・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

DATASOURCE BLAST の場合: BLAST 検索を実行するデータ・ソースの名前。ここで使用されるのと同じストリングが、BLAST デーモンの構成ファイル内に存在していなければなりません。このオプションは必須です。

HMMER (タイプ PFAM) の場合: HMMPFAM によって検索される HMM プロファイル・データベース。ここで使用されるのと同じストリングが、HMMER デーモンの構成ファイル内に存在していなければなりません。このオプションは必須です。

HMMER (タイプ SEARCH) の場合: HMMSEARCH によって検索されるシーケンス・ファイルの名前。ここで使用されるのと同じストリングが、HMMER デーモンの構成ファイル内に存在していなければなりません。このオプションは必須です。

DIRECTORY_PATH 1 つ以上の XML ファイルを含むディレクトリーのパス名を指定します。このオプションは、複数の XML ソース・ファイルに単一のニックネームを作成するために使用します。 XML ラッパーは、指定するディレクトリー内にある、.xml 拡張子を持つファイルだけを使用します。 XML ラッパーは、このディレクトリーにある他のすべてのファイルを無視します。このニックネーム・オプションを指定する場合、DOCUMENT 列を指定しないでください。このオプションは、ルート・ニックネーム(XML 文書の最上位にあるエレメントを識別するニックネーム)

に対してのみ受け入れられます。

FILE_PATH Microsoft Excel の場合: アクセスする Excel スプレッドシートの完全修飾ディレクトリー・パスおよびファイル名を指定します。このオプションは必須です。

表構造ファイルの場合: アクセスされる表構造ファイルへの完全修飾パス (単一引用符で囲む)。データ・ファイルは標準ファイルまたはシンボリック・リンクでなければならず、パイプや別の非標準ファイル・タイプにすることはできません。FILE_PATH または DOCUMENT ニックネーム列オプションのいずれかを指定しなければなりません。 FILE_PATH ニックネーム・オプションが指定されている場合には、 DOCUMENT ニックネーム列オプションは指定できません。

XML の場合: XML 文書のファイル・パスを指定します。このニックネーム・オプションを指定する場合、DOCUMENT 列を指定しないでください。このオプションは、ルート・ニックネーム (XML 文書の最上位にあるエレメントを識別するニックネーム) に対してのみ受け入れられます。

HMMTYPE オプション: モデルと遺伝子配列の両方で使用するアルファベット。値は NUCLEIC か PROTEIN のいずれかで、大/小文字の区別はありません。

PROTEIN

492 フェデレーテッド・データ・ソース 構成ガイド

Page 503: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 135. ニックネーム・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

INSTANCE_PARSE_TIME XML ソース文書の 1 つの行にあるデータを構文解析する時間(ミリ秒単位) を指定します。 INSTANCE_PARSE_TIME、XPATH_EVAL_TIME、および NEXT_TIME オプションを変更して、大規模または複雑な XML ソース構造の照会を最適化できます。このオプションは、ルート・ニックネーム (XML 文書の最上位にあるエレメントを識別するニックネーム) の列に対してのみ受け入れられます。指定する数は整数または 10 進数値です。

7

KEY_COLUMN 単一引用符で囲まれている、ファイルをソートするキーとなるファイル内の列の名前。このオプションは、ソート・ファイルでのみ使用してください。 DOCUMENT ニックネーム列オプションで指定された列は、キー列として指定してはなりません。

単一列のキーのみがサポートされています。複数列のキーは許可されていません。値は、CREATE NICKNAME ステートメントに定義されている列の名前にしなければなりません。列は必ず昇順でソートされます。 NOT NULL オプションをニックネーム・ステートメントの中のその定義に追加することにより、キー列が NULL 可能ではないということを指定しなければなりません。

このオプションには大文字小文字の区別があります。ただし 列が二重引用符付きで定義されていない限り、DB2 によって列名が大文字に変更されます。

保管されているニックネームに関して値が指定されていない場合、値は、ニックネーム・ファイル内の最初の列の名前になります。

NAMESPACES 各列の XPATH および TEMPLATE オプションで使用される、ネーム・スペース接頭部に関連付けられているネーム・スペース。構文は次のとおりです。

NAMESPACES ’prefix1="actual_namespace1",prefix2="actual_namespace2" ’

各ネーム・スペースをコンマで区切ってください。たとえば、次のようにします。

NAMESPACES ’c="http://www.myweb.com/cust",i="http://www.myweb.com/cust/id",n="http://www.myweb.com/cust/name"’

NEXT_TIME XPath 式から後続のソース・エレメントを位置指定するために必要な時間 (ミリ秒単位) を指定します。NEXT_TIME、XPATH_EVAL_TIME、およびINSTANCE_PARSE_TIME オプションを変更して、大規模または複雑な XML ソース構造の照会を最適化できます。このオプションはルート・ニックネームおよび非ルート・ニックネーム用に使用できます。

1

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 493

Page 504: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 135. ニックネーム・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

PARENT REMOTE_OBJECT オプションによって親の名前変更が行われた、子ニックネームに対してのみ指定されます。 PARENT オプションは、DB2 スキーマ内で複数のニックネーム・ファミリーが定義されている場合に、子を親に関連付けます。この名前には大/小文字の区別があります。

PROCESSORS BLAST 照会の評価時に使用されるプロセッサーの数を指定します。このオプションは、blastall -a オプションに対応しています。

1

RANGE データ・ソース内で使用されるセルの範囲を指定します。

REMOTE_OBJECT BioRS の場合: ニックネームに関連する BioRS データ・バンクの名前を指定します。この名前によって、ニックネームのスキーマと BioRS データ・バンクが決まります。この名前によって、そのニックネームと他のニックネームの関係も指定されます。この名前の大/小文字の区別をするかどうかは、BioRS サーバーで大/小文字の区別をするかどうか、およびCASE_SENSITIVE サーバー・オプションの値によって決まります。 ALTER NICKNAME ステートメントを使用して、この名前の変更または削除を行うことはできません。このオプションで使用される BioRS データ・バンクの名前を変更した場合、ニックネーム全体を削除してから、再びそれを再作成しなければなりません。

Entrez および OMIM の場合: ニックネームに関連したオブジェクト・タイプの名前を指定します。この名前によって、ニックネームのスキーマと NCBI データベース、および他のニックネームとの関係が決定されます。この名前では大/小文字を区別しません。

REQUIRE_PREDICATE ニックネーム階層のすべての照会で、少なくとも 1 つの入力列に等価述部が含まれるようにするには、Y を指定します。こうして、結果セットのサイズを制限することができます。述部を持たない照会で戻される結果セットのサイズが、JVM メモリー制限を超えないことがわかっている場合には、REQUIRE_PREDICATE ニックネーム・オプションの値を N に設定できます。

RESULTSET_SIZE アダプターがラッパーに戻すビジネス・オブジェクトの数を指定します。その他の値を指定すると、アダプターは指定された数のビジネス・オブジェクトを戻します。 RESULTSET_SIZE

オプションを機能させるには、ラッパー内で結果セットを使用可能にする (RESULTSET_ENABLED を Yes に設定) 必要があります。 RESULTSET_SIZE にゼロ以外の値を指定すると、不完全な結果が戻される可能性があります。指定行を超える行は破棄され、ラッパーからは不完全な結果セットがアプリケーションに戻されたという警告メッセージが発行されます。

0。この値は、照会と一致するすべてのビジネス・オブジェクトを戻すことを指定します。

494 フェデレーテッド・データ・ソース 構成ガイド

Page 505: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 135. ニックネーム・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

SOAPACTION Web サービス記述言語 (WSDL) 形式からの URI

SOAPACTION 属性。このオプションは、ルート・ニックネームごとに必要です。このオプションを、非ルート・ニックネームで使用することはできません。 URL には、コロン区切り IPv6

アドレスを、大括弧で囲んで含めることができます (たとえばhttp://[1080:0:0:0:8:800:200C:417A])。

SORTED データ・ソース・ファイルがソートされるか、ソートされないかを指定します。このオプションでは、Y、y、n、または N を指定できます。

ソートされるデータ・ソースは、 LC_COLLATE 各国語サポート・カテゴリーの設定によって定義されている現在のロケールの照合順序に従って、昇順でソートされなければなりません。

データ・ソースがソートされるように指定する場合、VALIDATE_DATA_FILE オプションを Y に設定してください。

N

STREAMING XML ソース文書を処理するために、論理フラグメントに分ける必要があるかどうかを指定します。このフラグメントは、ニックネームの XPath 式に一致するノードに対応しています。XML ラッパーは、XML ソース・データの構文解析と処理をフラグメントごとに行います。このタイプの構文解析では、メモリーの使用量が最小限度で済みます。このオプションは、ルート・ニックネームでしか指定できません。

どの XML ソース文書 (FILE、DIRECTORY、URI、またはCOLUMN) に対してもストリーミングを指定できます。このオプションは、ルート・ニックネーム (XML 文書の最上位にあるエレメントを識別するニックネーム) の列に対してのみ受け入れられます。

有効な値は次のとおりです。

Y ストリーム・モードを使用可能にします。

N ストリーム・モードを使用不可にします。

VALIDATE パラメーターを YES に設定する場合、STREAMING パラメーターを YES に設定しないでください。両方のパラメーターを YES に設定すると、エラー・メッセージを受け取ります。

N

TEMPLATE WebSphere Business Integration の場合: XML 入力文書を構成するために使用する、ニックネーム・テンプレートのフラグメント。フラグメントは、指定されたテンプレートの構文に準拠していなければなりません。

Web サービスの場合: SOAP 要求を構成するために使用する、ニックネーム・テンプレートのフラグメント。フラグメントは、指定されたテンプレートの構文に準拠していなければなりません。

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 495

Page 506: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 135. ニックネーム・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

TIMEOUT BLAST および HMMER の場合: ラッパーがデーモンからの結果を待つ最大時間 (分単位)。

BLAST およびHMMER の場合: 60。

URL Web サービス・エンドポイントの URL。このオプションは、ルート・ニックネームごとに必要です。このオプションを、非ルート・ニックネームで使用することはできません。サポートされているプロトコルは HTTP および HTTPS です。 URL には、コロン区切り IPv6 アドレスを、大括弧で囲んで含めることができます (たとえば http://[1080:0:0:0:8:800:200C:417A])。

VALIDATE XML データを抽出する前に XML ソース文書の妥当性検査を行うかどうかを指定します。このオプションが YES に設定されている場合、ニックネーム・オプションは、ソース文書の構造が XML スキーマまたは文書タイプ定義 (DTD) に準拠しているかどうかを検査します。このオプションは、ルート・ニックネーム (XML 文書の最上位にあるエレメントを識別するニックネーム) の列に対してのみ受け入れられます。

XML ラッパーが XML スキーマ・ファイルまたは DTD ファイル (.xsd または .dtd) を見つけられない場合、 XML ソース文書の妥当性検査は行われません。妥当性検査が行われなくても、DB2 はエラー・メッセージを出しません。そのため、XML スキーマ・ファイルまたは DTD ファイルが XML ソース文書で指定されている場所にあることを確認してください。

STREAMING パラメーターを YES に設定する場合、VALIDATE パラメーターを YES に設定しないでください。両方のパラメーターを YES に設定すると、エラー・メッセージを受け取ります。

NO

VALIDATE_DATA_FILE ソートされるファイルの場合、このオプションは、キー列が昇順でソートされていることの検証と NULL キーの検査を、ラッパーが行うかどうかを指定します。このオプションで有効な値は Y または N だけです。この検査は、登録時に一度だけ行われます。ファイル・パスに DOCUMENT ニックネーム列オプションが使用される場合、このオプションは指定できません。

N

XPATH 個々のタプルを表すエレメントを識別する XPath 式を指定します。子ニックネームの XPATH ニックネーム・オプションは、その親の XPATH ニックネーム・オプションによって指定されるパスのコンテキストで評価されます。この XPath 式は、XPATH ニックネーム列オプションによって識別される列値を評価するためのコンテキストとして使用されます。

XPATH_EVAL_TIME ニックネームの XPath 式を評価して最初のエレメントを位置指定するために必要な時間 (ミリ秒単位) を指定します。XPATH_EVAL_TIME、 INSTANCE_PARSE_TIME、およびNEXT_TIME オプションを変更して、大規模または複雑な XML

ソース構造の照会を最適化できます。このオプションはルート・ニックネームおよび非ルート・ニックネーム用に使用できます。指定する数は整数または 10 進数値です。

1

496 フェデレーテッド・データ・ソース 構成ガイド

Page 507: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

フェデレーテッド・システムのサーバー・オプションサーバー・オプションは、データ・ソース・サーバーを記述するために使用されます。

サーバー・オプションは、データ保全性、ロケーション、セキュリティー、およびパフォーマンス情報を指定します。サーバー・オプションには、すべてのデータ・ソースで使用できるものもあれば、データ・ソースに固有のものもあります。

リレーショナル・データ・ソース用の共通のフェデレーテッド・サーバー・オプションは以下のとおりです。

v 互換性オプション。COLLATING_SEQUENCE、IGNORE_UDT

v データ保全性オプション。IUD_APP_SVPT_ENFORCE

v 日付および時間オプション。DATEFORMAT、TIMEFORMAT、TIMESTAMPFORMAT

v ロケーション・オプション。CONNECTSTRING、DBNAME、IFILE

v セキュリティー・オプション。FOLD_ID、FOLD_PW、INFORMIX_LOCK_MODE

v パフォーマンス・オプション。COMM_RATE、CPU_RATIO、DB2_MAXIMAL_PUSHDOWN、IO_RATIO、LOGIN_TIMEOUT、PACKET_SIZE、PLAN_HINTS、PUSHDOWN、TIMEOUT、VARCHAR_NO_TRAILING_BLANKS

次の表は、各リレーショナル・データ・ソースに適用されるサーバー定義のサーバー・オプションをリストしています。

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 497

Page 508: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 136. リレーショナル・データ・ソースのサーバー・オプション。

データ・ソース

C

O

D

E

P

A

G

E

C

O

L

L

A

T

I

N

G

_

S

E

Q

U

E

N

C

E

C

O

M

M

_

R

A

T

E

C

O

N

N

E

C

T

S

T

R

I

N

G

C

O

N

V

_

E

M

P

T

Y

_

S

T

R

I

N

G

C

P

U

_

R

A

T

I

O

D

A

T

E

F

O

R

M

A

T

D

B

2

_

M

A

X

I

M

A

L

_

P

U

S

H

D

O

W

N

D

B

2

_

P

R

E

S

E

R

V

E

_

C

U

R

_

O

N

_

C

O

N

N

E

C

T

I

O

N

D

B

2

_

U

M

_

P

L

U

G

I

N

D

B

2

_

T

W

O

_

P

H

A

S

E

_

C

O

M

M

I

T

D

B

N

A

M

E

F

O

L

D

_

I

D

F

O

L

D

_

P

W

I

F

I

L

E

I

N

F

O

R

M

I

X

_

C

L

I

E

N

T

_

L

O

C

A

L

E

I

N

F

O

R

M

I

X

_

D

B

M

O

D

E

I

N

F

O

R

M

I

X

_

L

O

C

K

M

O

D

E

I

O

_

R

A

T

I

O

I

U

D

_

A

P

P

_

S

V

P

T

_

E

N

F

O

R

C

E

L

O

G

I

N

_

T

I

M

E

O

U

T

N

O

D

E

P

A

C

K

E

T

_

S

I

Z

E

P

A

S

S

W

O

R

D

P

L

A

N

_

H

I

N

T

S

P

U

S

H

D

O

W

N

T

I

M

E

O

U

T

T

I

M

E

F

O

R

M

A

T

T

I

M

E

S

T

A

M

P

F

O

R

M

A

T

V

A

R

C

H

A

R

_

N

O

_

T

R

A

I

L

I

N

G

_

B

L

A

N

K

S

DB2 UDB

for iSeries

X X X X X X X X X X X X X X

DB2 UDB

for z/OS and

OS/390

X X X X X X X X X X X X X X

DB2 for VM

and VSE

X X X X X X X X X X X X X

DB2 for

Linux, UNIX,

and Windows

X X X X X X X X X X X X X X

Informix X X X X X X X X X X X X X X X X X

Microsoft

SQL Server

X X X X X X X X X X X X X X X X

ODBC X X X X X X X X X X X X X X X X X X

OLE DB X X X

Oracle X X X X X X X X X X X X X X

Sybase X X X X X X X X X X X X X X X X X X X

Teradata X X X X X X X X X

次の表では、それぞれの非リレーショナル・データ・ソース (WebSphere Business

Integration は除く) に適用可能な、サーバー定義のサーバー・オプションがリストされています。 500ページの表 138 では、WebSphere Business Integration のサーバー定義のサーバー・オプションがリストされています。

498 フェデレーテッド・データ・ソース 構成ガイド

Page 509: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 137. 非リレーショナル・データ・ソースのサーバー・オプション

データ・ソース

D

A

E

M

O

N

_

P

O

R

T

D

B

2

_

U

M

_

P

L

U

G

I

N

M

A

X

_

R

O

W

S

N

O

D

E

P

R

O

X

Y

_

A

U

T

H

I

D

P

R

O

X

Y

_

P

A

S

S

W

O

R

D

P

R

O

X

Y

_

S

E

R

V

E

R

_

N

A

M

E

P

R

O

X

Y

_

S

E

R

V

E

R

_

P

O

R

T

P

R

O

X

Y

_

T

Y

P

E

S

S

L

_

C

L

I

E

T

_

C

E

R

T

I

F

I

C

A

T

E

_

L

A

B

E

L

S

S

L

_

K

E

Y

S

T

O

R

E

_

F

I

L

E

S

S

L

_

K

E

Y

S

T

O

R

E

_

P

A

S

S

W

O

R

D

S

S

L

_

V

E

R

I

F

Y

_

S

E

R

V

E

R

_

C

E

R

T

I

F

I

C

A

T

E

S

O

C

K

E

T

_

T

I

M

E

O

U

T

T

I

M

E

O

U

T

U

S

E

_

C

L

O

B

_

S

E

Q

U

E

N

C

E

BioRS X X X X

BLAST X X X X X X X X X X X X

Entrez X X X X X X X

Excel

HMMER X X X X X X X X X X X X

スクリプト X X X X X X X X X X X

表構造ファイル

Web サービス X X X X X X

XML X X X X X X X X X X

次の表では、WebSphere Business Integration データ・ソースに適用可能な、サーバー定義のサーバー・オプションがリストされています。

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 499

Page 510: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 138. WebSphere Business Integration データ・ソースのサーバー・オプション

データ・ソース

A

P

P

_

T

Y

P

E

F

A

U

L

T

_

Q

U

E

U

E

M

Q

_

C

O

N

N

_

N

A

M

E

M

Q

_

M

A

N

A

G

E

R

M

Q

_

R

E

S

P

O

N

S

E

_

T

I

M

E

O

U

T

M

Q

_

S

V

R

C

O

N

N

_

C

H

A

N

N

E

L

N

A

M

E

R

E

Q

U

E

S

T

_

Q

U

E

U

E

R

E

S

P

O

N

S

E

_

Q

U

E

U

E

WebSphere Business Integration X X X X X X X X

次の表は、各サーバー・オプションを説明し、有効な設定値およびデフォルトの設定値をリストしています。

表 139. サーバー・オプションとその設定値

オプション 説明および有効な設定値 デフォルトの設定値

APP_TYPE リモート・アプリケーションのタイプ。有効な値は’PSOFT’、’SAP’、および ’SIEBEL’

です。このオプションは必須です。

なし

500 フェデレーテッド・データ・ソース 構成ガイド

Page 511: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

CASE_SENSITIVE BioRS サーバーが大/小文字の区別をして名前を扱うかどうかを指定します。有効な値は Y または N

です。

’Y’ BioRS サーバーは大/小文字の区別をして名前を扱います。

’N’ BioRS サーバーは大/小文字の区別をしないで名前を扱います。

BioRS 製品では、BioRS サーバーに保管されているデータの大/小文字の区別を構成パラメーターで制御します。 CASE_SENSITIVE オプションは、DB2 Information

Integrator で BioRS システム構成パラメーターに相当するものです。 BioRS システムと DB2

Information Integrator で、BioRS

サーバーの大/小文字の区別の構成設定を同期させなければなりません。 BioRS と DB2 Information

Integrator の間で大/小文字の区別に関する構成設定を同期させておかないと、DB2 Information Integrator

を介した BioRS データへのアクセスを試行した際にエラーが発生します。

DB2 Information Integrator に新しい BioRS サーバーを作成した後で、 CASE_SENSITIVE オプションを変更または削除することはできません。 CASE_SENSITIVE オプションを変更する必要がある場合は、サーバー全体をドロップしてから再作成する必要があります。 BioRS サーバーをドロップした場合、対応する BioRS ニックネームもすべて再作成しなければなりません。 DB2 Information

Integrator は、ドロップされたサーバーに対応するすべてのニックネームを自動的にドロップします。

Y

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 501

Page 512: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

CODEPAGE データ・ソースのクライアント構成のコード化文字セットに対応する、 DB2 コード・ページ ID を指定します。クライアントのコード・ページとフェデレーテッド・データベースのコード・ページが一致しない場合、クライアントのコード・ページを指定しなければなりません。

Unicode をサポートしているデータ・ソースの場合、データ・ソース・クライアントでのサポートされている Unicode エンコードに対応する、 DB2 コード・ページ ID

に CODEPAGE オプションを設定できます。

非 Unicode フェデレーテッド・データベースを使用するUNIX または Windows システムの場合: フェデレーテッド・データベース・コード・ページ。

Unicode フェデレーテッド・データベースを使用する UNIX

システムの場合: 1208

Unicode フェデレーテッド・データベースを使用するWindows システムの場合:

1202

COLLATING_ SEQUENCE データ・ソースがフェデレーテッド・データベースと同じデフォルト照合シーケンスを使用するかどうかを、 NLS コード・セットと国/地域別情報に基づいて指定します。

’Y’ データ・ソースは DB2

フェデレーテッド・データベースと同じ照合シーケンスを持っています。

’N’ データ・ソースは DB2

フェデレーテッド・データベースの照合シーケンスとは別の照合シーケンスを持っています。

’I’ データ・ソースは DB2

フェデレーテッド・データベースの照合シーケンスとは別の照合シーケンスを持ち、データ・ソースの照合シーケンスは大/

小文字を区別しません (たとえば、’STEWART’ と’StewART’ は等しいと見なされます)。

’N’

502 フェデレーテッド・データ・ソース 構成ガイド

Page 513: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

COMM_RATE フェデレーテッド・サーバーとデータ・ソース・サーバー間の通信レートを指定します。秒当たりのMB 単位で表されます。

有効な値は 0 より大きく、1x1023

より小さい値です。値は有効なREAL の表記で表せます。

’2’

CONNECTSTRING OLE DB Provider への接続に必要な初期化プロパティーを指定します。

なし

CONNECTSTRING OLE DB Provider への接続に必要な初期化プロパティーを指定します。

なし

CONV_EMPTY_STRING レプリケーション・タスクと連動する Sybase ラッパーに使用します。 CONV_EMPTY_STRING オプションを Y に設定すると、Sybase

ラッパーは空ストリングをスペースに変換します。空ストリングが保管される非 NULL 可能文字列をソース・データ・サーバーが持ち、ターゲット・データ・サーバーが Sybase の場合は、このオプションを Y に設定してください。

N

CPU_RATIO データ・ソースの CPU がフェデレーテッド・サーバーの CPU より、どれほど速いかまたは遅いかを示します。

有効な値は 0 より大きく、1x1023

より小さい値です。値は有効なREAL の表記で表せます。

設定値が 1 ということは、 DB2

フェデレーテッドの CPU とデータ・ソースの CPU が、 1:1 の比率で同じ速度になるということです。設定値が 0.5 ということは、DB2 フェデレーテッドの CPU の速度がデータ・ソースの CPU の速度の半分であるということです。設定値が 2 ということは、DB2 フェデレーテッドの CPU の速度がデータ・ソースの CPU の速度の 2 倍であるということです。

’1.0’

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 503

Page 514: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

DATEFORMAT データ・ソースによって使用される日付形式。日付の数値形式を表現するには、 ’DD’、’MM’、および ’YY’ または ’YYYY’ を使った形式を入力します。また、スペースやコンマなどの区切り文字を指定する必要もあります。たとえば、’2003-01-01’ の日付形式を表現するには、 ’YYYY-MM-DD’ を使用します。このフィールドは、NULL 可能です。

なし

DAEMON_PORT デーモンが BLAST またはHMMER ジョブ要求を listen するポート番号を指定します。ポート番号は、デーモン構成ファイルのDAEMON_PORT オプションに指定されているものと同じ番号でなければなりません。

BLAST: 4007

HMMER: 4098

504 フェデレーテッド・データ・ソース 構成ガイド

Page 515: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

DB2_MAXIMAL_ PUSHDOWN 照会オプティマイザーがアクセス・プランを選択するときに使用する 1 次基準を指定します。照会オプティマイザーは、コストを基に、またはリモート・データ・ソースによってできるだけ多くの照会処理を実行できるユーザー要件を基にアクセス・プランを選択できます。

’Y’ 照会オプティマイザーは、照会操作を最も多くデータ・ソースにプッシュダウンするアクセス・プランを選択します。いくつかのアクセス・プランが同量のプッシュダウンを提供する場合、照会オプティマイザーは最もコストの低いプランを選択します。

フェデレーテッド・サーバー上のマテリアライズ照会表 (MQT) が一部あるいはすべての照会を処理できる場合は、マテリアライズ照会表を含むアクセス・プランが使用される可能性があります。フェデレーテッド・データベースは、カルテシアン積になる照会はプッシュダウンしません。

’N’ 照会オプティマイザーは、コストを基にアクセス・プランを選択します。

’N’

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 505

Page 516: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

DB2_PRESERVE_CUR_ON_CONNECTION コミットまたはロールバックされるトランザクションのカーソルの動作を指定します。値を Y に設定すると、COMMIT またはROLLBACK が送信された場合でも、Microsoft SQL Server のカーソルはオープンしたままになります。このオプションを設定しない場合や、値を N に設定した場合は、COMMIT または ROLLBACK

が送信されるとカーソルはクローズします。このオプションは任意指定です。

なし

DB2_TWO_PHASE_COMMIT CREATE SERVER または ALTER

SERVER ステートメントを使用して、データ・ソースごとにフェデレーテッド 2 フェーズ・コミットの許可/不許可を指定します。データベース・レベルで 2 フェーズ・コミットを構成して活動化するには、Y に設定します。データベース・レベルでフェデレーテッド 2

フェーズ・コミットを構成するが活動化しないようにするには、N

に設定します。アプリケーションは、SET SERVER OPTION ステートメントを使用して、このオプションを活動化または非活動化できます。

DB2_UM_PLUGIN 外部リポジトリーからユーザー・マッピングを取り出すのにプラグインを使用する場合に、クラス名をパッケージを含めて指定します(たとえば ’com.ibm.ii.um.ldap.

UserMappingRepository’)。Lightweight Directory Access

Protocol (LDAP) サンプル・プラグインを使用する場合は、クラス名だけで済みます (たとえばUserMappingRepository)。

なし

506 フェデレーテッド・データ・ソース 構成ガイド

Page 517: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

DBNAME フェデレーテッド・サーバーにアクセスさせるデータ・ソース・データベースの名前。 DB2 データベースの場合、この値は最初のリモート DB2 データベース接続での特定のデータベースに対応しています。この特定のデータベースとは、CATALOG DATABASE コマンドまたは DB2 構成アシスタントを使用して、フェデレーテッド・サーバーでカタログされた、リモート DB2 データベースのデータベース別名です。 Oracle インスタンスに含まれるのは 1 つのデータベースだけなので、Oracle データ・ソースには該当しません。Teradata には適用されません。

なし

FAULT_QUEUE アダプターからラッパーへエラー・メッセージを送る障害キューの名前。この名前は、WebSphere

MQ のキュー名に関する仕様に準拠していなければなりません。これは必須オプションです。

なし

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 507

Page 518: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

FOLD_ID

(この表の最後にある注 1 および 4 を参照。)

フェデレーテッド・サーバーが認証のためにデータ・ソース・サーバーに送信するユーザー ID に適用されます。有効な値は次のとおりです。

’U’ フェデレーテッド・サーバーは、ユーザー ID をデータ・ソースに送信する前に、大文字に変換します。これは、DB2 ファミリーおよび Oracle データ・ソースについては当然の選択です (この表の最後にある注 2 を参照。)

’N’ フェデレーテッド・サーバーは、ユーザー ID をデータ・ソースに送信する前に、ユーザー ID に対して何の処理も行いません。 (この表の最後の注2 を参照。)

’L’ フェデレーテッド・サーバーは、ユーザー ID をデータ・ソースに送信する前に、小文字に変換します。

このオプションが指定されない場合、フェデレーテッド・サーバーはユーザー ID を大文字 (未変更)

と小文字でデータ・ソースに送信しようとします。

なし

508 フェデレーテッド・データ・ソース 構成ガイド

Page 519: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

FOLD_PW

(この表の最後にある注 1、3 および 4 を参照。)

フェデレーテッド・サーバーが認証のためにデータ・ソースに送信するパスワードに適用されます。有効な値は次のとおりです。

’U’ フェデレーテッド・サーバーは、パスワードをデータ・ソースに送信する前に、大文字に変換します。これは、DB2 ファミリーおよび Oracle データ・ソースについては当然の選択です。

’N’ フェデレーテッド・サーバーは、パスワードをデータ・ソースに送信する前に、パスワードに対して何の処理も行いません。

’L’ フェデレーテッド・サーバーは、パスワードをデータ・ソースに送信する前に、小文字に変換します。

このオプションが指定されない場合、フェデレーテッド・サーバーはユーザー ID を大文字 (未変更)

と小文字でデータ・ソースに送信しようとします。

なし

HMMPFAM_OPTIONS オプションを列名にマップする参照表において対応する列名を持たない、 hmmpfam オプション(--null2、--pvm、--xnu など) を指定します。

たとえば、次のようにします。

HMMPFAM_OPTIONS ’--xnu --pvm’

この例では、デーモンは追加オプション --xnu、--pvm の他に、照会の WHERE 文節からオプションを指定して HMMPFAM プログラムを実行します。

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 509

Page 520: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

HMMSEARCH_ OPTIONS ユーザーが hmmsearch コマンドに追加のコマンド行オプションを指定できるようにします。タイプSEARCH でのみ有効です。詳細については、「HMMER User’s

Guide」を参照してください。

なし

IFILE Sybase Open Client インターフェース・ファイルのパスと名前を指定するのに使用します (デフォルトのインターフェース・ファイルを使用しない場合)。 Windows NT

フェデレーテッド・サーバーでは、デフォルトは%SYBASE%¥ini¥sql.ini です。UNIX NT フェデレーテッド・サーバーでは、デフォルトは$SYBASE%/interfaces です。

なし

INFORMIX_CLIENT_LOCALE フェデレーテッド・サーバーとデータ・ソース・サーバー間の接続に使用する CLIENT_LOCALE を指定します。INFORMIX_CLIENT_LOCALE オプションを指定しない場合、Informix CLIENT_LOCALE 環境変数は、db2dj.ini ファイルで指定された値に設定されます (指定されている場合)。 db2dj.ini でCLIENT_LOCALE が指定されていない場合、Informix

CLIENT_LOCALE 環境変数は、フェデレーテッド・データベースのコード・ページとテリトリーに最も近い Informix ロケールに設定されます。有効な Informix ロケールであれば、どれも有効な値です。このオプションは任意指定です。

なし

510 フェデレーテッド・データ・ソース 構成ガイド

Page 521: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

INFORMIX_DB_LOCALE フェデレーテッド・サーバーとデータ・ソース・サーバー間の接続に使用する DB_LOCALE を指定します。 INFORMIX_DB_LOCALE

オプションを指定しない場合、Informix DB_LOCALE 環境変数は、db2dj.ini ファイルで指定された値に設定されます (指定されている場合)。 db2dj.ini でDB_LOCALE が指定されていない場合、Informix DB_LOCALE 環境変数は設定されません。有効なInformix ロケールであれば、どれも有効な値です。このオプションは任意指定です。

なし

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 511

Page 522: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

INFORMIX_LOCK_ MODE Informix データ・ソースにロック・モードが設定されるように指定します。 Informix ラッパーは、Informix データ・ソースとの接続を確立した直後に、 ’SET LOCK

MODE’ コマンドを発行します。有効な値は次のとおりです。

’W’ Informix ロック・モードを WAIT に設定します。ラッパーがロック表またはロック行へのアクセスを試みる場合、 Informix

はロックがリリースされるまで待ちます。

’N’ Informix ロック・モードを NOWAIT に設定します。ラッパーがロック表またはロック行へのアクセスを試みる場合、Informix はエラーを戻します。

’n’ Informix ロック・モードを WAIT n 秒に設定します。ラッパーがロック表またはロック行へのアクセスを試みるときに、指定した秒数内にリリースされない場合、Informix

はエラーを戻します。

フェデレーテッド・サーバーがInformix データ・ソースと接続しようとしてデッドロックまたはタイムアウトが発生した場合、フェデレーテッド・サーバーのロック・モードの設定を変更することでしばしばエラーを解決できます。フェデレーテッド・サーバーのロック・モードの設定を変更するには、ALTER SERVER ステートメントを使用します。

例:

ALTER SERVER TYPE informixVERSION 9 WRAPPER informixOPTIONS(ADD informix_lock_mode ’60’)

’W’

512 フェデレーテッド・データ・ソース 構成ガイド

Page 523: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

IO_RATIO データ・ソース入出力システムがフェデレーテッド・サーバー入出力システムより、どれほど速いかまたは遅いかを表します。

有効な値は 0 より大きく、1x1023

より小さい値です。値は有効なREAL の表記で表せます。

設定値が 1 ということは、 DB2

フェデレーテッド入出力とデータ・ソース入出力が、 1:1 の比率で同じ速度になるということです。設定値が .5 ということは、DB2 フェデレーテッド入出力の速度がデータ・ソース入出力の速度の半分であるということです。設定値が 2 ということは、 DB2 フェデレーテッド入出力の速度がデータ・ソース入出力の速度の 2 倍であるということです。

’1.0’

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 513

Page 524: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

IUD_APP_SVPT_ ENFORCE DB2 フェデレーテッド・システムが、アプリケーション・セーブポイント・ステートメントの検出または作成を実施すべきかどうかを指定します。 SET SERVER

OPTION ステートメントを使用して設定すると、このサーバー・オプションは静的 SQL ステートメントに影響を与えません。

’Y’ フェデレーテッド・サーバーは、挿入、更新、または削除操作でエラーが発生する場合、およびデータ・ソースがアプリケーション・セーブポイント・ステートメントを実行しない場合、挿入、更新、または削除トランザクションをロールバックします。 SQL エラー・コード SQL1476N が戻されます。

’N’ フェデレーテッド・サーバーは、エラーが発生した場合、トランザクションをロールバックしません。エラー・リカバリーは、アプリケーションが処理する必要があります。

’Y’

LOGIN_TIMEOUT ログイン要求に対して、Sybase

Open Client からの応答を DB2 フェデレーテッド・サーバーが待つ秒数を指定します。 0 を指定すると、フェデレーテッド・サーバーは応答を無期限に待機します。

’0’

514 フェデレーテッド・データ・ソース 構成ガイド

Page 525: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

MAX_ROWS Entrez の場合: 照会に関して、フェデレーテッド・サーバーが戻す行数を指定します。

OMIMの場合: 照会が戻すことのできるルート・ニックネームのレコード数に制限を設けます。たとえば、MAX_ROWS サーバー・オプションを 25 に設定すると、ルート・ニックネームの最大 25 のレコードと、子にあたるニックネームのすべてのレコードが戻されます。

指定できるのは正数とゼロだけです。このオプションをゼロに設定すると、照会が NCBI Web サイトから検索できる行数が無制限になります。ただし、MAX_ROWS サーバー・オプションをゼロまたは大きい数に設定すると、照会のパフォーマンスに影響が及びます。

MAX_ROWS サーバー・オプションは必須ではありません。

Microsoft Windows オペレーティング・システムの場合: 2000

行。

UNIX ベースのオペレーティング・システムの場合: 5000

行。

MQ_CONN_NAME Websphere MQ サーバーが実行されるコンピューターのホスト名またはネットワーク・アドレス。接続名は 9.30.76.151(1420) などになります。ここで、1420 はポート番号です。ポート番号が除かれている場合、デフォルト値である 1414

が使用されます。このオプションは任意指定です。これを省略すると、チャネル定義を選択するために、 MQSERVER 環境変数(db2dj.ini ファイルで指定されている場合) が使用されます。MQSERVER が設定されていない場合、クライアントのチャネル表が使用されます。

ラッパーは、チャネル定義を選択するために、 MQSERVER

環境変数 (db2dj.ini ファイルで指定されている場合) を使用します。 MQSERVER 環境変数が設定されていない場合、ラッパーはクライアントのチャネル表を使用します。

MQ_MANAGER WebSphere MQ マネージャーの名前。任意の有効な WebSphere MQ

マネージャー名です。このオプションは必須です。

なし

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 515

Page 526: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

MQ_RESPONSE_ TIMEOUT ラッパーが応答キューから応答メッセージを待つ時間。値の単位はミリ秒です。特殊値として -1 を指定することにより、タイムアウト期間を設けないように指示できます。このオプションは任意指定です。

10000

MQ_SVRCONN_ CHANNELNAME ラッパーが接続を試行する、Webspehere MQ Manager 上のサーバー接続チャネルの名前。このパラメーターを指定できるのは、MQ_CONN_NAME サーバー・オプションが指定されている場合だけです。このオプションを省略すると、デフォルトのサーバー接続チャネルであるSYSTEM.DEF.SVRCONN が使用されます。

SYSTEM.DEF.SVRCONN

NODE リレーショナル・データ・ソースの場合: データ・ソースがインスタンスとして RDBMS に定義される際の名前。

BLAST の場合: BLAST デーモン・プロセスが実行されるシステムのホスト名または IP アドレスを指定します。 IP アドレスとして、IPv4 アドレス (たとえば192.168.1.1) またはコロン区切りIPv6 アドレス (たとえば1080:0:0:0:8:800:200C:417A) を使用できます。このオプションは必須です。

HMMER の場合: HMMER デーモン・プロセスが実行されるサーバーのホスト名または IP アドレスを指定します。 IP アドレスとして、IPv4 アドレスまたはコロン区切り IPv6 アドレスを使用できます。このオプションは必須です。

BioRS の場合: BioRS 照会ツールが使用可能であるシステムのホスト名を指定します。 IP アドレスとして、IPv4 アドレスまたはコロン区切り IPv6 アドレスを使用できます。このオプションは任意指定です。

BioRS の場合: localhost

516 フェデレーテッド・データ・ソース 構成ガイド

Page 527: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

PACKET_SIZE クライアント・ライブラリーが特殊パケットを送信するときに使用するパケットのバイト・サイズを指定します。 Sybase ラッパーが大量のテキスト・データやイメージ・データを送信または受信する必要がある場合は、パケット・サイズを大きくすると効率が向上する可能性があります。

PASSWORD パスワードがデータ・ソースに送信されるかどうかを指定します。

’Y’ パスワードがデータ・ソースに送信され、妥当性検査が行われます。

’N’ パスワードがデータ・ソースに送信されず、妥当性検査が行われません。

’Y’

PLAN_HINTS プラン・ヒント を使用可能にするかどうかを指定します。プラン・ヒントはステートメントの一部分であり、データ・ソース・オプティマイザーに対しての追加情報を提供します。照会のタイプによっては、この情報を利用することで照会のパフォーマンスを改善できます。プラン・ヒントは、データ・ソース・オプティマイザーが索引を使用するかどうか、どの索引を使用するか、またはどの表結合シーケンスを使うかを判別するのに役立ちます。

’Y’ データ・ソースがプラン・ヒントをサポートしている場合は、プラン・ヒントを使用可能にします。

’N’ プラン・ヒントはデータ・ソースで使用可能になりません。

このオプションは、Oracle およびSybase のデータ・ソースにのみ使用できます。

’N’

PORT BioRS サーバーへ接続するためにラッパーが使用するポートの番号を指定します。このオプションは任意指定です。

’5014’

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 517

Page 528: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

PROCESSORS HMMER プログラムが使用するプロセッサーの番号を指定します。このオプションは、hmmpfam コマンドの --cpu オプションに相当するものです。

なし

PROXY_AUTHID プロキシー・サーバーが認証を必要としたときに使用するユーザー名を指定します。ユーザー名については、ネットワーク管理者に問い合わせてください。

なし

PROXY_PASSWORD プロキシー・サーバーが認証を必要としたときに使用するパスワードを指定します。パスワードについては、ネットワーク管理者に問い合わせてください。

なし

PROXY_SERVER_ NAME プロキシー・サーバー名または IP

アドレスを指定します。PROXY_TYPE の値が ’HTTP’、または ’SOCKS’ の場合、このフィールドは必須です。プロキシー・サーバー名または IP アドレスについては、ネットワーク管理者に問い合わせてください。 IP アドレスとして、IPv4 アドレス (たとえば 192.168.1.1) またはコロン区切り IPv6 アドレス (たとえば1080:0:0:0:8:800:200C:417A) を使用できます。

なし

PROXY_SERVER_ PORT プロキシー・サーバーのポート番号を指定します。 PROXY_TYPE

の値が ’HTTP’、または ’SOCKS’

の場合、このフィールドは必須です。プロキシー・サーバーのポート番号については、ネットワーク管理者に問い合わせてください。

なし

518 フェデレーテッド・データ・ソース 構成ガイド

Page 529: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

PROXY_TYPE ファイアウォールで保護された状態でインターネットにアクセスする際に使用する、プロキシー・タイプのタイプを指定します。有効なタイプは ’NONE’、 ’HTTP’、または ’SOCKS’ です。デフォルト値は ’NONE’ です。使用するプロキシーのタイプについては、ネットワーク管理者と連絡を取ってください。

BLAST、HMMER、およびスクリプトは、HTTP プロキシーをサポートしていません。

’NONE’

PUSHDOWN ’Y’ DB2 はデータ・ソースに操作を評価させることを考慮します。

’N’ DB2 は、列名を持つSELECT のみを含むデータ・ソース SQL ステートメントを送信します。述部 (WHERE= など)

列、スカラー関数 (MAX

や MIN など)、ソート(ORDER BY またはGROUP BY など)、および結合は、データ・ソースに送信されるどの SQL

にも含まれません。

ODBC ラッパーのデフォルトです。

’Y’

RESPONSE_QUEUE アダプターからラッパーへ照会結果を送る応答キューの名前。この名前は、WebSphere MQ のキュー名に関する仕様に準拠していなければなりません。このオプションは必須です。

なし

REQUEST_QUEUE ラッパーからアダプターへ照会結果を送る要求キューの名前。この名前は、WebSphere MQ のキュー名に関する仕様に準拠していなければなりません。このオプションは必須です。

なし

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 519

Page 530: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

SOCKET_TIMEOUT プロキシー・サーバーからの結果を DB2 フェデレーテッド・サーバーが待つ最大時間 (分単位) を指定します。有効な値は、ゼロ以上の任意の数です。デフォルトはゼロ ’0’ です。値ゼロは、待つ時間に制限を設けないことを意味します。

0

SSL_CLIENT_ CERTIFICATE_LABEL SSL 認証の際に送信されるクライアント証明書を指定します。この値を指定しない場合は、現行 DB2

許可 ID が送信されます。

なし

SSL_KEYSTORE_FILE SSL/TLS 通信に使用する証明書ストレージ・ファイルの名前を指定します。指定する値は、DB2 エージェントまたは FMP プロセスがアクセス可能な絶対パスでなければなりません。

オプション: Microsoft 固有の証明書ストレージを使用する場合は、値として’GSK_MS_CERTIFICATE_STORE’

を指定できます。

なし

SSL_KEYSTORE_PASWORD SSL 証明書ストレージにアクセスするときに使用されるパスワードを指定します。このパスワードは、DB2 カタログに保管されるときに暗号化されます。

なし

SSL_VERIFY_SERVER_CERTIFICATE SSL 認証の際にサーバー証明書を検査するかどうかを指定します。この値は大/小文字の区別はありません。認証を行うには、値として’Y’、’YES’、’T’、’TRUE’ のいずれかを使用します。使用不可に設定するには、’F’、’FALSE’、’N’、’NO’ のいずれかを使用します。

’NO’

520 フェデレーテッド・データ・ソース 構成ガイド

Page 531: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

TIMEFORMAT データ・ソースによって使用される時刻形式。’hh12’、’hh24’、’mm’、’ss’、’AM’、または ’A.M’ を使用した形式を入力します。たとえば、’16:00:00’ という時刻形式を表現するには、’hh24:mm:ss’ を使用します。’8:00:00 AM’ という時刻形式を表現するには、’hh12:mm:ss AM’ を使用します。このフィールドは、NULL 可能です。

なし

TIMESTAMPFORMAT データ・ソースによって使用されるタイム・スタンプ形式。形式は、日時の形式の後に、10 分の 1

秒の場合は ’n’、 100 分の 1 秒の場合は ’nn’、1000 分の 1 秒 (ミリ秒) の場合は ’nnn’ を付加します。最大でマイクロ秒の ’nnnnnn’

まで可能です。たとえば、’2003-01-01-24:00:00.000000’ のタイム・スタンプ形式を表現するには、’YYYY-MM-DD-hh24:mm:ss.nnnnnn’

を使用します。このフィールドは、NULL 可能です。

なし

TIMEOUT 指定するタイムアウト値は、使用するラッパーにより異なります。0 を指定すると、DB2 は応答を無期限に待機します。

Sybase の場合: 何らかの SQL ステートメントに対する Sybase サーバー からの応答を、DB2 フェデレーテッド・サーバーが待つ秒数を指定します。 seconds の値は、正の整数です。

BioRS の場合: BioRS サーバーからの応答を BioRS ラッパーが待つ時間 (分単位) を指定します。デフォルト値は 10 です。このオプションは任意指定です。

Web サービスの場合: DB2 がネットワーク転送と結果の計算を待つ時間 (分単位) を指定します。

Sybase: 0

BioRS: 10

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 521

Page 532: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

USE_CLOB_ SEQUENCE このオプションは、 BlastSeq または HmmQSeq 列に関してフェデレーテッド・サーバーが使用するデータ・タイプを指定します。可能な値は ’Y’ または ’N’ です。CREATE NICKNAME またはALTER NICKNAME ステートメントを使用して、BlastSeq またはHmmQSeq 列のデフォルト・データ・タイプをオーバーライドできます。

v 値を N に指定した場合、データ・タイプは VARCHAR(32000)

です。

v 値を Y に指定した場合、データ・タイプは CLOB(5M) です。デフォルト値は Y ではなく、N

です。

’Y’

522 フェデレーテッド・データ・ソース 構成ガイド

Page 533: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 139. サーバー・オプションとその設定値 (続き)

オプション 説明および有効な設定値 デフォルトの設定値

VARCHAR_NO_ TRAILING_BLANKS このオプションは、比較の際に末尾ブランクで長さを埋めることをしない可変長文字データ・タイプを持つデータ・ソースに適用されます。

ある種のデータ・ソース (Oracle

など) は、DB2 for Linux, UNIX,

and Windows の比較セマンティクスと同じ結果を戻すブランク埋め込み文字比較セマンティクスを持っていません。このオプションは、指定されたサーバーからアクセスされるデータ・ソース・オブジェクト内の、すべてのVARCHAR および VARCHAR2 列に適用したい場合に設定してください。これにはビューも含まれます。

Y これらの VARCHAR 列に末尾ブランクがないか、またはこのデータ・ソースが、フェデレーテッド・サーバー上のセマンティクスと類似したブランク埋め込み文字比較セマンティクスを持っています。

フェデレーテッド・サーバーは、文字比較演算をデータ・ソースにプッシュダウンして、処理させます。

N これらの VARCHAR 列に末尾ブランクがあり、データ・ソースが、フェデレーテッド・サーバーとは異なるブランク埋め込み文字比較セマンティクスを持っています。

相当するセマンティクスを補うことができない場合に、フェデレーテッド・サーバーは文字比較演算を処理します。たとえば、述部の再作成などです。

N (影響を受けるデータ・ソースに対して)。

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 523

Page 534: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

この表に関する注

1. このフィールドは、認証に指定される値に関係なく適用されます。

2. DB2 はユーザー ID を大文字で保管するので、値「N」と「U」は論理的に互いに同等です。

3. パスワードの設定が「N」の場合は、 FOLD_PW を設定しても効果はありません。パスワードが送信されないので、大/小文字の区別は意味をなしません。

4. これらのいずれのオプションについても、NULL 値を設定することは避けてください。 NULL 値を設定すると、ユーザー ID とパスワードを解決するためにDB2 は複数回試行することになるので、便利なように思えますが、パフォーマンスが悪化する可能性があります (DB2 が ユーザー ID とパスワードを 9 回送信した後で、ようやくデータ・ソース認証に成功するということもあり得ます)。

SQL ステートメントで有効なサーバーのタイプサーバー・タイプは、サーバー定義が表すデータ・ソースの種類を示します。

サーバー・タイプは、ベンダー、目的、およびオペレーティング・システムに応じて変わります。サポートされる値は使用するラッパーによって異なります。

ほとんどのデータ・ソースで、CREATE SERVER ステートメントに有効なサーバー・タイプを指定しなければなりません。

BioRS ラッパーBioRS データ・ソースには、サーバー・タイプ指定はオプションです。

サーバー・タイプ データ・ソース

CREATE SERVER ステートメントでは必要ありません。

BioRS

BLAST ラッパーBLAST デーモンがサポートする BLAST データ・ソースに対して実行する BLAST

検索のタイプごとに、サーバー・タイプ指定が必須です。

サーバー・タイプ データ・ソース

BLASTN オリジナルの配列の領域と同種の領域を持つ配列を検出するために、ヌクレオチド配列をヌクレオチド配列データベースの内容と比較する BLAST 検索。

BLASTP オリジナルの配列の領域と同種の領域を持つ配列を検出するために、アミノ酸配列をアミノ酸配列データベースの内容と比較するBLAST 検索。

BLASTX オリジナルの配列の領域と同種の領域を持つ配列を検出するために、ヌクレオチド配列をアミノ酸配列データベースの内容と比較するBLAST 検索。

524 フェデレーテッド・データ・ソース 構成ガイド

Page 535: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

サーバー・タイプ データ・ソース

TBLASTN オリジナルの配列の領域と同種の領域を持つ配列を検出するために、アミノ酸配列をヌクレオチド配列データベースの内容と比較するBLAST 検索。

TBLASTX オリジナルの配列の領域と同種の領域を持つ配列を検出するために、ヌクレオチド配列をヌクレオチド配列データベースの内容と比較する BLAST 検索。

CTLIB ラッパーCTLIB ラッパーは Sysbase データ・ソースをサポートします。CTLIB クライアント・ソフトウェアがサポートする Sybase データ・ソースには、サーバー・タイプ指定が必須です。

サーバー・タイプ データ・ソース

SYBASE Sybase

DRDA ラッパーDRDA ラッパーは、DB2 ファミリーのデータ・ソースに使用されます。DB2 ファミリーのデータ・ソースには、サーバー・タイプ指定が必須です。

表 140. DB2 ファミリー・データ・ソース

サーバー・タイプ データ・ソース

DB2/UDB IBM DB2 for Linux, UNIX, and Windows バージョン 9.1

DB2/ISERIES IBM DB2 UDB for iSeries and AS/400

DB2/ZOS IBM DB2 UDB for z/OS

DB2/VM IBM DB2 for VM

Entrez ラッパーEntrez データ・ソースには、サーバー・タイプ指定が必須です。

サーバー・タイプ データ・ソース

NUCLEOTIDE Entrez

OMIM Entrez

PUBMED Entrez

Excel ラッパーExcel データ・ソースには、サーバー・タイプ指定は必要ありません。

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 525

Page 536: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

サーバー・タイプ データ・ソース

CREATE SERVER ステートメントでは必要ありません。

Microsoft Excel

HMMER ラッパーHMMER デーモンがサポートする HMMER データ・ソースに対して HMMER 検索を実行するサーバーごとに、サーバー・タイプ指定が必須です。

サーバー・タイプ データ・ソース

PFAM HMMER

SEARCH HMMER

Informix ラッパーInformix Client SDK ソフトウェアがサポートする Informix データ・ソースには、サーバー・タイプ指定が必須です。

サーバー・タイプ データ・ソース

INFORMIX Informix

MSSQLODBC3 ラッパーDataDirect Connect ODBC 4.2 以降のドライバー、または Microsoft SQL Server

ODBC 3.0 以降のドライバーがサポートする Microsoft SQL Server データ・ソースには、サーバー・タイプ指定が必須です。

サーバー・タイプ データ・ソース

MSSQLSERVER Microsoft SQL Server

NET8 ラッパーOracle NET8 クライアント・ソフトウェアがサポートする Oracle データ・ソースには、サーバー・タイプ指定が必須です。

サーバー・タイプ データ・ソース

ORACLE Oracle バージョン 8.0. またはそれ以上

ODBC ラッパーODBC 3.x ドライバーがサポートする ODBC データ・ソースには、サーバー・タイプ指定が必須です。

サーバー・タイプ データ・ソース

ODBC ODBC

526 フェデレーテッド・データ・ソース 構成ガイド

Page 537: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

OLE DB ラッパーMicrosoft OLE DB 2.0 以降に準拠する OLE DB Provider には、サーバー・タイプ定義は必要ありません。

サーバー・タイプ データ・ソース

CREATE SERVER ステートメントでは必要ありません。

任意の OLE DB Provider

表構造ファイル・ラッパー表構造ファイル・データ・ソースには、サーバー・タイプ定義は必要ありません。

サーバー・タイプ データ・ソース

CREATE SERVER ステートメントでは必要ありません。

表構造ファイル

Teradata ラッパーTeradata クライアント・ソフトウェアがサポートする Teradata データ・ソースには、サーバー・タイプ定義が必須です。

サーバー・タイプ データ・ソース

TERADATA Teradata

Web サービス・ラッパーWeb サービス・データ・ソースには、サーバー・タイプ定義は必要ありません。

サーバー・タイプ データ・ソース

CREATE SERVER ステートメントでは必要ありません。

すべての Web サービス・データ・ソース。

WebSphere Business Integration ラッパーWebSphere Business Integration ラッパーがサポートするビジネス・アプリケーション・データ・ソースには、サーバー・タイプ定義が必須です。

サーバー・タイプ データ・ソース

WBI WebSphere Business Integration 2.2 または 2.3

XML ラッパーXML データ・ソースには、サーバー・タイプ定義は必要ありません。

サーバー・タイプ データ・ソース

CREATE SERVER ステートメントでは必要ありません。

XML

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 527

Page 538: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

フェデレーテッド・システムのユーザー・マッピング・オプション以下のオプションは、CREATE USER MAPPING および ALTER USER MAPPING

ステートメントで使用されます。

表 141. ユーザー・マッピング・オプションおよびその設定値

オプション 有効な設定値 デフォルトの設定値

ACCOUNTING DRDA の場合: DRDA 会計情報ストリングの指定に使用します。有効な設定値は、長さが 255 以下の任意のストリングです。このオプションは、会計情報を渡す必要がある場合のみ必要です。詳しくは、「DB2 Connect™ ユーザーズ・ガイド」を参照してください。

なし

GUEST ラッパーがゲスト・アクセス・モードを使用して BioRS

サーバーにアクセスするかどうかを指定します。

Y ラッパーが BioRS サーバーへのゲスト・アクセス・モードを使用します。

N ラッパーが BioRS サーバーへのゲスト・アクセス・モードを使用しません。

値を Y に設定すると、このオプションはREMOTE_AUTHID オプションおよびREMOTE_PASSWORD オプションと相互に排他的になります。

BioRS データ・ソースに有効です。

N

REMOTE_AUTHID データ・ソースで使用される許可 ID を表します。有効な設定値は、長さが 255 以下の任意のストリングです。BioRS および Web サービス・データ・ソースに有効です。

DB2 への接続に使用する許可ID。

PROXY_AUTHID プロキシー・サーバーが認証を必要としたときに使用するパスワードを指定します。パスワードについては、ネットワーク管理者に問い合わせてください。

BioRS、Blast、Entrez、HMMER、スクリプト、Web サービス・データ・ソースに有効です。

PROXY_PASSWORD プロキシー・サーバーが認証を必要としたときに使用するユーザー名を指定します。ユーザー名については、ネットワーク管理者に問い合わせてください。

BioRS、Blast、Entrez、HMMER、スクリプト、Web サービス・データ・ソースに有効です。

528 フェデレーテッド・データ・ソース 構成ガイド

Page 539: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 141. ユーザー・マッピング・オプションおよびその設定値 (続き)

オプション 有効な設定値 デフォルトの設定値

REMOTE_PASSWORD データ・ソースで使用される許可パスワードを表します。有効な設定値は、長さが 32 以下の任意のストリングです。

サーバーがパスワードを必要とするが、このオプションを設定しない場合、以下の条件を満たしておいてください。そうしないと、接続は失敗します。

v データベース・マネージャーの構成パラメーターAUTHENTICATON が SERVER に設定されている。

v サーバー・オプション PASSWORD が省略されているか、または Y (デフォルト) に設定されている。

v DB2 データベースに接続したときに、許可 ID とパスワードを指定した。指定したパスワードは、リモート・サーバーのパスワードと同じでなければなりません。

BioRS および Web サービス・データ・ソースに有効です。

有効な設定の列にリストされている両方の条件が満たされている場合、DB2 への接続に使用するパスワード。

SSL_CLIENT_

CERTIFICATE_LABEL

SSL 認証の際に送信されるクライアント証明書を指定します。この値を指定しない場合は、現行 DB2 許可 ID

が送信されます。

Web サービス・データ・ソースに有効です。

なし

フェデレーテッド・システムのラッパー・オプションラッパー・オプションは、ラッパーを構成するため、またはフェデレーテッド・サーバーがどのようにラッパーを使用するかを定義するために使用されます。ラッパー・オプションは、ラッパーを作成または変更する際に設定できます。

すべてのリレーショナルおよび非リレーショナル・データ・ソースで、DB2_FENCED ラッパー・オプションを使用します。 ODBC および Teradata ラッパーは、DB2_SOURCE_CLIENT_MODE ラッパー・オプションをサポートしています。 Entrez データ・ソースは EMAIL ラッパー・オプションを使用します。ODBC データ・ソースは MODULE ラッパー・オプションを使用します。BioRS、BLAST、Entrez、HMMER、Web サービス、XML データ・ソースでは、プロキシー用ラッパー・オプションを使用できます。 SSL オプションは、BLAST、HMMER、スクリプト、Web サービス、XML ラッパーでサポートされています。

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 529

Page 540: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 142. ラッパー・オプションとその設定値

オプション 有効な設定値 デフォルトの設定値

DB2_FENCED ラッパーが fenced モードかトラステッド・モードのどちらで実行されるかを指定します。

Y ラッパーが fenced モードで実行されます。

N ラッパーがトラステッド・モードで実行されます。

リレーショナル・ラッパーの場合: N。

IBM 提供の非リレーショナル・ラッパーの場合:

N。

サード・パーティー提供の非リレーショナル・ラッパーの場合: Y。

DB2_SOURCE_CLIENT_

MODE

データ・ソース・クライアントが32 ビットであり、フェデレーテッド・サーバー上のデータベース・インスタンスが 64 ビットであることを指定します。このオプションを指定するときは、DB2_FENCED ラッパー・オプションを Y に設定する必要もあります。

このオプションは、ODBC およびTeradata データ・ソースにのみ適用されます。また、現在このオプションは、AIX または Solaris オペレーティング・システムでのみサポートされています。

有効値は 32BIT のみです。この値は大/小文字の区別はありません。

32BIT フェデレーテッド・サーバーにインストールされるデータ・ソース・クライアントは、32 ビットです。

なし

DB2_UM_PLUGIN 外部リポジトリーからユーザー・マッピングを取り出すのにプラグインを使用する場合に、クラス名をパッケージを含めて指定します (たとえば ’com.ibm.ii.um.ldap.

UserMappingRepository’)。Lightweight Directory Access

Protocol (LDAP) サンプル・プラグインを使用する場合は、クラス名だけで済みます (たとえばUserMappingRepository)。

なし

530 フェデレーテッド・データ・ソース 構成ガイド

Page 541: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 142. ラッパー・オプションとその設定値 (続き)

オプション 有効な設定値 デフォルトの設定値

EMAIL Entrez ラッパーを登録する際に E

メール・アドレスを指定します。この E メール・アドレスはすべての照会に含められ、照会が多すぎてNCBI サーバーが過負荷になるなどの問題が生じた場合に、NCBI が連絡を取れるようにします。このオプションは必須です。

MODULE ODBC Driver Manager インプリメンテーションまたは SQL/CLI インプリメンテーションを含むライブラリーの絶対パスを指定する。 UNIX

フェデレーテッド・サーバー上のODBC ラッパーの場合は必須。

Windows では、デフォルト値は odbc32.dll です。

PROXY_SERVER_NAME プロキシー・サーバー名または IP

アドレスを指定します。PROXY_TYPE の値が ’HTTP’、または ’SOCKS’ の場合、このフィールドは必須です。 IP アドレスとして、IPv4 アドレス (たとえば192.168.1.1) またはコロン区切りIPv6 アドレス (たとえば1080:0:0:0:8:800:200C:417A) を使用できます。プロキシー・サーバー名または IP アドレスについては、ネットワーク管理者に問い合わせてください。

なし

PROXY_SERVER_PORT プロキシー・サーバーのポート番号を指定します。 PROXY_TYPE の値が ’HTTP’、または ’SOCKS’ の場合、このフィールドは必須です。プロキシー・サーバーのポート番号については、ネットワーク管理者に問い合わせてください。

CREATE SERVER ステートメントで PROXY_SERVER_PORT オプションを指定すると、CREATE

WRAPPER ステートメントのPROXY_SERVER_PORT オプションがオーバーライドされます。

なし

第 24 章 フェデレーテッド・システムとデータ・ソース構成パラメーター 531

Page 542: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 142. ラッパー・オプションとその設定値 (続き)

オプション 有効な設定値 デフォルトの設定値

PROXY_TYPE ファイアウォールで保護された状態でインターネットにアクセスする際に使用する、プロキシー・タイプのタイプを指定します。有効なタイプは ’NONE’、 ’HTTP’、または’SOCKS’ です。デフォルト値は’NONE’ です。使用するプロキシーのタイプについては、ネットワーク管理者と連絡を取ってください。

BLAST、HMMER、およびスクリプト・ラッパーは、HTTP プロキシーをサポートしていません。

’NONE’

SSL_KEYSTORE_FILE SSL/TLS 通信に使用する証明書ストレージ・ファイルの名前を指定します。指定する値は、DB2 エージェントまたは FMP プロセスがアクセス可能な絶対パスでなければなりません。

オプション: Microsoft 固有の証明書ストレージを使用する場合は、値として’GSK_MS_CERTIFICATE_STORE’

を指定できます。

なし

SSL_KEYSTORE_

PASWORD

SSL 証明書ストレージにアクセスするときに使用されるパスワードを指定します。このパスワードは、DB2

カタログに保管されるときに暗号化されます。

なし

SSL_VERIFY_SERVER_

CERTIFICATE

SSL 認証の際にサーバー証明書を検査するかどうかを指定します。この値は大/小文字の区別はありません。認証を行うには、値として’Y’、’YES’、’T’、’TRUE’ のいずれかを使用します。使用不可に設定するには、’F’、’FALSE’、’N’、’NO’

のいずれかを使用します。

’NO’

532 フェデレーテッド・データ・ソース 構成ガイド

Page 543: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

第 25 章 フェデレーテッド・システムとデータ・ソース・マッピング

デフォルトの順方向データ・タイプ・マッピングデータ・ソースのデータ・タイプとフェデレーテッド・データベースのデータ・タイプの間のマッピングには、順方向タイプのマッピングと逆方向タイプのマッピングの 2 種類があります。順方向タイプ・マッピング では、リモートのタイプから対応するローカル・タイプへのマッピングとなります。

デフォルトのタイプ・マッピングをオーバーライドすることも、 CREATE TYPE

MAPPING ステートメントを使用して新しいタイプ・マッピングを作成することもできます。

これらのマッピングは、特に記述のないかぎり、サポート対象のすべてのバージョンで有効です。

データ・ソースからフェデレーテッド・データベースへのデフォルトの順方向データ・タイプ・マッピングのすべてについて、フェデレーテッド・スキーマはSYSIBM です。

次の表は、フェデレーテッド・データベースのデータ・タイプとデータ・ソースのデータ・タイプの間のデフォルトの順方向マッピングを示しています。

DB2 Database for Linux, UNIX, and Windows データ・ソース以下の表は、DB2 Database for Linux, UNIX, and Windows データ・ソースのデフォルトの順方向データ・タイプ・マッピングをリストしています。

表 143. DB2 Database for Linux, UNIX, and Windows のデフォルトの順方向データ・タイプ・マッピング (表示されていない列があります)

REMOTE

_TYPE

NAME

REMOTE

LOWER

LEN

REMOTE

_UPPER

_LEN

REMOTE

_LOWER

_SCALE

REMOTE

_UPPER

_SCALE

REMOTE

_BIT

_DATA

REMOTE

_DATA

_OPERATORS

FEDERATED

_TYPENAME

FEDERATED

_LENGTH

FEDERATED

_SCALE

FEDERATED

_BIT

_DATA

BIGINT - - - - - - BIGINT - 0 -

BLOB - - - - - - BLOB - - -

CHAR - - - - - - CHAR - 0 N

CHAR - - - - Y - CHAR - 0 Y

CLOB - - - - - - CLOB - - -

DATE - - - - - - DATE - 0 -

DBCLOB - - - - - - DBCLOB - - -

DECIMAL - - - - - - DECIMAL - - -

DOUBLE - - - - - - DOUBLE - - -

FLOAT - - - - - - DOUBLE - - -

GRAPHIC - - - - - - GRAPHIC - 0 N

INTEGER - - - - - - INTEGER - 0 -

LONGVAR - - - - N - CLOB - - -

LONGVAR - - - - Y - BLOB - - -

LONGVARG - - - - - - DBCLOB - - -

© Copyright IBM Corp. 1998, 2006 533

Page 544: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 143. DB2 Database for Linux, UNIX, and Windows のデフォルトの順方向データ・タイプ・マッピング (表示されていない列があります) (続き)

REMOTE

_TYPE

NAME

REMOTE

LOWER

LEN

REMOTE

_UPPER

_LEN

REMOTE

_LOWER

_SCALE

REMOTE

_UPPER

_SCALE

REMOTE

_BIT

_DATA

REMOTE

_DATA

_OPERATORS

FEDERATED

_TYPENAME

FEDERATED

_LENGTH

FEDERATED

_SCALE

FEDERATED

_BIT

_DATA

REAL - - - - - - REAL - - -

SMALLINT - - - - - - SMALLINT - 0 -

TIME - - - - - - TIME - 0 -

TIMESTAMP - - - - - - TIMESTAMP - 0 -

TIMESTMP - - - - - - TIMESTAMP - 0 -

VARCHAR - - - - - - VARCHAR - 0 N

VARCHAR - - - - Y - VARCHAR - 0 Y

VARGRAPH - - - - - - VARGRAPHIC - 0 N

VARGRAPHIC - - - - - - VARGRAPHIC - 0 N

DB2 for iSeries データ・ソース以下の表は、DB2 for iSeries データ・ソースのデフォルトの順方向データ・タイプ・マッピングをリストしています。

表 144. DB2 for iSeries のデフォルトの順方向データ・タイプ・マッピング (表示されていない列があります)

Remote

Type

_name

Remote

Lower

Len

Remote

Upper

Len

Remote

Lower

Scale

Remote

Upper

Scale

Remote

Bit

Data

Remote

Data

Operators

Federated

Typename

Federated

Length

Federated

Scale

Federated

Bit

Data

BLOB - - - - - - BLOB - - -

CHAR 1 254 - - - - CHAR - 0 N

CHAR 255 32672 - - - - VARCHAR - 0 N

CHAR 1 254 - - Y - CHAR - 0 Y

CHAR 255 32672 - - Y - VARCHAR - 0 Y

CLOB - - - - - - CLOB - - -

DATE - - - - - - DATE - 0 -

DBCLOB - - - - - - DBCLOB - - -

DECIMAL - - - - - - DECIMAL - - -

FLOAT 4 - - - - - REAL - - -

FLOAT 8 - - - - - DOUBLE - - -

GRAPHIC 1 127 - - - - GRAPHIC - 0 N

GRAPHIC 128 16336 - - - - VARGRAPHIC - 0 N

INTEGER - - - - - - INTEGER - 0 -

NUMERIC - - - - - - DECIMAL - - -

SMALLINT - - - - - - SMALLINT - 0 -

TIME - - - - - - TIME - 0 -

TIMESTAMP - - - - - - TIMESTAMP - 0 -

TIMESTMP - - - - - - TIMESTAMP - 0 -

VARCHAR 1 32672 - - - - VARCHAR - 0 N

VARCHAR 1 32672 - - Y - VARCHAR - 0 Y

VARG 1 16336 - - - - VARGRAPHIC - 0 N

VARGRAPHIC 1 16336 - - - - VARGRAPHIC - 0 N

DB2 for VM and VSE データ・ソース以下の表は、DB2 for VM and VSE データ・ソースのデフォルトの順方向データ・タイプ・マッピングをリストしています。

534 フェデレーテッド・データ・ソース 構成ガイド

Page 545: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 145. DB2 Server for VM and VSE のデフォルトの順方向データ・タイプ・マッピング (表示されていない列があります)

Remote

Typename

Remote

Lower

Len

Remote

Upper

Len

Remote

Lower

Scale

Remote

Upper

Scale

Remote Bit

Data

Remote Data

Operators

Federated

Typename

Federated

Length

Federated

Scale

Federated

Bit

Data

BLOB - - - - - - BLOB - - -

CHAR 1 254 - - - - CHAR - 0 N

CHAR 1 254 - - Y - CHAR - 0 Y

CLOB - - - - - - CLOB - - -

DATE - - - - - - DATE - 0 -

DBAHW - - - - - - SMALLINT - 0 -

DBAINT - - - - - - INTEGER - 0 -

DBCLOB - - - - - - DBCLOB - - -

DECIMAL - - - - - - DECIMAL - - -

FLOAT 4 - - - - - REAL - - -

FLOAT 8 - - - - - DOUBLE - - -

GRAPHIC 1 127 - - - - GRAPHIC - 0 N

INTEGER - - - - - - INTEGER - - -

SMALLINT - - - - - - SMALLINT - - -

TIME - - - - - - TIME - 0 -

TIMESTAMP - - - - - - TIMESTAMP - 0 -

TIMESTMP - - - - - - TIMESTAMP - 0 -

VARCHAR 1 32672 - - - - VARCHAR - 0 N

VARCHAR 1 32672 - - Y - VARCHAR - 0 Y

VARGRAPHIC 1 16336 - - - - VARGRAPHIC - 0 N

VARGRAPH 1 16336 - - - - VARGRAPHIC - 0 N

DB2 for z/OS データ・ソース以下の表は、DB2 for z/OS データ・ソースのデフォルトの順方向データ・タイプ・マッピングをリストしています。

表 146. DB2 for z/OS のデフォルトの順方向データ・タイプ・マッピング (表示されていない列があります)

Remote

Typename

Remote

Lower

Len

Remote

Upper

Len

Remote

Lower

Scale

Remote

Upper

Scale

Remote

Bit

Data

Remote

Data

Operators

Federated

Typename

Federated

Length

Federated

Scale

Federated

Bit

Data

BLOB - - - - - - BLOB - - -

CHAR 1 254 - - - - CHAR - 0 N

CHAR 255 32672 - - - - VARCHAR - 0 N

CHAR 1 254 - - Y - CHAR - 0 Y

CHAR 255 32672 - - Y - VARCHAR - 0 Y

CLOB - - - - - - CLOB - - -

DATE - - - - - - DATE - 0 -

DBCLOB - - - - - - DBCLOB - - -

DECIMAL - - - - - - DECIMAL - - -

FLOAT 4 - - - - - REAL - - -

FLOAT 8 - - - - - DOUBLE - - -

GRAPHIC 1 127 - - - - GRAPHIC - 0 N

INTEGER - - - - - - INTEGER - 0 -

ROWID - - - - Y - VARCHAR 40 - Y

SMALLINT - - - - - - SMALLINT - 0 -

TIME - - - - - - TIME - 0 -

TIMESTAMP - - - - - - TIMESTAMP - 0 -

第 25 章 フェデレーテッド・システムとデータ・ソース・マッピング 535

Page 546: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 146. DB2 for z/OS のデフォルトの順方向データ・タイプ・マッピング (表示されていない列があります) (続き)

Remote

Typename

Remote

Lower

Len

Remote

Upper

Len

Remote

Lower

Scale

Remote

Upper

Scale

Remote

Bit

Data

Remote

Data

Operators

Federated

Typename

Federated

Length

Federated

Scale

Federated

Bit

Data

TIMESTMP - - - - - - TIMESTAMP - 0 -

VARCHAR 1 32672 - - - - VARCHAR - 0 N

VARCHAR 1 32672 - - Y - VARCHAR - 0 Y

VARG 1 16336 - - - - VARGRAPHIC - 0 N

VARGRAPHIC 1 16336 - - - - VARGRAPHIC - 0 N

Informix データ・ソース以下の表は、Informix データ・ソースのデフォルトの順方向データ・タイプ・マッピングをリストしています。

表 147. Informix のデフォルトの順方向データ・タイプ・マッピング (表示されていない列があります)

Remote

Typename

Remote

Lower

Len

Remote

Upper

Len

Remote

Lower

Scale

Remote

Upper

Scale

Remote

Bit

Data

Remote

Data

Operators

Federated

Typename

Federated

Length

Federated

Scale

Federated

Bit

Data

BLOB - - - - - - BLOB 2147483647 - -

BOOLEAN - - - - - - CHARACTER 1 - -

BYTE - - - - - - BLOB 2147483647 - -

CHAR 1 254 - - - - CHARACTER - - -

CHAR 255 32672 - - - - VARCHAR - - -

CLOB - - - - - - CLOB 2147483647 - -

DATE - - - - - - DATE 4 - -

DATETIME 0 4 0 4 - - DATE 4 - -

DATETIME 6 10 6 10 - - TIME 3 - -

DATETIME 0 4 6 15 - - TIMESTAMP 10 - -

DATETIME 6 10 11 15 - - TIMESTAMP 10 - -

DECIMAL 1 31 0 31 - - DECIMAL - - -

DECIMAL 32 130 - - - - DOUBLE 8 - -

FLOAT - - - - - - DOUBLE 8 - -

INTEGER - - - - - - INTEGER 4 - -

INTERVAL - - - - - - VARCHAR 25 - -

INT8 - - - - - - BIGINT 19 0 -

LVARCHAR 1 32672 - - - - VARCHAR - - -

MONEY 1 31 0 31 - - DECIMAL - - -

MONEY 32 32 - - - - DOUBLE 8 - -

NCHAR 1 254 - - - - CHARACTER - - -

NCHAR 255 32672 - - - - VARCHAR - - -

NVARCHAR 1 32672 - - - - VARCHAR - - -

REAL - - - - - - REAL 4 - -

SERIAL - - - - - - INTEGER 4 - -

SERIAL8 - - - - - - BIGINT - - -

SMALLFLOAT - - - - - - REAL 4 - -

SMALLINT - - - - - - SMALLINT 2 - -

TEXT - - - - - - CLOB 2147483647 - -

VARCHAR 1 32672 - - - - VARCHAR - - -

536 フェデレーテッド・データ・ソース 構成ガイド

Page 547: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 147. Informix のデフォルトの順方向データ・タイプ・マッピング (表示されていない列があります) (続き)

Remote

Typename

Remote

Lower

Len

Remote

Upper

Len

Remote

Lower

Scale

Remote

Upper

Scale

Remote

Bit

Data

Remote

Data

Operators

Federated

Typename

Federated

Length

Federated

Scale

Federated

Bit

Data

注:

v Informix DATETIME データ・タイプでは、DB2 UNIX and Windows フェデレーテッド・サーバーは、Informix 高水準修飾子を REMOTE_LENGTH

として、Informix 低水準修飾子を REMOTE_SCALE として使用します。

Informix 修飾子は、Informix Client SDK datatime.h ファイルに定義されている ″TU_″ 定数です。定数は次のとおりです。

0 = YEAR 8 = MINUTE 13 = FRACTION(3)

2 = MONTH 10 = SECOND 14 = FRACTION(4)

4 = DAY 11 = FRACTION(1) 15 = FRACTION(5)

6 = HOUR 12 = FRACTION(2)

Microsoft SQL Server データ・ソース以下の表は、Microsoft SQL Server データ・ソースのデフォルトの順方向データ・タイプ・マッピングをリストしています。

表 148. Microsoft SQL のデフォルトの順方向データ・タイプ・マッピングRemote

Typename

Remote

Lower

Len

Remote

Upper

Len

Remote

Lower

Scale

Remote

Upper

Scale

Remote

Bit

Data

Remote

Data

Operators

Federated

Typename

Federated

Length

Federated

Scale

Federated

Bit

Data

bigint 2 - - - - - - BIGINT - - -

binary 1 254 - - - - CHARACTER - - Y

binary 255 8000 - - - - VARCHAR - - Y

bit - - - - - - SMALLINT 2 - -

char 1 254 - - - - CHAR - - N

char 255 8000 - - - - VARCHAR - - N

datetime - - - - - - TIMESTAMP 10 - -

datetimen - - - - - - TIMESTAMP 10 - -

decimal 1 31 0 31 - - DECIMAL - - -

decimal 32 38 0 38 - - DOUBLE - - -

decimaln 1 31 0 31 - - DECIMAL - - -

decimaln 32 38 0 38 - - DOUBLE - - -

DUMMY2000 1 1 38 -84 127 - - DOUBLE - - -

float - 8 - - - - DOUBLE 8 - -

floatn - 8 - - - - DOUBLE 8 - -

float - 4 - - - - REAL 4 - -

floatn - 4 - - - - REAL 4 - -

image - - - - - - BLOB 2147483647 - Y

int - - - - - - INTEGER 4 - -

intn - - - - - - INTEGER 4 - -

money - - - - - - DECIMAL 19 4 -

moneyn - - - - - - DECIMAL 19 4 -

nchar 1 127 - - - - CHAR - - N

nchar 128 4000 - - - - VARCHAR - - N

numeric 1 31 0 31 - - DECIMAL - - -

numeric 32 38 0 38 - - DOUBLE 8 - -

numericn 32 38 0 38 - - DOUBLE - - -

numericn 1 31 0 31 - - DECIMAL - - -

ntext - - - - - - CLOB 2147483647 - Y

nvarchar 1 4000 - - - - VARCHAR - - N

第 25 章 フェデレーテッド・システムとデータ・ソース・マッピング 537

Page 548: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 148. Microsoft SQL のデフォルトの順方向データ・タイプ・マッピング (続き)

Remote

Typename

Remote

Lower

Len

Remote

Upper

Len

Remote

Lower

Scale

Remote

Upper

Scale

Remote

Bit

Data

Remote

Data

Operators

Federated

Typename

Federated

Length

Federated

Scale

Federated

Bit

Data

real - - - - - - REAL 4 - -

smallint - - - - - - SMALLINT 2 - -

smalldatetime - - - - - - TIMESTAMP 10 - -

smallmoney - - - - - - DECIMAL 10 4 -

smallmoneyn - - - - - - DECIMAL 10 4 -

SQL_BIGINT - - - - - - DECIMAL - - -

SQL_BIGINT 2 - - - - - - BIGINT - - -

SQL_BINARY 1 254 - - - - CHARACTER - - Y

SQL_BINARY 255 8000 - - - - VARCHAR - - Y

SQL_BIT - - - - - - SMALLINT 2 - -

SQL_CHAR 1 254 - - - - CHAR - - N

SQL_CHAR 255 8000 - - - - VARCHAR - - N

SQL_DATE - - - - - - DATE 4 - -

SQL_DECIMAL 1 31 0 31 - - DECIMAL - - -

SQL_DECIMAL 32 38 0 38 - - DOUBLE 8 - -

SQL_DECIMAL 32 32 0 31 - - DOUBLE 8 - -

SQL_DOUBLE - - - - - - DOUBLE 8 - -

SQL_FLOAT - - - - - - DOUBLE 8 - -

SQL_GUID 1 4000 - - Y - VARCHAR 16 - Y

SQL_INTEGER - - - - - - INTEGER 4 - -

SQL_LONGVARCHAR- - - - - - CLOB 2147483647 - N

SQL_LONGVARBINARY- - - - - - BLOB - - Y

SQL_NUMERIC 1 31 0 31 - - DECIMAL - - -

SQL_REAL - - - - - - DOUBLE 8 - -

SQL_SMALLINT - - - - - - SMALLINT 2 - -

SQL_TIME - - - - - - TIME 3 - -

SQL_TIMESTAMP- - - - - - TIMESTAMP 10 - -

SQL_TINYINT - - - - - - SMALLINT 2 - -

SQL_VARBINARY1 8000 - - - - VARCHAR - - Y

SQL_VARCHAR 1 8000 - - - - VARCHAR - - N

text - - - - - - CLOB - - N

timestamp - - - - - - VARCHAR 8 Y

tinyint - - - - - - SMALLINT 2 - -

uniqueidentifier 1 4000 - - Y - VARCHAR 16 - Y

varbinary 1 8000 - - - - VARCHAR - - Y

varchar 1 8000 - - - - VARCHAR - - N

注:

1. このタイプ・マッピングは Windows 2000 オペレーティング・システムでのみ有効です。

2. このタイプ・マッピングは Microsoft SQL Server バージョン 2000 でのみ有効です。

ODBC データ・ソース以下の表は、ODBC データ・ソースのデフォルトの順方向データ・タイプ・マッピングをリストしています。

538 フェデレーテッド・データ・ソース 構成ガイド

Page 549: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 149. ODBC のデフォルトの順方向データ・タイプ・マッピング (表示されていない列があります)

Remote Typename Remote

Lower

Len

Remote

Upper

Len

Remote

Lower

Scale

Remote

Upper

Scale

Remote

Bit

Data

Remote

Data

Operators

Federated

Typename

Federated

Length

Federated

Scale

Federated

Bit

Data

SQL_BIGINT - - - - - - BIGINT 8 - -

SQL_BINARY 1 254 - - - - CHARACTER - - Y

SQL_BINARY 255 32672 - - - - VARCHAR - - Y

SQL_BIT - - - - - - SMALLINT 2 - -

SQL_CHAR 1 254 - - - - CHAR - - N

SQL_CHAR 255 32672 - - - - VARCHAR - - N

SQL_DECIMAL 1 31 0 31 - - DECIMAL - - -

SQL_DECIMAL 32 38 0 38 - - DOUBLE 8 - -

SQL_DOUBLE - - - - - - DOUBLE 8 - -

SQL_FLOAT - - - - - - DOUBLE 8 - -

SQL_INTEGER - - - - - - INTEGER 4 - -

SQL_LONGVARCHAR - - - - - - CLOB 2147483647 - N

SQL_LONGVARBINARY - - - - - - BLOB - - Y

SQL_NUMERIC 1 31 0 31 - - DECIMAL - - -

SQL_NUMERIC 32 32 0 31 - - DOUBLE 8 - -

SQL_REAL - - - - - - REAL 4 - -

SQL_SMALLINT - - - - - - SMALLINT 2 - -

SQL_TYPE_DATE - - - - - - DATE 4 - -

SQL_TYPE_TIME - - - - - - TIME 3 - -

SQL_TYPE_TIMESTAMP - - - - - - TIMESTAMP 10 - -

SQL_TINYINT - - - - - - SMALLINT 2 - -

SQL_VARBINARY 1 32672 - - - - VARCHAR - - Y

SQL_VARCHAR 1 32672 - - - - VARCHAR - - N

SQL_WCHAR 1 127 - - - - CHAR - - N

SQL_WCHAR 128 16336 - - - - VARCHAR - - N

SQL_WVARCHAR 1 16336 - - - - VARCHAR - - N

SQL_WLONGVARCHAR - 1073741823 - - - - CLOB 2147483647 - N

Oracle NET8 データ・ソース以下の表は、Oracle NET8 データ・ソースのデフォルトの順方向データ・タイプ・マッピングをリストしています。

表 150. Oracle NET8 のデフォルトの順方向データ・タイプ・マッピングRemote

Typename

Remote

Lower

Len

Remote

Upper

Len

Remote

Lower

Scale

Remote

Upper

Scale

Remote

Bit

Data

Remote

Data

Operators

Federated

Typename

Federated

Length

Federated

Scale

Federated

Bit

Data

BLOB 0 0 0 0 - ¥0 BLOB 2147483647 0 Y

CHAR 1 254 0 0 - ¥0 CHAR 0 0 N

CHAR 255 2000 0 0 - ¥0 VARCHAR 0 0 N

CLOB 0 0 0 0 - ¥0 CLOB 2147483647 0 N

DATE 0 0 0 0 - ¥0 TIMESTAMP 0 0 N

FLOAT 1 126 0 0 - ¥0 DOUBLE 0 0 N

LONG 0 0 0 0 - ¥0 CLOB 2147483647 0 N

LONG RAW 0 0 0 0 - ¥0 BLOB 2147483647 0 Y

NUMBER 10 18 0 0 - ¥0 BIGINT 0 0 N

NUMBER 1 38 -84 127 - ¥0 DOUBLE 0 0 N

NUMBER 1 31 0 31 - >= DECIMAL 0 0 N

NUMBER 1 4 0 0 - ¥0 SMALLINT 0 0 N

第 25 章 フェデレーテッド・システムとデータ・ソース・マッピング 539

Page 550: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 150. Oracle NET8 のデフォルトの順方向データ・タイプ・マッピング (続き)

Remote

Typename

Remote

Lower

Len

Remote

Upper

Len

Remote

Lower

Scale

Remote

Upper

Scale

Remote

Bit

Data

Remote

Data

Operators

Federated

Typename

Federated

Length

Federated

Scale

Federated

Bit

Data

NUMBER 5 9 0 0 - ¥0 INTEGER 0 0 N

NUMBER - 10 0 0 - ¥0 DECIMAL 0 0 N

RAW 1 2000 0 0 - ¥0 VARCHAR 0 0 Y

ROWID 0 0 0 NULL - ¥0 CHAR 18 0 N

TIMESTAMP 1 - - - - - - TIMESTAMP 10 - -

VARCHAR2 1 4000 0 0 - ¥0 VARCHAR 0 0 N

注:

1. このタイプ・マッピングは、 Oracle 9i (またはそれ以降) のクライアントおよびサーバー構成でのみ有効です。

Sybase データ・ソース以下の表は、Sybase データ・ソースのデフォルトの順方向データ・タイプ・マッピングをリストしています。

表 151. Sybase CTLIB のデフォルトの順方向データ・タイプ・マッピングRemote

Typename

Remote

Lower

Len

Remote

Upper

Len

Remote

Lower

Scale

Remote

Upper

Scale

Remote Bit

Data

Remote

Data

Operators

Federated

Typename

Federated

Length

Federated

Scale

Federated

Bit

Data

binary 1 254 - - - - CHAR - - Y

binary 255 16384 - - - - VARCHAR - - Y

bit - - - - - - SMALLINT - - -

char 1 254 - - - - CHAR - - N

char 255 16384 - - - - VARCHAR - - N

char null

(varchar を参照)

datetime - - - - - - TIMESTAMP - - -

datetimn - - - - - - TIMESTAMP - - -

decimal 1 31 0 31 - - DECIMAL - - -

decimal 32 38 0 38 - - DOUBLE - - -

decimaln 1 31 0 31 - - DECIMAL - - -

decimaln 32 38 0 38 - - DOUBLE - - -

float - 4 - - - - REAL - - -

float - 8 - - - - DOUBLE - - -

floatn - 4 - - - - REAL - - -

floatn - 8 - - - - DOUBLE - - -

image - - - - - - BLOB - - -

int - - - - - - INTEGER - - -

intn - - - - - - INTEGER - - -

money - - - - - - DECIMAL 19 4 -

moneyn - - - - - - DECIMAL 19 4 -

nchar 1 254 - - - - CHAR - - N

nchar 255 16384 - - - - VARCHAR - - N

nchar null

(nvarchar を参照)

numeric 1 31 0 31 - - DECIMAL - - -

numeric 32 38 0 38 - - DOUBLE - - -

numericn 1 31 0 31 - - DECIMAL - - -

numericn 32 38 0 38 - - DOUBLE - - -

540 フェデレーテッド・データ・ソース 構成ガイド

Page 551: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 151. Sybase CTLIB のデフォルトの順方向データ・タイプ・マッピング (続き)

Remote

Typename

Remote

Lower

Len

Remote

Upper

Len

Remote

Lower

Scale

Remote

Upper

Scale

Remote Bit

Data

Remote

Data

Operators

Federated

Typename

Federated

Length

Federated

Scale

Federated

Bit

Data

nvarchar 1 16384 - - - - VARCHAR - - N

real - - - - - - REAL - - -

smalldatetime - - - - - - TIMESTAMP - - -

smallint - - - - - - SMALLINT - - -

smallmoney - - - - - - DECIMAL 10 4 -

sysname 1 254 - - - - CHAR - - N

text - - - - - - CLOB - - -

timestamp - - - - - - VARCHAR 8 - Y

tinyint - - - - - - SMALLINT - - -

unichar1 1 254 - - - - CHAR - - N

unichar1 255 16384 - - - - VARCHAR - - N

unichar null

(univarchar を参照)

univarchar1 1 16384 - - - - VARCHAR - - N

varbinary 1 16384 - - - - VARCHAR - - Y

varchar 1 16384 - - - - VARCHAR - - N

注:

1. 非 Unicode のフェデレーテッド・データベースで有効。

Teradata データ・ソース以下の表は、Teradata データ・ソースのデフォルトの順方向データ・タイプ・マッピングをリストしています。

表 152. Teradata のデフォルトの順方向データ・タイプ・マッピング (表示されていない列があります)

Remote

Typename

Remote

Lower

Len

Remote

Upper

Len

Remote

Lower

Scale

Remote

Upper

Scale

Remote

Bit

Data

Remote Data

Operators

Federated

Typename

Federated

Length

Federated

Scale

Federated

Bit

Data

BYTE 1 254 - - - - CHAR - - Y

BYTE 255 32672 - - - - VARCHAR - - Y

BYTE 32673 64000 - - - - BLOB - - -

BYTEINT - - - - - - SMALLINT - - -

CHAR 1 254 - - - - CHARACTER - - -

CHAR 255 32672 - - - - VARCHAR - - -

CHAR 32673 64000 - - - - CLOB - - -

DATE - - - - - - DATE - - -

DECIMAL 1 18 0 18 - - DECIMAL - - -

DOUBLE

PRECISION- - - - - - DOUBLE - - -

FLOAT - - - - - - DOUBLE - - -

GRAPHIC 1 127 - - - - GRAPHIC - - -

GRAPHIC 128 16336 - - - - VARGRAPHIC - - -

GRAPHIC 16337 32000 - - - - DBCLOB - - -

INTEGER - - - - - - INTEGER - - -

INTERVAL - - - - - - CHAR - - -

NUMERIC 1 18 0 18 - - DECIMAL - - -

REAL - - - - - - DOUBLE - - -

SMALLINT - - - - - - SMALLINT - - -

TIMESTAMP - - - - - - TIMESTAMP - - -

第 25 章 フェデレーテッド・システムとデータ・ソース・マッピング 541

Page 552: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 152. Teradata のデフォルトの順方向データ・タイプ・マッピング (表示されていない列があります) (続き)

Remote

Typename

Remote

Lower

Len

Remote

Upper

Len

Remote

Lower

Scale

Remote

Upper

Scale

Remote

Bit

Data

Remote Data

Operators

Federated

Typename

Federated

Length

Federated

Scale

Federated

Bit

Data

VARBYTE 1 32762 - - - - VARCHAR - - Y

VARBYTE 32763 64000 - - - - BLOB - - -

VARCHAR 1 32672 - - - - VARCHAR - - -

VARCHAR 32673 64000 - - - - CLOB - - -

VARGRAPHIC 1 16336 - - - - VARGRAPHIC - - -

VARGRAPHIC 16337 32000 - - - - DBCLOB - - -

デフォルトの逆方向データ・タイプ・マッピングほとんどのデータ・ソースの場合、ラッパー内にデフォルトのタイプ・マッピングがあります。

データ・ソースのデータ・タイプとフェデレーテッド・データベースのデータ・タイプの間のマッピングには、順方向タイプのマッピングと逆方向タイプのマッピングの 2 種類があります。順方向タイプ・マッピング では、リモートのタイプから対応するローカル・タイプへのマッピングとなります。マッピングのもう一方のタイプは逆方向タイプ・マッピング であり、これはリモートの表を作成または変更するために、透過 DDL で使用されます。

DB2 ファミリーのデータ・ソース用のデフォルトのタイプ・マッピングは、 DRDA

ラッパーにあります。 Informix 用のデフォルトのタイプ・マッピングはINFORMIX ラッパーなどにあります。

フェデレーテッド・データベースにリモートの表またはビューを定義する際、その定義には、逆方向タイプ・マッピングが含まれます。このマッピングには、それぞれの列のローカル のフェデレーテッド・データベースのデータ・タイプからのもの、および対応するリモート・データ・タイプのものがあります。たとえば、ローカル・タイプ REAL が Informix タイプ SMALLFLOAT を指す、デフォルトの逆方向タイプ・マッピングがあります。

フェデレーテッド・データベースは、LONG VARCHAR、LONG VARGRAPHIC、DATALINK、およびユーザー定義タイプのマッピングをサポートしません。

CREATE TABLE ステートメントを使用してリモート表を作成する時に、リモート表に含めたいローカル・データ・タイプを指定します。これらのデフォルトの逆方向タイプ・マッピングは、これらの列に対応するリモート・タイプを割り当てます。たとえば、CREATE TABLE ステートメントを使用して、列 C2 を持つInformix の表を定義するとします。ステートメント内で C2 のデータ・タイプとして BIGINT を指定します。 BIGINT のデフォルトの逆方向タイプ・マッピングは、どのバージョンの Informix で表を作成しているかにより異なります。 Informix バージョン 8 では Informix 表の C2 のマッピングは DECIMAL となり、 Informix

バージョン 9 では INT8 になります。

デフォルトの逆方向タイプ・マッピングをオーバーライドすることも、 CREATE

TYPE MAPPING ステートメントを使用して新しい逆方向タイプ・マッピングを作成することもできます。

542 フェデレーテッド・データ・ソース 構成ガイド

Page 553: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

次の表は、フェデレーテッド・データベースのローカル・データ・タイプとリモート・データ・ソースのデータ・タイプの間のデフォルトの逆方向マッピングを示しています。

これらのマッピングは、特に記述のないかぎり、サポート対象のすべてのバージョンで有効です。

DB2 Database for Linux, UNIX, and Windows データ・ソース以下の表は、DB2 Database for Linux, UNIX, and Windows データ・ソースのデフォルトの逆方向データ・タイプ・マッピングをリストしています。

表 153. DB2 Database for Linux, UNIX, and Windows のデフォルトの逆方向データ・タイプ・マッピング (表示されていない列があります)

Federated

Typename

Federated

Lower

Len

Federated

Upper

Len

Federated

Lower

Scale

Federated

Upper

Scale

Federated

Bit

Data

Federated

Data

Operators

Remote

Typename

Remote

Length

Remote

Scale

Federated

Bit

Data

BIGINT - 8 - - - - BIGINT - - -

BLOB - - - - - - BLOB - - -

CHARACTER - - - - - - CHAR - - N

CHARACTER - - - - Y - CHAR - - Y

CLOB - - - - - - CLOB - - -

DATE - 4 - - - - DATE - - -

DBCLOB - - - - - - DBCLOB - - -

DECIMAL - - - - - - DECIMAL - - -

DOUBLE - 8 - - - - DOUBLE - - -

FLOAT - 8 - - - - DOUBLE - - -

GRAPHIC - - - - - - GRAPHIC - - N

INTEGER - 4 - - - - INTEGER - - -

REAL - - - - - - REAL - - -

SMALLINT - 2 - - - - SMALLINT - - -

TIME - 3 - - - - TIME - - -

TIMESTAMP - 10 - - - - TIMESTAMP - - -

VARCHAR - - - - - - VARCHAR - - N

VARCHAR - - - - Y - VARCHAR - - Y

VARGRAPH - - - - - - VARGRAPHIC - - N

VARGRAPHIC - - - - - - VARGRAPHIC - - -

DB2 for iSeries データ・ソース以下の表は、DB2 for iSeries データ・ソースのデフォルトの逆方向データ・タイプ・マッピングをリストしています。

表 154. DB2 for iSeries のデフォルトの逆方向データ・タイプ・マッピング (表示されていない列があります)

Federated

Typename

Federated

Lower

Len

Federated

Upper

Len

Federated

Lower

Scale

Federated

Upper

Scale

Federated

Bit

Data

Federated

Data

Operations

Remote

Typename

Remote

Length

Remote

Scale

Remote

Bit

Data

BLOB - - - - - - BLOB - - -

CHARACTER - - - - - - CHARACTER - - N

CHARACTER - - - - Y - CHARACTER - - Y

CLOB - - - - - - CLOB - - -

DATE - 4 - - - - DATE - - -

DBCLOB - - - - - - DBCLOB - - -

DECIMAL - - - - - - NUMERIC - - -

第 25 章 フェデレーテッド・システムとデータ・ソース・マッピング 543

Page 554: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 154. DB2 for iSeries のデフォルトの逆方向データ・タイプ・マッピング (表示されていない列があります) (続き)

Federated

Typename

Federated

Lower

Len

Federated

Upper

Len

Federated

Lower

Scale

Federated

Upper

Scale

Federated

Bit

Data

Federated

Data

Operations

Remote

Typename

Remote

Length

Remote

Scale

Remote

Bit

Data

DECIMAL - - - - - - DECIMAL - - -

DOUBLE - 8 - - - - FLOAT - - -

GRAPHIC - - - - - - GRAPHIC - - N

INTEGER - 4 - - - - INTEGER - - -

REAL - 4 - - - - FLOAT - - -

SMALLINT - 2 - - - - SMALLINT - - -

TIME - 3 - - - - TIME - - -

TIMESTAMP - 10 - - - - TIMESTAMP - - -

VARCHAR - - - - - - VARCHAR - - N

VARCHAR - - - - Y - VARCHAR - - Y

VARGRAPHIC - - - - - - VARG - - N

DB2 for VM and VSE データ・ソース以下の表は、DB2 for VM and VSE データ・ソースのデフォルトの逆方向データ・タイプ・マッピングをリストしています。

表 155. DB2 for VM and VSE のデフォルトの逆方向データ・タイプ・マッピング (表示されていない列があります)

Federated

Typename

Federated

Lower

Len

Federated

Upper

Len

Federated

Lower

Scale

Federated

Upper

Scale

Federated

Bit

Data

Federated

Data

Operators

Remote

Typename

Remote

Length

Remote

Scale

Remote

Bit

Data

BLOB - - - - - - BLOB - - -

CHARACTER - - - - - - CHAR - - -

CHARACTER - - - - Y - CHAR - - Y

CLOB - - - - - - CLOB - - -

DATE - 4 - - - - DATE - - -

DBCLOB - - - - - - DBCLOB - - -

DECIMAL - - - - - - DECIMAL - - -

DOUBLE - 8 - - - - FLOAT - - -

GRAPHIC - - - - - - GRAPHIC - - N

INTEGER - 4 - - - - INTEGER - - -

REAL - 4 - - - - REAL - - -

SMALLINT - 2 - - - - SMALLINT - - -

TIME - 3 - - - - TIME - - -

TIMESTAMP - 10 - - - - TIMESTAMP - - -

VARCHAR - - - - - - VARCHAR - - -

VARCHAR - - - - Y - VARCHAR - - Y

VARGRAPH - - - - - - VARGRAPH - - N

DB2 for z/OS データ・ソース以下の表は、DB2 for z/OS データ・ソースのデフォルトの逆方向データ・タイプ・マッピングをリストしています。

表 156. DB2 for z/OS のデフォルトの逆方向データ・タイプ・マッピング (表示されていない列があります)

Federated

Typename

Federated

Lower

Len

Federated

Upper

Len

Federated

Lower

Scale

Federated

Upper

Scale

Federated

Bit

Data

Federated

Data

Operators

Remote

Typename

Remote

Length

Remote

Scale

Remote

Bit

Data

BLOB - - - - - - BLOB - - -

544 フェデレーテッド・データ・ソース 構成ガイド

Page 555: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 156. DB2 for z/OS のデフォルトの逆方向データ・タイプ・マッピング (表示されていない列があります) (続き)

Federated

Typename

Federated

Lower

Len

Federated

Upper

Len

Federated

Lower

Scale

Federated

Upper

Scale

Federated

Bit

Data

Federated

Data

Operators

Remote

Typename

Remote

Length

Remote

Scale

Remote

Bit

Data

CHARACTER - - - - - - CHAR - - N

CHARACTER - - - - Y - CHAR - - Y

CLOB - - - - - - CLOB - - -

DATE - 4 - - - - DATE - - -

DBCLOB - - - - - - DBCLOB - - -

DECIMAL - - - - - - DECIMAL - - -

DOUBLE - 8 - - - - DOUBLE - - –

FLOAT - 8 - - - - DOUBLE - - -

GRAPHIC - - - - - - GRAPHIC - - N

INTEGER - 4 - - - - INTEGER - - -

REAL - 4 - - - - REAL - - -

SMALLINT - 2 - - - - SMALLINT - - -

TIME - 3 - - - - TIME - - -

TIMESTAMP - 10 - - - - TIMESTAMP - - -

VARCHAR - - - - - - VARCHAR - - N

VARCHAR - - - - Y - VARCHAR - - Y

VARGRAPHIC - - - - - - VARGRAPHIC - - N

Informix データ・ソース以下の表は、Informix データ・ソースのデフォルトの逆方向データ・タイプ・マッピングをリストしています。

表 157. Informix のデフォルトの逆方向データ・タイプ・マッピングFederated

Typename

Federated

Lower

Len

Federated

Upper

Len

Federated

Lower

Scale

Federated

Upper

Scale

Federated

Bit

Data

Federated

Data

Operators

Remote

Typename

Remote

Length

Remote

Scale

Remote

Bit

Data

BIGINT 1 - - - - - - DECIMAL 19 - -

BIGINT 2 - - - - - - INT8 - - -

BLOB 1 2147483647 - - - - BYTE - - -

CHARACTER - - - - N - CHAR - - -

CHARACTER - - - - Y - BYTE - - -

CLOB 1 2147483647 - - - - TEXT - - -

DATE - 4 - - - - DATE - - -

DECIMAL - - - - - - DECIMAL - - -

DOUBLE - 8 - - - - FLOAT - - -

INTEGER - 4 - - - - INTEGER - - -

REAL - 4 - - - - SMALLFLOAT - - -

SMALLINT - 2 - - - - SMALLINT - - -

TIME - 3 - - - - DATETIME 6 10 -

TIMESTAMP - 10 - - - - DATETIME 0 15 -

VARCHAR 1 254 - - N - VARCHAR - - -

VARCHAR1 255 32672 - - N - TEXT - - -

VARCHAR - - - - Y - BYTE - - -

VARCHAR 2 255 2048 - - N - LVARCHAR - - -

VARCHAR 2 2049 32672 - - N - TEXT - - -

第 25 章 フェデレーテッド・システムとデータ・ソース・マッピング 545

Page 556: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 157. Informix のデフォルトの逆方向データ・タイプ・マッピング (続き)

Federated

Typename

Federated

Lower

Len

Federated

Upper

Len

Federated

Lower

Scale

Federated

Upper

Scale

Federated

Bit

Data

Federated

Data

Operators

Remote

Typename

Remote

Length

Remote

Scale

Remote

Bit

Data

注:

1. このタイプ・マッピングは Informix サーバーのバージョン 8 以下でのみ有効。

2. このタイプ・マッピングは Informix サーバーのバージョン 9 以上でのみ有効。

Informix DATETIME データ・タイプでは、フェデレーテッド・サーバーは、Informix 高水準修飾子をREMOTE_LENGTH として、Informix 低水準修飾子を REMOTE_SCALE として使用します。

Informix 修飾子は、Informix Client SDK

datatime.h ファイルに定義されている ″TU_″ 定数です。定数は次のとおりです。

0 = YEAR 8 = MINUTE 13 = FRACTION(3)

2 = MONTH 10 = SECOND 14 = FRACTION(4)

4 = DAY 11 = FRACTION(1) 15 = FRACTION(5)

6 = HOUR 12 = FRACTION(2)

Microsoft SQL Server データ・ソース以下の表は、Microsoft SQL Server データ・ソースのデフォルトの逆方向データ・タイプ・マッピングをリストしています。

表 158. Microsoft SQL Server のデフォルトの逆方向データ・タイプ・マッピング (表示されていない列があります)

Federated

Typename

Federated

Lower

Len

Federated

Upper

Len

Federated

Lower

Scale

Federated

Upper

Scale

Federated

Bit

Data

Federated

Data

Operators

Remote

Typename

Remote

Length

Remote

Scale

Remote

Bit

Data

BIGINT 1 - - - - - - bigint - - -

BLOB - - - - - - image - - -

CHARACTER - - - - Y - binary - - -

CHARACTER - - - - N - char - - -

CLOB - - - - - - text - - -

DATE - 4 - - - - datetime - - -

DECIMAL - - - - - - decimal - - -

DOUBLE - 8 - - - - float - - -

INTEGER - - - - - - int - - -

SMALLINT - - - - - - smallint - - -

REAL - 4 - - - - real - - -

TIME - 3 - - - - datetime - - -

TIMESTAMP - 10 - - - - datetime - - -

VARCHAR 1 8000 - - N - varchar - - -

546 フェデレーテッド・データ・ソース 構成ガイド

Page 557: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 158. Microsoft SQL Server のデフォルトの逆方向データ・タイプ・マッピング (表示されていない列があります) (続き)

Federated

Typename

Federated

Lower

Len

Federated

Upper

Len

Federated

Lower

Scale

Federated

Upper

Scale

Federated

Bit

Data

Federated

Data

Operators

Remote

Typename

Remote

Length

Remote

Scale

Remote

Bit

Data

VARCHAR 8001 32672 - - N - text - - -

VARCHAR 1 8000 - - Y - varbinary - - -

VARCHAR 8001 32672 - - Y - image - - -

注:

1. このタイプ・マッピングは Microsoft SQL

Server バージョン2000 でのみ有効です。

Oracle NET8 データ・ソース以下の表は、 Oracle NET8 データ・ソースのデフォルトの逆方向データ・タイプ・マッピングをリストしています。

表 159. Oracle NET8 のデフォルトの逆方向データ・タイプ・マッピングFederated

Typename

Federated

Lower

Len

Federated

Upper

Len

Federated

Lower

Scale

Federated

Upper

Scale

Federated

Bit

Data

Federated

Data

Operators

Remote

Typename

Remote

Length

Remote

Scale

Remote

Bit

Data

BIGINT 0 8 0 0 N ¥0 NUMBER 19 0 N

BLOB 0 2147483647 0 0 Y ¥0 BLOB 0 0 Y

CHARACTER 1 254 0 0 N ¥0 CHAR 0 0 N

CHARACTER 1 254 0 0 Y ¥0 RAW 0 0 Y

CLOB 0 2147483647 0 0 N ¥0 CLOB 0 0 N

DATE 0 4 0 0 N ¥0 DATE 0 0 N

DECIMAL 0 0 0 0 N ¥0 NUMBER 0 0 N

DOUBLE 0 8 0 0 N ¥0 FLOAT 126 0 N

FLOAT 0 8 0 0 N ¥0 FLOAT 126 0 N

INTEGER 0 4 0 0 N ¥0 NUMBER 10 0 N

REAL 0 4 0 0 N ¥0 FLOAT 63 0 N

SMALLINT 0 2 0 0 N ¥0 NUMBER 5 0 N

TIME 0 3 0 0 N ¥0 DATE 0 0 N

TIMESTAMP 1 0 10 0 0 N ¥0 DATE 0 0 N

TIMESTAMP 2 0 10 0 0 N ¥0 TIMESTAMP 6 0 N

VARCHAR 1 4000 0 0 N ¥0 VARCHAR2 0 0 N

VARCHAR 1 2000 0 0 Y ¥0 RAW 0 0 Y

注:

1. このタイプ・マッピングは Oracle バージョン 8 でのみ有効です。

2. このタイプ・マッピングは Oracle バージョン 9 およびバージョン10 でのみ有効です。

Sybase データ・ソース以下の表は、Sybase データ・ソースのデフォルトの逆方向データ・タイプ・マッピングをリストしています。

第 25 章 フェデレーテッド・システムとデータ・ソース・マッピング 547

Page 558: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 160. Sybase CTLIB のデフォルトの逆方向データ・タイプ・マッピングFederated

Typename

Federated

Lower

Len

Federated

Upper

Len

Federated

Lower

Scale

Federated

Upper

Scale

Federated

Bit

Data

Federated

Data

Operators

Remote

Typename

Remote

Length

Remote

Scale

Remote

Bit

Data

BIGINT - - - - - - decimal 19 0 -

BLOB - - - - - - image - - -

CHARACTER - - - - N - char - - -

CHARACTER - - - - Y - binary - - -

CLOB - - - - - - text - - -

DATE - - - - - - datetime - - -

DECIMAL - - - - - - decimal - - -

DOUBLE - - - - - - float - - -

INTEGER - - - - - - integer - - -

REAL - - - - - - real - - -

SMALLINT - - - - - - smallint - - -

TIME - - - - - - datetime - - -

TIMESTAMP - - - - - - datetime - - -

VARCHAR1 1 255 - - N - varchar - - -

VARCHAR1 256 32672 - - N - text - - -

VARCHAR 2 1 16384 - - N - varchar - - -

VARCHAR 2 16385 32672 - - N - text - - -

VARCHAR1 1 255 - - Y - varbinary - - -

VARCHAR1 256 32672 - - Y - image - - -

VARCHAR 2 1 16384 - - Y - varbinary - - -

VARCHAR 2 16385 32672 - - Y - image - - -

注:

1. このタイプ・マッピングは、Sybase サーバーのバージョン 12.0 またはそれ以前で CTLIB

を使用する場合にのみ有効です。

2. このタイプ・マッピングは、Sybase サーバーのバージョン 12.5 またはそれ以降で CTLIB

を使用する場合にのみ有効です。

Teradata データ・ソース以下の表は、Teradata データ・ソースのデフォルトの逆方向データ・タイプ・マッピングをリストしています。

表 161. Teradata のデフォルトの逆方向データ・タイプ・マッピング (表示されていない列があります)

Federated

Typename

Federated

Lower

Len

Federated

Upper

Len

Federated

Lower

Scale

Federated

Upper

Scale

Federated

Bit

Data

Federated

Data

Operators

Remote

Typename

Remote

Length

Remote

Scale

Remote

Bit

Data

BLOB 1 1 64000 - - - - VARBYTE - - -

CHARACTER - - - - - - CHARACTER - - -

CHARACTER - - - - Y - BYTE - - -

CLOB 2 1 64000 - - - VARCHAR - - -

DATE - - - - - - DATE - - -

DBCLOB 3 1 32000 - - - - VARGRAPHIC - - -

548 フェデレーテッド・データ・ソース 構成ガイド

Page 559: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 161. Teradata のデフォルトの逆方向データ・タイプ・マッピング (表示されていない列があります) (続き)

Federated

Typename

Federated

Lower

Len

Federated

Upper

Len

Federated

Lower

Scale

Federated

Upper

Scale

Federated

Bit

Data

Federated

Data

Operators

Remote

Typename

Remote

Length

Remote

Scale

Remote

Bit

Data

DECIMAL 1 18 0 18 - - DECIMAL - - -

DECIMAL 19 31 0 31 - - FLOAT - - -

DOUBLE - - - - - - FLOAT - - -

GRAPHIC - - - - - - GRAPHIC - - -

INTEGER - - - - - - INTEGER - - -

REAL - - - - - - FLOAT - - -

SMALLINT - - - - - - SMALLINT - - -

TIME - - - - - - TIME - - -

TIMESTAMP - - - - - - TIMESTAMP - - -

VARCHAR - - - - - - VARCHAR - - -

VARCHAR - - - - Y - VARBYTE - - -

VARGRAPHIC - - - - - - VARGRAPHIC - - -

注:

1. Teradata VARBYTE データ・タイプには、指定した長さ (1 から 64000) の BLOB データ・タイプのみ含めることができます。

2. Teradata VARCHAR データ・タイプには、指定した長さ (1 から 64000) の CLOB データ・タイプのみ含めることができます。

3. Teradata VARGRAPHIC データ・タイプには、指定した長さ (1 から 32000) の DBCLOB データ・タイプのみ含めることができます。

Unicode のデフォルト・データ・タイプ・マッピング

Unicode のデフォルトの順方向データ・タイプ・マッピング -Microsoft SQL Server ラッパー

次の表には、フェデレーテッド・データベースが Unicode データベースである場合の、 Microsoft SQL Server ラッパーのデフォルトの順方向データ・タイプ・マッピングをリストしています。

表 162. Microsoft SQL Server ラッパーの Unicode のデフォルトの順方向データ・タイプ・マッピング

UTF-8 Microsoft SQL Server

データ・タイプ データ・タイプ 長さ

CHAR CHAR 1 ~ 254 バイト

VARCHAR CHAR 255 ~ 8000 バイト

VARCHAR 1 ~ 8000 バイト

CLOB TEXT -

GRAPHIC NCHAR 1 ~ 127 文字

VARGRAPHIC NCHAR 128 ~ 16336 文字

NVARCHAR 1 ~ 16336 文字

DBCLOB NTEXT -

第 25 章 フェデレーテッド・システムとデータ・ソース・マッピング 549

Page 560: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Unicode のデフォルトの逆方向データ・タイプ・マッピング -Microsoft SQL Server ラッパー

次の表には、フェデレーテッド・データベースが Unicode データベースである場合の、 Microsoft SQL Server ラッパーのデフォルトの逆方向データ・タイプ・マッピングをリストしています。

表 163. Microsoft SQL Server ラッパーの Unicode のデフォルトの逆方向データ・タイプ・マッピング

UTF-8 Microsoft SQL Server

データ・タイプ 長さ データ・タイプ

CHAR 1 ~ 254 バイト CHAR

VARCHAR 1 ~ 32672 バイト VARCHAR

CLOB 1 ~ 2 147 483 647 バイト TEXT

GRAPHIC 1 ~ 127 文字 NCHAR

VARGRAPHIC 1 ~ 16336 文字 NVARCHAR

DBCLOB 1 ~ 1 073 741 823 文字 NTEXT

Unicode のデフォルトの順方向データ・タイプ・マッピング -NET8 ラッパー

次の表には、フェデレーテッド・データベースが Unicode データベースである場合の、 NET8 ラッパーのデフォルトの順方向データ・タイプ・マッピングをリストしています。

表 164. NET8 ラッパーの Unicode のデフォルトの順方向データ・タイプ・マッピング

UTF-8 Oracle

データ・タイプ データ・タイプ 長さ

CHAR CHAR 1 ~ 254 バイト

VARCHAR CHAR 255 ~ 2000 バイト

VARCHAR2 1 ~ 4000 バイト

DBCLOB NCLOB

GRAPHIC NCHAR 1 ~ 127 文字

VARGRAPHIC NCHAR 128 ~ 1000 文字

NVARCHAR2 1 ~ 2000 文字

Unicode のデフォルトの逆方向データ・タイプ・マッピング -NET8 ラッパー

次の表には、フェデレーテッド・データベースが Unicode データベースである場合の、 NET8 ラッパーのデフォルトの逆方向データ・タイプ・マッピングをリストしています。

550 フェデレーテッド・データ・ソース 構成ガイド

Page 561: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 165. NET8 ラッパーの Unicode のデフォルトの逆方向データ・タイプ・マッピング

UTF-8 Oracle

データ・タイプ 長さ データ・タイプ

CHAR 1 ~ 254 バイト CHAR

VARCHAR 1 ~ 4000 バイト VARCHAR2

CLOB 1 ~ 2 147 483 647 バイト CLOB

GRAPHIC 1 ~ 127 文字 NCHAR

VARGRAPHIC 1 ~ 2000 文字 NVARCHAR2

DBCLOB 1 ~ 1 073 741 823 文字 NCLOB

Unicode のデフォルトの順方向データ・タイプ・マッピング -ODBC ラッパー

次の表には、フェデレーテッド・データベースが Unicode データベースである場合の、 ODBC ラッパーのデフォルトの順方向データ・タイプ・マッピングをリストしています。

表 166. ODBC ラッパーの Unicode のデフォルトの順方向データ・タイプ・マッピング

UTF-8 ODBC

データ・タイプ データ・タイプ 長さ

CHAR SQL_CHAR 1 ~ 254 バイト

VARCHAR SQL_CHAR 255 ~ 32672 バイト

SQL_VARCHAR 1 ~ 32672 バイト

CLOB SQL_LONGVARCHAR -

GRAPHIC SQL_WCHAR 1 ~ 127 文字

VARGRAPHIC SQL_WVARCHAR 128 ~ 16336 文字

SQL_WVARCHAR 1 ~ 16336 文字

DBCLOB SQL_WLONGVARCHAR -

Unicode のデフォルトの逆方向データ・タイプ・マッピング -ODBC ラッパー

次の表には、フェデレーテッド・データベースが Unicode データベースである場合の、 ODBC ラッパーのデフォルトの逆方向データ・タイプ・マッピングをリストしています。

表 167. ODBC ラッパーの Unicode のデフォルトの逆方向データ・タイプ・マッピング

UTF-8 ODBC

データ・タイプ 長さ データ・タイプ

CHAR 1 ~ 254 バイト SQL_CHAR

VARCHAR 1 ~ 32672 バイト SQL_VARCHAR

CLOB 1 ~ 2 147 483 647 バイト SQL_LONGVARCHAR

GRAPHIC 1 ~ 127 文字 SQL_WCHAR

VARGRAPHIC 1 ~ 16336 文字 SQL_WVARCHAR

第 25 章 フェデレーテッド・システムとデータ・ソース・マッピング 551

Page 562: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 167. ODBC ラッパーの Unicode のデフォルトの逆方向データ・タイプ・マッピング (続き)

UTF-8 ODBC

データ・タイプ 長さ データ・タイプ

DBCLOB 1 ~ 1 073 741 823 文字 SQL_WLONGVARCHAR

Unicode のデフォルトの順方向データ・タイプ・マッピング -Sybase ラッパー

次の表には、フェデレーテッド・データベースが Unicode データベースである場合の、 CTLIB ラッパーのデフォルトの順方向データ・タイプ・マッピングをリストしています。

表 168. Sybase CTLIB ラッパーの Unicode のデフォルトの順方向データ・タイプ・マッピング

UTF-8 Sybase

データ・タイプ データ・タイプ 長さ

CHAR char 1 ~ 254 バイト

nchar 1 ~ 127 文字

VARCHAR char 255 ~ 32672 バイト

varchar 1 ~ 32672 バイト

nchar 128 ~ 16336 文字

nvarchar 1 ~ 16336 文字

CLOB text

GRAPHIC unichar 1 ~ 127 文字

VARGRAPHIC unichar 128 ~ 16336 文字

univarchar 1 ~ 16336 文字

Unicode のデフォルトの逆方向データ・タイプ・マッピング -Sybase ラッパー

次の表には、フェデレーテッド・データベースが Unicode データベースである場合の、 CTLIB ラッパーのデフォルトの逆方向データ・タイプ・マッピングをリストしています。

表 169. Sybase CTLIB ラッパーの Unicode のデフォルトの逆方向データ・タイプ・マッピング

UTF-8 Sybase

データ・タイプ 長さ データ・タイプ

CHAR 1 ~ 254 バイト char

VARCHAR 1 ~ 32672 バイト varchar

CLOB 1 ~ 2 147 483 647 バイト text

GRAPHIC 1 ~ 127 文字 unichar

VARGRAPHIC 1 ~ 16336 文字 univarchar

552 フェデレーテッド・データ・ソース 構成ガイド

Page 563: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

非リレーショナル・データ・ソースでサポートされるデータ・タイプほとんどの非リレーショナル・データ・ソースに関しては、データ・ソースにアクセスするためのニックネームを作成する際に、データ・タイプを含めた列情報を指定する必要があります。

ある種の非リレーショナル・ラッパーは、データ・ソースにアクセスするために必要なすべての列を作成します。これらは固定列と呼ばれます。他のラッパーでは、CREATE NICKNAME ステートメントで列のデータ・タイプの一部またはすべてを指定することができます。

以下のセクションでは、データ・タイプを指定できるラッパーと、ラッパーがサポートするデータ・タイプをリストしています。

BioRS ラッパーによってサポートされるデータ・タイプ

次の表には、BioRS ラッパーがサポートする DB2 データ・タイプをリストしています。

表 170. DB2 データ・タイプにマップされる BioRS データ・タイプ

BioRS データ・タイプ DB2 データ・タイプ

CHARACTER

CLOB

VARCHAR

BLAST ラッパーによってサポートされるデータ・タイプ

BLAST ラッパーが作成する固定列には、ある種のデータ・タイプが自動的に設定されます。

定義行フィールドには、ニックネームの作成時に割り当てることができます。定義行の列の中のデータがローカル列のデータ・タイプと互換性がない場合は、エラーが発生する可能性があります。たとえば、INTEGER タイプの定義行の列を定義しているとき、その列の中に数値以外の値があるなら、エラーが戻されます。

次の表には、BLAST ラッパーがサポートする DB2 データ・タイプをリストしています。

表 171. DB2 データ・タイプにマップされる BLAST データ・タイプ

BLAST データ・タイプ DB2 データ・タイプ

定義行 CLOB (最大長は 5 メガバイト)

定義行 DOUBLE

定義行 FLOAT

定義行 INTEGER

定義行 VARCHAR

第 25 章 フェデレーテッド・システムとデータ・ソース・マッピング 553

Page 564: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Entrez ラッパーによってサポートされるデータ・タイプ

次の表には、Entrez ラッパーがサポートする DB2 データ・タイプをリストしています。

表 172. DB2 データ・タイプにマップされる Entrez データ・タイプ

Entrez データ・タイプ DB2 データ・タイプ

CHARACTER

CLOB (最大長は 5 メガバイト)

DATE

DECIMAL

DOUBLE

INTEGER

REAL

SMALLINT

TIMESTAMP

VARCHAR

Excel ラッパーによってサポートされるデータ・タイプ

次の表には、Excel ラッパーがサポートする DB2 データ・タイプをリストしています。

表 173. DB2 データ・タイプにマップされる Excel データ・タイプ

Excel データ・タイプ DB2 データ・タイプ

DATE

FLOAT

INTEGER

VARCHAR

HMMER ラッパーによってサポートされるデータ・タイプ

次の表には、HMMER ラッパーがサポートする DB2 データ・タイプをリストしています。

表 174. DB2 データ・タイプにマップされる HMMER データ・タイプ

HMMER データ・タイプ DB2 データ・タイプ

CLOB (最大長は 5 メガバイト)

DOUBLE

FLOAT

INTEGER

VARCHAR

554 フェデレーテッド・データ・ソース 構成ガイド

Page 565: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Script ラッパーによってサポートされるデータ・タイプ

次の表には、Script ラッパーがサポートする DB2 データ・タイプをリストしています。

表 175. DB2 データ・タイプにマップされる Script データ・タイプ

Script データ・タイプ DB2 データ・タイプ

CLOB (最大長は 5 メガバイト)

DATE

DOUBLE

INTEGER

VARCHAR

表構造ファイルのラッパーによってサポートされるデータ・タイプ

次の表には、表構造ファイルのラッパーがサポートする DB2 データ・タイプをリストしています。

表 176. DB2 データ・タイプにマップされる表構造ファイルのデータ・タイプ

表構造ファイルのデータ・タイプ DB2 データ・タイプ

CHARACTER

CLOB (最大長は 5 メガバイト)

DECIMAL

DOUBLE

FLOAT

INTEGER

REAL

SMALLINT

VARCHAR

Web サービス・ラッパーによってサポートされるデータ・タイプ

次の表には、Web サービス・ラッパーがサポートする DB2 データ・タイプをリストしています。 Web サービス・ラッパーは、XML データ・タイプを使用します。

表 177. DB2 データ・タイプにマップされる、Web サービス・ラッパー用の XML データ・タイプ

XML データ・タイプ DB2 データ・タイプ

BIGINT

CHARACTER

CHARACTER FOR BIT DATA

CLOB (最大長は 5 メガバイト)

DATE

DECIMAL

DOUBLE

FLOAT

第 25 章 フェデレーテッド・システムとデータ・ソース・マッピング 555

Page 566: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 177. DB2 データ・タイプにマップされる、Web サービス・ラッパー用の XML データ・タイプ (続き)

XML データ・タイプ DB2 データ・タイプ

INTEGER

REAL

TIME

TIMESTAMP

SMALLINT

VARCHAR

VARCHAR FOR BIT DATA

WebSphere Business Integration ラッパーによってサポートされるデータ・タイプ

次の表には、WebSphere Business Integration ラッパーがサポートする DB2 データ・タイプをリストしています。 WebSphere Business Integration ラッパーは、XML データ・タイプを使用します。

表 178. DB2 データ・タイプにマップされる、WebSphere Business Integration ラッパー用のXML データ・タイプ

XML データ・タイプ DB2 データ・タイプ

BIGINT

CHARACTER

CHARACTER FOR BIT DATA

CLOB (5 メガバイトに制限)

DATE

DECIMAL

DOUBLE

FLOAT

INTEGER

REAL

TIME

TIMESTAMP

SMALLINT

VARCHAR

VARCHAR FOR BIT DATA

XML ラッパーによってサポートされるデータ・タイプ

次の表には、XML ラッパーがサポートする DB2 データ・タイプをリストしています。

表 179. DB2 データ・タイプにマップされる、XML ラッパー用の XML データ・タイプ

XML データ・タイプ DB2 データ・タイプ

CHARACTER

556 フェデレーテッド・データ・ソース 構成ガイド

Page 567: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

表 179. DB2 データ・タイプにマップされる、XML ラッパー用の XML データ・タイプ (続き)

XML データ・タイプ DB2 データ・タイプ

CHARACTER FOR BIT DATA

CLOB (最大長は 5 メガバイト)

DATE

DECIMAL

DOUBLE

FLOAT

INTEGER

REAL

SMALLINT

VARCHAR

VARCHAR FOR BIT DATA

第 25 章 フェデレーテッド・システムとデータ・ソース・マッピング 557

Page 568: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

558 フェデレーテッド・データ・ソース 構成ガイド

Page 569: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

IBM に関する情報へのアクセス

IBM では、ユーザーが製品やサービスについて確認するための方法をいくつか用意しています。

Web 上の最新情報については、www.ibm.com/software/data/integration/db2ii/support.html (英語) を参照してください。

v 製品資料 (PDF) とオンライン情報センター

v 製品のダウンロードとフィックスパック

v リリース情報と他のサポート資料

v Web リソース (ホワイト・ペーパー、IBM Redbooks™ など)

v ニュースグループとユーザー・グループ

v 資料の注文

製品資料にアクセスするには、以下のサイトを参照してください。

publib.boulder.ibm.com/infocenter/db2help/topic/

本マニュアルに関するご意見やご感想は、次のURL からお送りください。今後の参考にさせていただきます。 http://www.ibm.com/jp/manuals/main/mail.html 日本 IBM

発行のマニュアルはインターネット経由でもご購入いただけます。詳しくはhttp://www.ibm.com/jp/manuals/ の「ご注文について」をご覧ください。 (URL は、変更になる場合があります)

IBM への連絡IBM へのお問い合わせについて、詳しくは http://www.ibm.com/contact/jp/ をご覧ください。

利用できる資料資料は、ほとんどの Web ブラウザーで表示できる XHTML 形式で用意されています。

XHTML により、ご使用のブラウザーに設定されている表示設定に従って資料を表示できます。さらに、スクリーン・リーダーや他の支援テクノロジーを使用することもできます。

シンタックス・ダイアグラムはドット 10 進形式で提供されます。この形式は、スクリーン・リーダーを使用してオンライン資料にアクセスする場合にのみ使用できます。

資料についてのコメントの送付この資料や他の資料についてのコメントをお送りください。

© Copyright IBM Corp. 1998, 2006 559

Page 570: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

お客様のフィードバックは IBM が良質な情報を提供するために役立ちます。コメントの送付には、以下のいずれかの方法を利用することができます。

v www.ibm.com/software/awdtools/rcf/で、オンラインの読者コメント・フォームを使用して送信する。

v E メールで [email protected] にコメントを送信する。お送りいただく情報には、製品の名前、製品のバージョン番号、資料の名前と部品番号 (該当する場合) を含めてください。特定の本文についてコメントする場合は、本文の位置 (たとえば、タイトル、表の番号、またはページ番号) を含めてください。

560 フェデレーテッド・データ・ソース 構成ガイド

Page 571: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

特記事項および商標

特記事項本書は米国 IBM が提供する製品およびサービスについて作成したものです。

本書に記載の製品、サービス、または機能が日本においては提供されていない場合があります。日本で利用可能な製品、サービス、および機能については、日本 IBM

の営業担当員にお尋ねください。本書で IBM 製品、プログラム、またはサービスに言及していても、その IBM 製品、プログラム、またはサービスのみが使用可能であることを意味するものではありません。これらに代えて、IBM の知的所有権を侵害することのない、機能的に同等の製品、プログラム、またはサービスを使用することができます。ただし、IBM 以外の製品とプログラムの操作またはサービスの評価および検証は、お客様の責任で行っていただきます。

IBM は、本書に記載されている内容に関して特許権 (特許出願中のものを含む) を保有している場合があります。本書の提供は、お客様にこれらの特許権について実施権を許諾することを意味するものではありません。実施権についてのお問い合わせは、書面にて下記宛先にお送りください。

〒106-8711

東京都港区六本木 3-2-12

IBM World Trade Asia Corporation

Intellectual Property Law & Licensing

以下の保証は、国または地域の法律に沿わない場合は、適用されません。 IBM およびその直接または間接の子会社は、本書を特定物として現存するままの状態で提供し、商品性の保証、特定目的適合性の保証および法律上の瑕疵担保責任を含むすべての明示もしくは黙示の保証責任を負わないものとします。国または地域によっては、法律の強行規定により、保証責任の制限が禁じられる場合、強行規定の制限を受けるものとします。

この情報には、技術的に不適切な記述や誤植を含む場合があります。本書は定期的に見直され、必要な変更は本書の次版に組み込まれます。 IBM は予告なしに、随時、この文書に記載されている製品またはプログラムに対して、改良または変更を行うことがあります。

本書において IBM 以外の Web サイトに言及している場合がありますが、便宜のため記載しただけであり、決してそれらの Web サイトを推奨するものではありません。それらの Web サイトにある資料は、この IBM 製品の資料の一部ではありません。それらの Web サイトは、お客様の責任でご使用ください。

IBM は、お客様が提供するいかなる情報も、お客様に対してなんら義務も負うことのない、自ら適切と信ずる方法で、使用もしくは配布することができるものとします。

© Copyright IBM Corp. 1998, 2006 561

Page 572: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

本プログラムのライセンス保持者で、(i) 独自に作成したプログラムとその他のプログラム (本プログラムを含む) との間での情報交換、および (ii) 交換された情報の相互利用を可能にすることを目的として、本プログラムに関する情報を必要とする方は、下記に連絡してください。

IBM Corporation

J46A/G4

555 Bailey Avenue

San Jose, CA 95141-1003 U.S.A.

本プログラムに関する上記の情報は、適切な使用条件の下で使用することができますが、有償の場合もあります。

本書で説明されているライセンス・プログラムまたはその他のライセンス資料は、IBM 所定のプログラム契約の契約条項、IBM プログラムのご使用条件、またはそれと同等の条項に基づいて、IBM より提供されます。

この文書に含まれるいかなるパフォーマンス・データも、管理環境下で決定されたものです。そのため、他の操作環境で得られた結果は、異なる可能性があります。一部の測定が、開発レベルのシステムで行われた可能性がありますが、その測定値が、一般に利用可能なシステムのものと同じである保証はありません。さらに、一部の測定値が、推定値である可能性があります。実際の結果は、異なる可能性があります。お客様は、お客様の特定の環境に適したデータを確かめる必要があります。

IBM 以外の製品に関する情報は、その製品の供給者、出版物、もしくはその他の公に利用可能なソースから入手したものです。IBM は、それらの製品のテストは行っておりません。したがって、他社製品に関する実行性、互換性、またはその他の要求については確証できません。 IBM 以外の製品の性能に関する質問は、それらの製品の供給者にお願いします。

IBM の将来の方向または意向に関する記述については、予告なしに変更または撤回される場合があり、単に目標を示しているものです。

本書はプランニング目的としてのみ記述されています。記述内容は製品が使用可能になる前に変更になる場合があります。

本書には、日常の業務処理で用いられるデータや報告書の例が含まれています。より具体性を与えるために、それらの例には、個人、企業、ブランド、あるいは製品などの名前が含まれている場合があります。これらの名称はすべて架空のものであり、名称や住所が類似する企業が実在しているとしても、それは偶然にすぎません。

著作権使用許諾:

本書には、様々なオペレーティング・プラットフォームでのプログラミング手法を例示するサンプル・アプリケーション・プログラムがソース言語で掲載されています。お客様は、サンプル・プログラムが書かれているオペレーティング・プラットフォームのアプリケーション・プログラミング・インターフェースに準拠したアプリケーション・プログラムの開発、使用、販売、配布を目的として、いかなる形式においても、IBM に対価を支払うことなくこれを複製し、改変し、配布することが

562 フェデレーテッド・データ・ソース 構成ガイド

Page 573: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

できます。このサンプル・プログラムは、あらゆる条件下における完全なテストを経ていません。従って IBM は、これらのサンプル・プログラムについて信頼性、利便性もしくは機能性があることをほのめかしたり、保証することはできません。

それぞれの複製物、サンプル・プログラムのいかなる部分、またはすべての派生的創作物にも、次のように、著作権表示を入れていただく必要があります。

(C) (お客様の会社名) (年). このコードの一部は、IBM Corp. のサンプル・プログラムから取られています。 (C) Copyright IBM Corp. _年を入れる_. All rights

reserved.

この情報をソフトコピーでご覧になっている場合は、写真やカラーの図表は表示されない場合があります。

商標本書では、IBM の商標および IBM 以外の商標の一部につき、それぞれが最初に出現する個所でマークを付けています。

IBM の商標については、http://www.ibm.com/legal/copytrade.shtml を参照してください。

Java およびすべての Java 関連の商標およびロゴは、Sun Microsystems, Inc. の米国およびその他の国における商標または登録商標です。

Microsoft、 Windows、 Windows NT、および Windows ロゴは、Microsoft

Corporation の米国およびその他の国における商標です。

Intel®、Intel Inside® (ロゴ)、MMX、および Pentium® は、Intel Corporation の米国およびその他の国における商標です。

UNIX は、The Open Group の米国およびその他の国における登録商標です。

Linux は、Linus Torvalds の米国およびその他の国における商標です。

他の会社名、製品名およびサービス名等はそれぞれ各社の商標です。

特記事項および商標 563

Page 574: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

564 フェデレーテッド・データ・ソース 構成ガイド

Page 575: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

索引日本語, 数字, 英字, 特殊文字の順に配列されています。なお, 濁音と半濁音は清音と同等に扱われています。

[ア行]アクセス支援 559

アクセス・プランフェデレーテッド・システム 23

アダプターWebSphere Business Integration、構成

111

アプリケーション・データ・エンティティービジネス・オブジェクト定義 112

一般化されたパターン・マッチング UDF

概要 460

オブジェクト命名、フェデレーテッド 1

オプションニックネーム 490

オプティマイザー、照会 23

[カ行]外部キーニックネームとの使用 121

カスタム関数スクリプト 308

BioRS 55

BioRS、説明 40

BioRS、登録 39

BLAST、登録 104

Entrez データ・ソース 171

Entrez データ・ソース、登録 153

Entrez、構文 154

Entrez、説明 154

カタログ「グローバル・カタログ」を参照 481

環境変数制約事項 31

設定、概要 30

複数パーティション 31

Informix 236

Informix ラッパー 235

Microsoft SQL Server データ・ソース253

Microsoft SQL Server 変数の構成 252

Oracle データ・ソース 291

環境変数 (続き)

Oracle 変数の設定 289

Sybase 環境変数の構成 324

Sybase 環境変数のトラブルシューティング 335

Sybase データ・ソース 326

Teradata 環境変数の設定 357

Teradata データ・ソース 358

関数マッピングオプション有効な設定値 489

プラン 11

逆 UDF

概要 472

LSRevComp 472

LSRevNuc 473

LSRevPep 474

逆変換 UDF

概要 450

LSPep2AmbNuc 450

LSPep2ProbNuc 453

逆方向タイプ・マッピングデフォルト・マッピング 542

Unicode 550, 551, 552

グローバル・カタログフェデレーテッド情報を含むビュー

481

結果セットmySAP.com 133

PeopleSoft 133

Siebel 133

検索タグNucleotide ニックネーム 176

OMIM ニックネーム 179

PubMed ニックネーム 186

コード・セットフェデレーテッド・データベース 21

コード・ページフェデレーテッド・システム 23

フェデレーテッド・データベース 21

変換 23

コード・ページ変換Informix 238

Oracle データ・ソース 293

更新統計プラン 3

構成フェデレーテッド・データ・ソース、オプション・タスク 35

構成 (続き)

複数のフェデレーテッド・サーバー29

構成ファイルInformix クライアントセットアップおよびテスト 234

構成プロパティー 114

固定出力列BLAST ニックネーム 100

HMMER ニックネーム 226

固定入力列BLAST ニックネーム 96

HMMER ニックネーム 224

固定列HMMER ニックネーム 224

Nucleotide ニックネーム 176

OMIM ニックネーム 179

PubMed ニックネーム 186

コドン度数表 478, 479

コマンド・センターデータ・ソースの構成 27

コントロール・センターデータ・ソースの構成 27

[サ行]サーバー

Microsoft SQL Server への接続のテスト 258

Sybase サーバーへの接続のテスト333

サーバー定義登録、概要 33

ビジネス・アプリケーション 117

DB2 データ・ソース用の登録 144

Informix データ・ソースの登録DB2 コマンド行 241

Microsoft SQL Server データ・ソースについての登録 256

ODBC データ・ソースのための登録272

OLE DB データ・ソースの登録 285

Oracle データ・ソースのための登録296

Sybase データ・ソースに関する登録331

Teradata データ・ソースについての登録 363

Web サービス 380

WebSphere Business Integration 117

© Copyright IBM Corp. 1998, 2006 565

Page 576: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

サーバー・オプション有効な設定値 497

FOLD_ID および FOLD_PW サーバー・オプションの設定 246

OLE DB の例 286

サーバー・タイプ有効なフェデレーテッド・タイプ 524

最適化スクリプト・データ・ソース 322

作成フェデレーテッド・データベース 20

シナリオExcel ファイルへのアクセス 198

主キーニックネームとの使用 121

述部Entrez データ・ソース 173

順方向タイプ・マッピングデフォルト・マッピング 533

Unicode 549, 550, 551, 552

照会アクセス・プラン 23

スクリプト・データ・ソース、データ・ソースへのアクセス 320

データ・ソースへのアクセスビジネス・アプリケーション 137

Web サービス 391

BioRS データ・ソースへのアクセス55, 61

BioRS 等価演算 58

BLAST データ・ソースへのアクセス104, 105

Excel データ・ソースへのアクセス198

XML 照会 422

照会オプティマイザーフェデレーテッド・システム 23

照会の最適化表構造ファイルのためのガイドライン

354

BioRS 照会のガイドライン 67

XML 421

照合シーケンスフェデレーテッド・システム 23

フェデレーテッド・データベース 21

商標 563

資料注文 559

利用できる 559

Web サイト 559

資料についてのコメント 560

スイッチBLAST 固定入力列 99

スカラー関数KEGG 425

スクリーン・リーダー 559

スクリプトデータ・ソースとして構成 305

スクリプト・データ・ソースサーバー定義 315

サンプルの照会 320

ニックネームの登録 316

ニックネーム・オプション 318

パフォーマンスの最適化 322

ラッパー・ライブラリー名 315

CREATE NICKNAME ステートメントの例 317

CREATE SERVER ステートメント315

スクリプト・ラッパー概要 305

カスタム関数 308

作成 314

制約事項db2dj.ini ファイル 31

セキュリティーWeb サービス 382

接続Oracle サーバー接続のテスト 298

Oracle データ・ソースでの問題 369

Oracle データ・ソースのトラブルシューティング 298, 300

接続に関する問題Microsoft SQL Server データ・ソース

259

[タ行]大/小文字の区別大/小文字が区別される値の保持 2

フェデレーテッド・データ・ソースのチェックリスト 11

チェックリストフェデレーテッド・システム構成の計画 11

データベースフェデレーテッド、作成 20

データ・ソースオプションの構成ステップ 35

構成 27

ビジネス・アプリケーション 109

有効なサーバー・タイプ 524

DB2 ファミリー・データ・ソースへのアクセスの構成 141

DB2 ラッパーの登録 143

Informix サーバー定義の登録DB2 コマンド行 241

Informix サーバーへの接続のテスト245

Informix へのアクセスの構成 233

Informix ラッパーの登録 239

データ・ソースの構成概要、DB2 コントロール・センター

28

ニックネーム・オプション 490

データ・タイプ非リレーショナル・データ・ソースの

553

データ・タイプ・マッピング逆方向 542

順方向 533

フェデレーテッド・データ・ソースのチェックリスト 11

プラン 9

データ・バンク説明 37

デーモン構成ファイルスクリプト例 309

スクリプトのための開始 311

スクリプトのための構成 309

BLAST データ・ソース、開始 83

BLAST データ・ソース、開始の例84

BLAST データ・ソース、構成 78

BLAST データ・ソース、構成の例83

HMMER、開始 205, 210

デーモン構成ファイルHMMER の例 209

定義行の構文解析説明 95

テンプレートビジネス・オブジェクト 112

ドイツ Biomax 社 37

統計データ・ソースの更新 3

フェデレーテッド・データ・ソースのチェックリスト 11

BioRS データ・ソースの 68

読者コメント・フォーム 560

特記事項 561

[ナ行]ニックネーム作成 118, 119, 121, 382

Web サービス 383

スクリプトの登録 316

説明 316

登録、概要 34

ビジネス・アプリケーション 109

ビジネス・アプリケーション・データ・ソース 118, 119, 121

必須入力列ビジネス・アプリケーション・データ・ソース 119

566 フェデレーテッド・データ・ソース 構成ガイド

Page 577: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ニックネーム (続き)

CREATE NICKNAME

例 338

DB2 表およびビューの登録 148

Informix 表、ビュー、およびシノニムの登録 246

Microsoft SQL Server データ・ソースについての登録 258

ODBC データ・ソースのための登録273

Oracle データ・ソース 299

Sybase データ・ソース 333

Teradata データ・ソース 365, 366

Web サービス記述言語 (WSDL) 371

Web サービス・データ・ソース 382

ニックネームおよび列オプションWeb サービス・ラッパー 371

WebSphere Business Integration ラッパーニックネーム階層、例 121

ニックネーム階層、例 121

ニックネーム列指定、概要 35

ノード項目フェデレーテッド・ノード・ディレクトリーへのカタログ 142

[ハ行]パスワード値の大/小文字が区別される 2

パターン・マッチング UDF

LSPatternMatch 460

LSPrositePattern 463

ビジネス・アプリケーションサーバー定義 117

サンプルの照会 137

データ・タイプ、サポートされる 553

フェデレーテッド・ビュー 136

ラッパーによるアクセス 112

ラッパー・ライブラリー・ファイル116

ビジネス・アプリケーション・データ・ソースニックネームの登録 118

ニックネームの登録 (DB2 コマンド行) 121

ニックネームの登録 (DB2 コントロール・センター) 119

フェデレーテッド・システムへの追加109

へのアクセスの構成 109

ビジネス・オブジェクト 112

フェデレーテッド・システムへの追加109

複数 133

ビジネス・オブジェクト (続き)

WebSphere Business Integration ラッパー 109

ビジネス・オブジェクト定義 114

ビジネス・オブジェクトの廃棄ニックネーム 109

ビジネス・オブジェクト・アプリケーション

WebSphere Business Integration ラッパー 109

必要なメッセージ・キュー 114

ビュービジネス・アプリケーション 136

表関数KEGG 425

表構造ファイルデータ・タイプ、サポートされる 553

表構造ファイル・データ・ソース 341

概要 341

サーバー定義、登録 346

照会の最適化 354

前提条件 344

デフォルトのディレクトリー・パス345

ニックネーム、登録 347

ファイル・アクセスの許可 353

ファイル・タイプ属性 342

フェデレーテッド・システムへの追加344

ラッパー、登録 344

ラッパーの概要 342

ラッパー・ライブラリー名 345

CREATE NICKNAME ステートメント構文 347

CREATE NICKNAME ステートメントの例 348

CREATE SERVER ステートメント構文 346

CREATE SERVER ステートメントの例 347

CREATE WRAPPER ステートメント構文 344

CREATE WRAPPER ステートメントの例 344

非リレーショナル・データ・ソースサポートされるデータ・タイプ 553

フェデレーテッド・サーバーセットアップ 15

複数の構成 29

リモート・データベースのカタログ142

DB2 ファミリー・データ・ソースへのアクセスの構成 141

Informix へのアクセスの構成 233

Microsoft SQL Server データ・ソースへのアクセス 250

フェデレーテッド・サーバー (続き)

Microsoft SQL Server データ・ソースへのアクセスの構成 250

Microsoft SQL Server へのアクセスの構成 249

ODBC データ・ソース・サーバーへのアクセスのテスト 273

ODBC 用の構成 268, 269

Sybase データ・ソースへのアクセスの構成 323

Teradata サーバーへの接続のテスト356

フェデレーテッド・データベース規則、オブジェクトの命名 1

コード・セット 21

作成 20

照合シーケンス 21, 23

複数パーティション 31

フェデレーテッド・ノード・ディレクトリーノード項目のカタログ 142

フェデレーテッド・ビューWeb サービス 390

プラン関数マッピング 11

正しいラッパーの選択 4

データ・タイプ・マッピング 9

フェデレーテッド・システム構成のチェックリスト 11

ユーザー・マッピング 8

Excel データへのアクセス 5

プロキシー・サーバーBioRS ラッパーの例 42

BLAST ユーザー・マッピングの例93

BLAST ラッパーの例 87

Entrez サーバー定義の例 159

Entrez データ・ソースへのアクセス160

Entrez ユーザー・マッピングの例167

HMMER サーバー定義の例 216

HMMER ユーザー・マッピングの例221

HMMER ラッパーの例 214

Web サービス定義の例 380

XML データ・ソースへのアクセス407

変換表の形式 479

[マ行]命名規則フェデレーテッド・データベース・オブジェクト 1

索引 567

Page 578: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

命名規則 (続き)

フェデレーテッド・データ・ソースのチェックリスト 11

メモリー制限 133

[ヤ行]ユーザー ID

値の大/小文字が区別される 2

ユーザー定義関数KEGG、登録 428

ユーザー定義関数 (UDF)

ライフ・サイエンス 447

ライフ・サイエンス用 448

KEGG の概要 425

KEGG の除去 444

KEGG、関数のリスト 425

ユーザー・マッピング登録、概要 34

フェデレーテッド・データ・ソースのチェックリスト 11

プラン 8

有効な設定値 528

DB2 データ・ソース用の作成 146

Informix データ・ソース用の作成244

Microsoft SQL Server データ・ソースについての定義 257

ODBC データ・ソースの定義 272

OLE DB データ・ソース 285

Oracle データ・ソースのための定義297

Sybase データ・ソースに関する作成332

Teradata データ・ソースについての定義 364

[ラ行]ライブラリースクリプト・ラッパー 315

表構造ファイル・ラッパー 345

ライフ・サイエンス・ユーザー定義関数 447

ラッパー 16

BioRS ラッパー 42

BLAST ラッパー 86

Excel ラッパー 194

Teradata ラッパー 362

XML ラッパー 401

ライブラリー・ファイルラッパーエラー・メッセージ・ファイル 17

手動リンク 18

ライブラリー・ファイル (続き)

ラッパー、インストールのチェック16

リンク・エディット 15

ライフ・サイエンス・ユーザー定義関数概要 447

概要、一般化されたパターン・マッチング 460

概要、逆変換関数 450

概要、反転 472

概要、変換 475

概要、GeneWise 464

概要、Motif 467

概要、UDF の定義行構文解析 454

関数の使用不可化 449

関数の登録 449

関数のリスト 448

フォーマット、変換表 479

ライブラリー・ファイル 447

例、コドン度数表 479

例、変換表 480

GeneWise ライブラリーへのリンク464

ラッパースクリプト 305

登録、概要 32

ビジネス・アプリケーション 109

フェデレーテッド・データ・ソースのチェックリスト 11

プラン 4

ライブラリー・ファイル 16

エラー・メッセージ・ファイル 17

手動リンク 18

リンク・エディットエラー・メッセージ・ファイル 17

Microsoft SQL Server ラッパーの登録254

Microsoft SQL Server ラッパー・ライブラリー 255

ODBC ラッパーの構成 263, 267

ODBC ラッパーの登録 270

ODBC ラッパー・ライブラリー・ファイル 271

OLE DB ラッパー・ライブラリー・ファイル 284

Oracle ラッパーの登録 295

Oracle ラッパー・ライブラリー・ファイル 296

Sybase ラッパーの登録 329

Teradata データ・ソースに関するランタイム・リンクの検査 356

Teradata データ・ソースへのアクセスの構成 355

Teradata ラッパーの登録 361

Web サービス・データ・ソース 371,

378

ラッパー (続き)

WebSphere Business Integration、登録115

ラッパーの作成WebSphere Business Integration 115

ラッパー・オプション有効な設定値 529

ラッパー・ライブラリー 379

スクリプト・ファイル名 315

表構造ファイル名 345

BioRS ファイル名 42

BLAST ファイル名 86

Entrez ファイル名 156

Excel ファイル名 194

HMMER ファイル名 213

Teradata ファイル名 362

WebSphere Business Integration ラッパー・ファイル名 116

XML 401

ラッパー・ライブラリー・ファイルインストールのチェック 16

リンク・エディット 15

リモート・データベースフェデレーテッド・システム・データベース・ディレクトリーへのカタログ 142

リンク・エディットエラー・メッセージ・ファイル 17

ラッパー・ライブラリー・ファイル15

例照会、HMMER 228

スクリプト・データ・ソース、CREATE NICKNAME 317

スクリプト・データ・ソース、CREATE SERVER 315

プロキシー・サーバーBioRS ユーザー・マッピング例

49

BioRS 照会 59, 61

BioRS データ・ソースプロキシー・サーバー、ユーザー・マッピングの例 49

BLAST 照会 105

BLAST デーモン構成ファイル 83

CREATE NICKNAME ステートメント、 HMMER 223, 228

CREATE NICKNAME ステートメント、表構造ファイル 348

CREATE NICKNAME ステートメント、BioRS 52

CREATE NICKNAME ステートメント、BLAST 102

CREATE NICKNAME ステートメント、Entrez 170

568 フェデレーテッド・データ・ソース 構成ガイド

Page 579: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

例 (続き)

CREATE NICKNAME ステートメント、Excel 197

CREATE NICKNAME、HMMER 223

CREATE SERVER ステートメント、表構造ファイル 347

CREATE SERVER ステートメント、BioRS 45

CREATE SERVER ステートメント、BLAST 89

CREATE SERVER ステートメント、Entrez 159

CREATE SERVER ステートメント、Excel 195

CREATE SERVER ステートメント、HMMER 216

CREATE SERVER ステートメント、HMMER、 228

CREATE SERVER ステートメント、Web サービス 380

CREATE SERVER ステートメント、XML 404

CREATE USER MAPPING ステートメント、BioRS 49

CREATE USER MAPPING ステートメント、BLAST 93

CREATE USER MAPPING ステートメント、Entrez 167

CREATE USER MAPPING ステートメント、HMMER 221

CREATE VIEW ステートメント、XML 420

CREATE WRAPPER ステートメント、表構造ファイル 344

CREATE WRAPPER ステートメント、BioRS 42

CREATE WRAPPER ステートメント、BLAST 87

CREATE WRAPPER ステートメント、Entrez 157

CREATE WRAPPER ステートメント、Excel 193

CREATE WRAPPER ステートメント、HMMER 214, 228

CREATE WRAPPER ステートメント、XML 402

db2blast_daemon コマンド 84

db2hmmer_daemon コマンド 210

db2script_daemon コマンド 312

Excel の照会 198

Excel ファイル 5, 191

HMMER デーモン構成ファイル 209

UDF

コドン度数表 479

ライフ・サイエンスの変換表 480

例 (続き)

UDF (続き)

LSDeflineParse ユーザー定義関数457

LSGeneWise ユーザー定義関数466

LSPatternMatch ユーザー定義関数461

LSPep2AmbNuc ユーザー定義関数451

LSPep2ProbNuc ユーザー定義関数453

LSPrositePattern ユーザー定義関数463

UPDATE ステートメント、BioRS 70

Web サービス・ラッパー 383

WebSphere Business Integration ラッパー 121

XML の例 422

XML 文書マッピング 395

例、照会ビジネス・アプリケーション・データ・ソース 137

Nucleotide データベース 174

OMIM データベース 174

PubMed データベース 174

Web サービス 391

例、CREATE SERVER

DB2 ファミリー・データ・ソース145

Informix 242

Teradata 367

例、CREATE USER MAPPING ステートメント

DB2 ファミリー・データ・ソース147

Informix 244

Sybase データ・ソース 337

例、UDF

LSBarCode ユーザー定義関数 467

LSMultiMatch ユーザー定義関数 469

LSMultiMatch3 ユーザー定義関数 470

LSNuc2Pep ユーザー定義関数 475

LSRevComp ユーザー定義関数 472

LSRevNuc ユーザー定義関数 473

LSRevPep ユーザー定義関数 474

LSTransAllFrames 477

列オプション有効な設定値 483

AACCOUNTING_STRING ユーザー・オプション有効な設定値 528

Action Output ウィンドウ 29

AllText エレメントBioRS 61

BBestNbrsByGeneS ユーザー定義関数構文 437

例 437

BestNbrsByGeneT ユーザー定義関数構文 437

例 437

BioRS

データ・タイプ、サポートされる 553

BioRS データ・ソース 37

カーディナリティー統計、確認 68

カーディナリティー統計、ニックネーム 69

カスタム関数、概要 55

カスタム関数、説明 40

カスタム関数、登録 39

サーバー定義、登録 44

サンプルの照会 59, 61

照会、結合述部の使用 59

照会、等価演算 58

照会パフォーマンス、最適化 68

説明 37

前提条件 38

デフォルトのディレクトリー・パス42

統計ニックネーム・カーディナリティー、更新 69

列カーディナリティー、更新 70

_ID_ 列カーディナリティー、更新71

統計情報 68

ニックネーム、登録 50

フェデレーテッド・システムへのBioRS の追加 38

プロキシー・サーバーBioRS サーバー定義の例 45

プロキシー・サーバー、サーバー定義の例 45

プロキシー・サーバー、ラッパーの例42

ユーザー・マッピング、作成 47

ラッパー、登録 41

ラッパーのパフォーマンス、最適化67

ラッパー・パフォーマンスの最適化67

ラッパー・ライブラリー名 42

ワイルドカード、照会での 55, 61

admin_find ユーティリティー・プログラム 68

AllText エレメント 61

索引 569

Page 580: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

BioRS データ・ソース (続き)

CREATE FUNCTION ステートメント構文 39

CREATE NICKNAME ステートメント構文 50

CREATE NICKNAME ステートメントの例 52

CREATE SERVER ステートメント構文 44

CREATE SERVER ステートメントの例 45

CREATE USER MAPPING ステートメント構文 47

CREATE WRAPPER ステートメント構文 41

CREATE WRAPPER ステートメントの例 42

www_find.cgi ユーティリティー・プログラム 68

BLAST

データ・タイプ、サポートされる 553

BLAST データ・ソース 73

概要 73

カスタム関数、登録 104

検索タイプ 73, 99

固定出力列 100

固定入力列、検索タイプ 99

固定入力列、スイッチ 99

固定入力列、説明 96

サーバー定義、登録 88

サンプルの照会 105

照会、組み立て 104

前提条件 77

デーモン、開始 83

デーモン、構成 78

デーモン、例 83

デーモン・コマンド、オプション 84

デーモン・コマンド、例 84

定義行の構文解析 95

デフォルトのディレクトリー・パス86

ニックネーム、登録 94

フェデレーテッド・システムへのBLAST の追加 77

プロキシー・サーバー、ユーザー・マッピングの例 93

プロキシー・サーバー、ラッパーの例87

マトリックス・ファイル 78

ユーザー・マッピング、作成 92

ラッパー、登録 86

ラッパー・パフォーマンス、最適化107

ラッパー・ライブラリー名 86

blastall 実行可能ファイル 78

BLAST データ・ソース (続き)

CREATE NICKNAME ステートメント、 例 102

CREATE NICKNAME ステートメント構文 94

CREATE SERVER ステートメント構文 88

CREATE SERVER ステートメントの例 89

CREATE USER MAPPING ステートメント構文 92

CREATE WRAPPER ステートメント87

CREATE WRAPPER ステートメント構文 86

TurboBlast、構成 102

BstBstNbrsByGeneS ユーザー定義関数構文 438

例 438

BstBstNbrsByGeneT ユーザー定義関数構文 438

例 438

BtitS ユーザー定義関数構文 439

例 439

CCOLLATING_SEQUENCE サーバー・オプション有効な設定値 497

COMM_RATE サーバー・オプション有効な設定値 497

CompoundsByPathwyS ユーザー定義関数構文 430

例 430

CompoundsByPathwyT ユーザー定義関数構文 430

例 430

CONCENTRATOR パラメーター 19

CONNECTSTRING サーバー・オプション有効な設定値 497

CPU_RATIO サーバー・オプション有効な設定値 497

CREATE FUNCTION ステートメントBioRS 構文 39

CREATE NICKNAME ステートメント構文、Excel 196

スクリプト・データ・ソース 317

ビジネス・アプリケーション・データ・ソース 118, 119, 121

表構造ファイル構文 347

表構造ファイルの例 348

例、Excel 197

BioRS 構文 50

BioRS の例 52

CREATE NICKNAME ステートメント(続き)

BLAST、構文 94

BLAST、例 102

DB2 ファミリー・データ・ソース149

Entrez 構文 168

Entrez の例 170

HMMER 構文 222

HMMER の例 223

Informix 247

Teradata 369

Web サービス・データ・ソース 382

XML の例 414

CREATE NICKNAME の例Microsoft SQL Server データ・ソース

262

ODBC データ・ソース 280

Oracle データ・ソース 303

CREATE SERVER ステートメント構文、Excel 195

スクリプト・データ・ソース 315

表構造ファイル構文 346

表構造ファイルの例 347

例、Excel 195

BioRS 構文 44

BioRS の例 45

BLAST、 例 89

BLAST、構文 88

DB2 ファミリー・データ・ソース145

Entrez の例 159

HMMER 構文 215

HMMER の例 216

Informix 242

ODBC の例 278

Sybase データ・ソース 336

Teradata 367

Web サービスの例 380

XML 構文 403

XML の例 404

CREATE SERVER の例OLE DB データ・ソース 286

Oracle データ・ソース 301

Sybase データ・ソース 336

CREATE USER MAPPING ステートメント

BioRS 構文 47

BioRS の例 49

BLAST 構文 92

BLAST、例 93

DB2 ファミリー・データ・ソース147

Entrez 構文 166

Entrez の例 167

HMMER 構文 220

570 フェデレーテッド・データ・ソース 構成ガイド

Page 581: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

CREATE USER MAPPING ステートメント (続き)

HMMER、例 221

Informix 244

Sybase データ・ソース 337

CREATE USER MAPPING の例Microsoft SQL Server データ・ソース

261

ODBC データ・ソース 279

OLE DB データ・ソース 287

Oracle データ・ソース 302

Teradata データ・ソース 368

CREATE VIEW ステートメントXML の例 420

CREATE WRAPPER

ODBC の例 281

CREATE WRAPPER ステートメント表構造ファイル構文 344

表構造ファイルの例 344

BioRS 構文 41

BioRS の例 42

BLAST の例 87

BLAST、 例 86

Entrez 構文 155

Entrez の例 157

Excel、例 193

HMMER 構文 212

HMMER の例 214

OLE DB データ・ソースの登録 283

XML 構文 400

XML の例 402

create_function_mappings.ddl

Entrez データ・ソース 153

DDAEMON_LOGFILE_DIR

スクリプト・デーモン 309

DAEMON_PORT

スクリプト・デーモン 309

DATEFORMAT サーバー・オプション有効な設定値 497

DB2 for iSeries

デフォルトの逆方向タイプ・マッピング 542

デフォルトの順方向タイプ・マッピング 533

有効なサーバー・タイプ 524

DB2 for Linux, UNIX and Windows

デフォルトの逆方向タイプ・マッピング 542

デフォルトの順方向タイプ・マッピング 533

有効なサーバー・タイプ 524

DB2 for VM and VSE

デフォルトの逆方向タイプ・マッピング 542

デフォルトの順方向タイプ・マッピング 533

有効なサーバー・タイプ 524

DB2 for z/OS and OS/390

デフォルトの逆方向タイプ・マッピング 542

デフォルトの順方向タイプ・マッピング 533

有効なサーバー・タイプ 524

DB2 コントロール・センターデータ・ソースの構成、概要 28

DB2 データ・ソースサーバー定義の登録 144

サーバーへの接続のテスト 148

ユーザー・マッピングの作成 146

DB2 データ・ソース・サーバー接続のテスト 148

DB2 特殊レジスター USER

OLE DB データ・ソースの例 287

DB2 表およびビューニックネームの登録 148

DB2 ファミリー・データ・ソースデフォルトのディレクトリー・パス

144

登録 143

CREATE NICKNAME ステートメントの例 149

CREATE SERVER ステートメント145

CREATE USER MAPPING ステートメント 147

DB2 ラッパー登録 143

db2blast_daemon コマンド例 84

db2dj.ini ファイル 30

制約事項 31

複数パーティション 31

DB2_DJ_INI レジストリー変数複数パーティション 31

db2fedsvrcfg コマンド構文 276

テスト表の作成 277

例 276

db2hmmer_daemon コマンド例 210

db2nodes.cfg ファイル 20

db2script_daemon コマンド 312

DB2_FENCED ラッパー・オプション有効な設定値 529

DB2_MAXIMAL_PUSHDOWN サーバー・オプション有効な設定値 497

DB2_SOURCE_CLIENT_MODE ラッパー・オプション有効な設定値 529

DB2_UM_PLUGIN サーバー・オプション有効な設定値 497

DB2_UM_PLUGIN ラッパー・オプション有効な設定値 529

DBNAME サーバー・オプション有効な設定値 497

DISABLE function 関数マッピング・オプション有効な設定値 489

djxlink スクリプト 18

DRDA ラッパーライブラリー・ファイル名 144

EEMAIL ラッパー・オプション有効な設定値 529

Entrez データ・ソース 151

カスタム関数構文 171

カスタム関数、構文 154

カスタム関数、説明 154

カスタム関数の登録 153

関係述部 173

照会結果の制限 173

照会の例 174

説明 151

前提条件 153

デフォルトのディレクトリー・パス156

ニックネーム、事前定義された名前170

ニックネーム、説明 161

ニックネーム、代替名 165

ニックネーム、登録 168

ニックネーム、Nucleotide データベース 162

ニックネーム、OMIM データベース162

ニックネーム、PubMed データベース164

ニックネーム・オプション 165

フェデレーテッド・システムへの追加153

プロキシー・サーバー 160

プロキシー・サーバー、ユーザー・マッピングの例 167

プロキシー・サーバー、ラッパーの例157

無効な WHERE 文節 173

ユーザー・マッピング、作成 166

ラッパー、登録 155

索引 571

Page 582: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Entrez データ・ソース (続き)

ラッパー・ライブラリー・ファイル156

CREATE NICKNAME ステートメント構文 168

CREATE NICKNAME ステートメントの例 170

CREATE SERVER ステートメントの例 159

CREATE USER MAPPING ステートメント構文 166

CREATE USER MAPPING ステートメントの例 167

CREATE WRAPPER ステートメント構文 155

CREATE WRAPPER ステートメントの例 157

Nucleotide ニックネーム、固定列 176

PubMed ニックネーム、固定列 186

EnzymesByPathwyS ユーザー定義関数構文 431

例 431

EnzymesByPathwyT ユーザー定義関数構文 431

例 431

Excel ODBC ドライバーMicrosoft Excel ワークブックへのアクセス 264

Excel データ・ソース 191

サーバー定義、登録 195

サンプルの照会 198

サンプル・ユーザーのシナリオ 198

説明 191

前提条件 192

デフォルトのディレクトリー・パス194

ニックネーム、登録 196

ファイル・アクセスの許可 200

ラッパー、登録 193

ラッパー・ライブラリー名 194

CREATE NICKNAME ステートメントの例 197

CREATE SERVER ステートメントの例 195

CREATE WRAPPER ステートメントの例 193

Excel のフェデレーテッド・システムへの追加 192

Excel ファイルアクセスの準備 5

データ・タイプ、サポートされる 553

FFEDERATED パラメーター 19

FOLD_ID サーバー・オプション値の大/小文字が区別される 2

有効な設定値 497

FOLD_PW サーバー・オプション値の大/小文字が区別される 2

有効な設定値 497

GGenBank、Nucleotide を参照 151

GenesByMotifsT ユーザー定義関数構文 439

例 439

GenesByPathwyS ユーザー定義関数構文 432

例 432

GenesByPathwyT ユーザー定義関数構文 432

例 432

GeneWise 466

GeneWise UDF 465

概要 464

GeneWise ライブラリーへのリンク464

Genome データベース 151

HHMMER データ・ソース 201

固定出力列 226

固定入力列 224

サーバー定義、登録 215

実行可能ファイルのバージョン、検査205

説明 201

前提条件 204

データ・タイプ、サポートされる 553

デーモン、開始 210

デーモン、構成 205

デーモン構成ファイルの例 209

デフォルトのディレクトリー・パス213

ニックネーム、固定列 224

ニックネーム、登録 222

フェデレーテッド・システムへのHMMER の追加 204

プロキシー・サーバー、サーバー定義の例 216

プロキシー・サーバー、ユーザー・マッピングの例 221

プロキシー・サーバー、ラッパーの例214

ユーザー・マッピング、作成 220

ユーティリティーのリスト 201

ラッパー、登録 212

HMMER データ・ソース (続き)

ラッパー・ライブラリー・ファイル213

例、照会 228

CREATE NICKNAME ステートメントの例 223, 228

CREATE SERVER ステートメントの例 216, 228

CREATE USER MAPPING ステートメント構文 220

CREATE WRAPPER ステートメント214

CREATE WRAPPER ステートメントの例 228

hmmpfam 実行可能ファイル説明 201

IIBM への連絡 559

IFILE サーバー・オプション有効な設定値 497

IGNORE_UDT サーバー・オプション有効な設定値 497

Informix

コード・ページ変換 238

デフォルトの逆方向タイプ・マッピング 542

デフォルトの順方向タイプ・マッピング 533

デフォルトのディレクトリー・パス240

有効なサーバー・タイプ 524

ライブラリー・ファイル名 240

CREATE NICKNAME ステートメントの例 247

CREATE SERVER ステートメント242

CREATE USER MAPPING ステートメント 244

djxlinkInformix スクリプト 18

Informix クライアント構成ファイルセットアップおよびテスト 234

Informix サーバー接続のテスト 245

Informix シノニムニックネームの登録 246

Informix ビューニックネームの登録 246

Informix 表ニックネームの登録 246

Informix ラッパー環境変数 235, 236

登録 239

パフォーマンスの改善 246

ユーザー・マッピングの作成 244

572 フェデレーテッド・データ・ソース 構成ガイド

Page 583: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

INFORMIX_CLIENT_LOCALE サーバー・オプション有効な設定値 497

INFORMIX_DB_LOCALE サーバー・オプション有効な設定値 497

INFORMIX_LOCK_MODE サーバー・オプション有効な設定値 497

INITIAL_INSTS 関数マッピング・オプション有効な設定値 489

INITIAL_IOS 関数マッピング・オプション有効な設定値 489

INSTS_PER_ARGBYTE 関数マッピング・オプション有効な設定値 489

INSTS_PER_INVOC 関数マッピング・オプション有効な設定値 489

IOS_PER_ARGBYTE 関数マッピング・オプション有効な設定値 489

IOS_PER_INVOC 関数マッピング・オプション有効な設定値 489

IO_RATIO サーバー・オプション有効な設定値 497

IUD_APP_SVPT_ENFORCE サーバー・オプション有効な設定値 497

KKEGG API 425

KEGG ユーザー定義関数概要 425

関数の使用不可化 444

関数の登録 428

関数のリスト 425

前提条件 428

引数遺伝子 ID 426

エントリー・リスト 426

化合物 ID 426

酵素 ID 426

最大結果 426

生物種コード 426

パスウェイ ID 426

モチーフ ID 426

引数構文 426

SSDB に戻された列 435

LLOGIN_TIMEOUT サーバー・オプション有効な設定値 497

LSBarCode ユーザー定義関数構文 467

例 467

LSDeflineParse ユーザー定義関数構文 454

例 457

LSGeneWise ユーザー定義関数 465, 466

例 466

LSMultiMatch ユーザー定義関数構文 469

例 469

LSMultiMatch3 ユーザー定義関数構文 470

例 470

LSNuc2Pep ユーザー定義関数構文 475

例 475

LSPatternMatch ユーザー定義関数構文 460

例 461

LSPep2AmbNuc ユーザー定義関数構文 450

例 451

LSPep2ProbNuc ユーザー定義関数構文 453

コドン度数表の形式 478

例 453

LSPrositePattern ユーザー定義関数構文 463

例 463

LSRevComp ユーザー定義関数構文 472

例 472

LSRevNuc ユーザー定義関数構文 473

例 473

LSRevPep ユーザー定義関数構文 474, 477

例 474, 477

MMicrosoft Excel ワークブックアクセス 264

Microsoft SQL Server

デフォルトの逆方向タイプ・マッピング 542

デフォルトの順方向タイプ・マッピング 533

有効なサーバー・タイプ 524

djxlinkMssql スクリプト 18

Microsoft SQL Server データ・ソースアクセス 250

アクセスの構成 249

環境変数 253

環境変数の構成 252

構成のトラブルシューティング 259

サーバー定義の登録 256

登録 254

ニックネーム 258

フェデレーテッド・サーバーの構成250

ラッパー・ライブラリー・ファイル255

CREATE NICKNAME の例 262

CREATE USER MAPPING の例 261

Microsoft SQL Server への接続のテスト 258

Microsoft SQL データ・ソースユーザー・マッピングの定義 257

MODULE ラッパー・オプション有効な設定値 529

Motif UDF

概要 467

LSBarCode 467

LSMultiMatch 469

LSMultiMatch3 470

MotifsByGenesS ユーザー定義関数構文 440

例 440

MotifsByGenesT ユーザー定義関数構文 441

例 441

NNLS (ナショナル・ランゲージ・サポート)

フェデレーテッド・システム 23

NODE サーバー・オプション、有効な設定値 497

Nucleotide データベース検索フィールド 176

照会の例 174

説明 151

NUMERIC_STRING 列オプション有効な設定値 483

OObject Discovery Agent

ビジネス・アプリケーション 112

ODBC

デフォルトの順方向タイプ・マッピング 533

有効なサーバー・タイプ 524

索引 573

Page 584: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

ODBC チューニング・ユーティリティーテスト表の作成 277

db2fedsvrcfg コマンド構文 276

db2fedsvrcfg コマンドの例 276

ODBC ラッパーのチューニング 274

ODBC データ・ソースアクセスのテスト 273

サーバー定義の登録 272

登録 270

ニックネームの登録 273

フェデレーテッド・サーバーの構成268, 269

ユーザー・マッピングの定義 272

ラッパー・ライブラリー・ファイル271

CREATE NICKNAME の例 280

CREATE SERVER の例 278

CREATE USER MAPPING の例 279

CREATE WRAPPER の例 281

Microsoft Excel ワークブックへのアクセス 264

ODBC チューニング・ユーティリティーによるチューニング 274

ODBC チューニング・ユーティリティーのためのテスト表 277

ODBC データ・ソースへのアクセスの構成 263

WebSphere Classic Federation Server

for z/OS データ・ソースへのアクセスの構成 267

ODBC トレース 259

OLE DB

有効なサーバー・タイプ 524

OLE DB データ・ソースサーバー定義の登録 285

サーバー・オプション 286

登録 283

ユーザー・マッピングの定義 285

ライブラリー・ファイル名 284

CREATE SERVER の例 286

CREATE USER MAPPING の例 287

OMIM データベース検索フィールド 179

照会の例 174

説明 151

ニックネーム、固定列 179

Oracle

デフォルトの逆方向タイプ・マッピング 542

デフォルトの順方向タイプ・マッピング 533

djxlinkOracle スクリプト 18

Oracle クライアント構成ファイル構成とテスト 294

Oracle サーバー接続のテスト 298

Oracle データ・ソースアクセス 289

環境変数 291

環境変数の設定 289

コード・ページ変換 293

サーバー定義の登録 296

接続に関する問題のトラブルシューティング 298, 300

接続の構成 294

接続の問題 369

登録 295

ニックネームの登録 299

フェデレーテッド・システムへの追加289

ユーザー・マッピングの定義 297

ラッパー・ライブラリー・ファイル296

CREATE NICKNAME の例 303

CREATE SERVER の例 301

CREATE USER MAPPING の例 302

PPACKET_SIZE サーバー・オプション有効な設定値 497

ParalogsByGeneS ユーザー定義関数構文 442

例 442

ParalogsByGeneT ユーザー定義関数構文 442

例 442

PASSWORD サーバー・オプション有効な設定値 497

Pathway データベース関数のリスト 425

Pathway データベース UDF

CompoundsByPathwyS 430

CompoundsByPathwyT 430

EnzymesByPathwyS 431

EnzymesByPathwyT 431

GenesByPathwyS 432

GenesByPathwyT 432

PathwysByCompndsS 432

PathwysByCompndsT ユーザー定義関数433

PathwysByEnzymesS 433

PathwysByEnzymesT 434

PathwysByGenesS 434

PathwysByGenesT 435

PathwysByCompndsS ユーザー定義関数構文 432

例 432

PathwysByCompndsT ユーザー定義関数構文 433

例 433

PathwysByEnzymesS ユーザー定義関数構文 433

例 433

PathwysByEnzymesT ユーザー定義関数構文 434

PathwysByGenesS ユーザー定義関数構文 434

例 434

PathwysByGenesT ユーザー定義関数構文 435

例 435

PeopleSoft

ビジネス・オブジェクト 109

PERCENT_ARGBYTES 関数マッピング・オプション有効な設定値 489

PLAN_HINTS サーバー・オプション有効な設定値 497

PROXY_AUTHID ユーザー・オプション有効な設定値 528

PROXY_PASSWORD ユーザー・オプション有効な設定値 528

PROXY_SERVER_NAME ラッパー・オプション有効な設定値 529

PROXY_SERVER_PORT ラッパー・オプション有効な設定値 529

PROXY_TYPE ラッパー・オプション有効な設定値 529

PubMed データベース検索フィールド 186

照会の例 174

説明 151

PUSHDOWN サーバー・オプション有効な設定値 497

RREMOTE_AUTHID ユーザー・オプション有効な設定値 528

REMOTE_DOMAIN ユーザー・オプション有効な設定値 528

REMOTE_NAME 関数マッピング・オプション有効な設定値 489

REMOTE_PASSWORD ユーザー・オプション有効な設定値 528

RevBestNbrsByGeneS ユーザー定義関数構文 443

例 443

RevBestNbrsByGeneT ユーザー定義関数構文 443

574 フェデレーテッド・データ・ソース 構成ガイド

Page 585: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

RevBestNbrsByGeneT ユーザー定義関数(続き)

例 443

SSAP

ビジネス・オブジェクト 109

Sequence Similarity データベース関数のリスト 425

戻された列 435

Sequence Similarity データベース UDF

BestNbrsByGeneS 437

BestNbrsByGeneT 437

BstBstNbrsByGeneS 438

BstBstNbrsByGeneT 438

BtitS 439

GenesByMotifsT 439

MotifsByGenesS 440

MotifsByGenesT 441

ParalogsByGeneS 442

ParalogsByGeneT 442

RevBestNbrsByGeneS 443

RevBestNbrsByGeneT 443

Siebel

ビジネス・オブジェクト 109

SQL10013N

トラブルシューティング 334

SQL1097N

トラブルシューティング 335

SQL1822N

トラブルシューティング 335

SSL_CLIENT_CERTIFICATE_LABEL ユーザー・オプション有効な設定値 528

SSL_KEYSTORE_FILE ラッパー・オプション有効な設定値 529

SSL_KEYSTORE_PASSWORD ラッパー・オプション有効な設定値 529

SSL_VERIFY_SERVER_CERTIFICATE ラッパー・オプション有効な設定値 529

Sybase

デフォルトの逆方向タイプ・マッピング 542

デフォルトの順方向タイプ・マッピング 533

有効なサーバー・タイプ 524

djxlinkSybase スクリプト 18

Sybase クライアント構成ファイル構成およびテスト 327, 328

Sybase データ・ソースアクセスの構成 323

環境変数 326

Sybase データ・ソース (続き)

環境変数の構成 324

クライアント構成ファイルの構成327, 328

サーバー定義の登録 331

登録 329

ニックネームの登録 333

ユーザー・マッピングの作成 332

ラッパー構成のトラブルシューティング 334, 335

ラッパーのデフォルトのディレクトリー・パス 330

ラッパー・ライブラリー・ファイル名330

CREATE NICKNAME の例 338

CREATE SERVER の例 336

CREATE USER MAPPING ステートメント 337

CREATE USER MAPPING の例 337

Sybase サーバーへの接続のテスト333

SYSCAT カタログ・ビュー 481

SYSSTAT カタログ・ビュー 481

TTeradata

デフォルトの逆方向タイプ・マッピング 542

デフォルトの順方向タイプ・マッピング 533

有効なサーバー・タイプ 524

ラッパー・ライブラリー名 362

CREATE NICKNAME ステートメントの例 369

CREATE SERVER ステートメント367

djxlinkTeradata スクリプト 18

Teradata データ・ソースアクセスの構成 355

環境変数 358

環境変数の設定 357

クライアント構成のテスト 356

サーバー定義の登録 363

接続のテスト 356

接続のトラブルシューティング 365

登録 361

ニックネーム 366

ニックネームの登録 365

フェデレーテッド・サーバーへの接続のテスト 365

ユーザー・マッピングの定義 364

ランタイム・リンクの検査 356

CREATE USER MAPPING の例 368

TIMEFORMAT サーバー・オプション有効な設定値 497

TIMEOUT サーバー・オプション有効な設定値 497

TIMESTAMPFORMAT サーバー・オプション有効な設定値 497

TurboBlast

構成 102

UUDF の定義行構文解析概要 454

説明 95

LSDeflineParse 454

UDF の変換概要 475

LSNuc2Pep 475

LSTransAllFrames 477

Unicode 549, 550, 551, 552

UPDATE ステートメント例

UPDATE ステートメント、BioRS 69

例、BioRS ニックネーム・カーディナリティー 69

例、BioRS 列カーディナリティー 70

例、BioRS _ID_ 列カーディナリティー 71

VVARCHAR_NO_TRAILING_ BLANKS サーバー・オプション有効な設定値 497

VARCHAR_NO_TRAILING_ BLANKS 列オプション有効な設定値 483

WWeb サービスサーバー定義 380

サンプルの照会 391

セキュリティー 382

データ・タイプ、サポートされる 553

ニックネーム 371, 383

フェデレーテッド・ビュー 390

プロキシー・サーバー、サーバー定義の例 380

ラッパー・ライブラリー・ファイル379

CREATE SERVER ステートメントの例 380

Web サービス記述言語 (WSDL)

ニックネーム 371

索引 575

Page 586: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

Web サービス・データ・ソースニックネームの登録 382

Web サービス・ラッパー作成 378

データ・ソース 371

WebSphere Business Integration

構成 112

ラッパーの登録 115

WebSphere Business Integration

Adapter 114, 133

構成 111

必要なメッセージ・キュー 114

WebSphere Business Integration ラッパー109, 114

サーバー定義 117

データ・タイプ、サポートされる 553

ラッパー・ライブラリー・ファイル116

例 121

WebSphere Classic Federation Server for

z/OS データ・ソースアクセスの構成 267

WebSphere MQ メッセージ・キュー 114

WSSCRIPT.ARGS 関数 308

XXML

データ・タイプ、サポートされる 553

XML スキーマビジネス・アプリケーション 112

XML データ・ソース 395

概要 395

概要、ニックネーム 408

コスト・モデル機能 410

サーバー定義、登録 403

照会、例 422

照会の最適化 410

照会の最適化、概要 418

照会の最適化、コスト・モデル機能421

照会の最適化、フェデレーテッド・ビュー 419

前提条件 399

タプル 408

デフォルトのディレクトリー・パス401

ニックネーム 410

ニックネーム、データ関連 408

ニックネーム、登録 413

ニックネーム・オプションネーム・スペース 411

XML 文書の構文解析 408

ニックネーム・オプション、照会の最適化 410

ネーム・スペース 411

XML データ・ソース (続き)

フェデレーテッド・システムへの追加399

プロキシー・サーバー 407

プロキシー・サーバー、サーバー定義の例 404

プロキシー・サーバー、ラッパーの例402

ラッパー、登録 400

ラッパー・ライブラリー名 401

CREATE NICKNAME ステートメントの例 414

CREATE SERVER ステートメントの例 404

CREATE VIEW ステートメントの例420

CREATE WRAPPER ステートメント402

XPath 式 408

XML ニックネームフェデレーテッド・ビュー 419

576 フェデレーテッド・データ・ソース 構成ガイド

Page 587: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99
Page 588: IBMpublic.dhe.ibm.com/ps/products/db2/info/vr9/pdf/... · 定義行の構文解析 ............95 BLAST ニックネームの固定入力列 ......96 固定入力列のBLAST 検索タイプおよびスイッチ..99

���

Printed in Japan

SC88-4185-00