この説明では、Oracle データベースを使用していることを前提とし、以下のタスクを順番に説明していきます。
注 ROUTING_TABLE 表を作成してそれにアクセスする際には、以下の問題に注意してください。
始める前に: データベースを作成します。
以下のステップを実行します。
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');
sqlplus <uid>/<password> @routing2.sql
スクリプトの実行が終了するまで待ちます。 スクリプトを初めて実行すると、次のようなメッセージが表示されます。
ORA-00942: table or view does not existメッセージを無視します。メッセージが表示される理由は、スクリプトは ROUTING_TABLE という既存の表を新規表の作成前に除去しようとしますが、これまでスクリプトを実行したことがない場合は、スクリプトが既存の表を検出できないからです。
詳しくは、WebSphere Message Broker の資料で『 データベースへの ODBC 接続を使用可能にする』を参照してください。