この説明では、DB2 Universal Database を使用していることを前提とし、以下のタスクを順番に説明していきます。
注: ROUTING_TABLE 表を作成してそれにアクセスする際には、以下の問題に注意してください。
以下のステップを実行します。
Windows の場合:
install_dir は、DB2 製品のインストール・ディレクトリーへのパスで置き換える必要があります (C:¥PROGRA~1¥IBM¥SQLLIB など)。この場所は、以下の db2level コマンドを使って取得することができます。
CREATE DB ROUTING CONNECT TO ROUTING BIND 'install_dir\bnd\@db2cli.lst' blocking all grant public TERMINATE
Linux の場合:
install_dir は、DB2 製品のインストール・ディレクトリーへのパスで置き換える必要があります。この場所は、以下の db2level コマンドを使って取得することができます。CREATE DB ROUTING CONNECT TO ROUTING BIND install_dir/bnd/@db2cli.lst grant public CLIPKG 5 TERMINATE
db2start
db2 -vf routing1.sql
CONNECT TO ROUTING DROP TABLE ROUTING_TABLE CREATE TABLE ROUTING_TABLE (Variable1 varchar(32),Variable2 varchar(32),Variable3 varchar(32), queue_manager varchar(48),queue_name varchar(48)) INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'default','default', 'MB8QMGR', 'ROUTING.DEFAULT') INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'TD', 'Montana', 'MB8QMGR', 'ROUTING.OUT1') INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'DL', 'Corleone', 'MB8QMGR', 'ROUTING.OUT2') INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'AA', 'Pacino', 'MB8QMGR', 'ROUTING.OUT3') INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'RJ', 'DeNiro', 'MB8QMGR', 'ROUTING.OUT4') INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'KF', 'Cobain', 'MB8QMGR', 'ROUTING.OUT5') INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'JE', 'Matrix', 'MB8QMGR', 'ROUTING.OUT6') INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'PL', 'Parker', 'MB8QMGR', 'ROUTING.OUT7') INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'CJ', 'Kent', 'MB8QMGR', 'ROUTING.OUT8') INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'MA', 'Douglas', 'MB8QMGR', 'ROUTING.OUT9') INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'JD', 'Travolta', 'MB8QMGR', 'ROUTING.OUT10') INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'HO', 'Ramsden', 'MB8QMGR', 'ROUTING.OUT11') INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'KA', 'Stewart', 'MB8QMGR', 'ROUTING.OUT12') INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'LS', 'Skywalker', 'MB8QMGR', 'ROUTING.OUT13') INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'KD', 'Minogue', 'MB8QMGR', 'ROUTING.OUT14') INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'PP', 'Pitstop', 'MB8QMGR', 'ROUTING.OUT15') INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'JA', 'Reeve', 'MB8QMGR', 'ROUTING.OUT16') INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'JA', 'Hetfield', 'MB8QMGR', 'ROUTING.OUT17') INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'DT', 'Zuko', 'MB8QMGR', 'ROUTING.OUT18') INSERT INTO ROUTING_TABLE VALUES('SAMPLE_QUEUES', 'KA', 'Braithwaite', 'MB8QMGR', 'ROUTING.OUT19') TERMINATE
db2 -vf routing2.sql
スクリプトの実行が終了するまで待ちます。 初めてスクリプトを実行する場合は、以下のメッセージが表示されます (DB2ADMIN はご使用のユーザー名)。
DB21034E コマンドが、有効なコマンド行プロセッサー・コマンドでないため、SQL ステートメントとして処理されました。 SQL 処理中に、以下のコマンドが返されました。 SQL0204N "DB2ADMIN.ROUTING_TABLE" は未定義の名前です。 SQLSTATE=42704
メッセージを無視します。メッセージが表示される理由は、スクリプトは ROUTING_TABLE という既存の表を新規表の作成前に除去しようとしますが、これまでスクリプトを実行したことがない場合は、スクリプトが既存の表を検出できないからです。
詳しくは、WebSphere Message Broker の資料で『 データベースへの ODBC 接続を使用可能にする』を参照してください。