Error Handler サンプルを実行するには、2 つのデータベースを作成する必要があり、それぞれは 1 つの表に含まれて いなければなりません。 次のスクリプトは、Error Handler サンプルを実行するために必要なデータベースを作成します。
CREATE DB ERRORDB CONNECT TO ERRORDB BIND 'install_dir\bnd\@db2cli.lst' blocking all grant public CONNECT RESET CONNECT TO ERRORDB DROP TABLE ERRORS CREATE TABLE ERRORS (MSGID BLOB(48), TEXT CHAR(250), ERRORNUM INTEGER, ERRORDATE TIMESTAMP, FLOWNAME CHAR(32), NODENAME CHAR(32), MSGDATA BLOB(3200)) CONNECT RESET CREATE DB STAFFDB CONNECT TO STAFFDB BIND 'install_dir\bnd\@db2cli.lst' blocking all grant public CONNECT RESET CONNECT TO STAFFDB DROP TABLE STAFF CREATE TABLE STAFF (STAFFNUM CHAR(10), LASTCHANGE TIMESTAMP, FIRSTNAME CHAR(30), LASTNAME CHAR(30)) CONNECT RESET TERMINATE
このスクリプトの実行する作業は、次のとおりです。
この指示は、DB2 Universal Database を使用していることを前提としています。STAFFDB 表と ERRORDB 表を作成してそれにアクセスする際には、以下の問題に注意してください。
データベースを作成するには、次のようにします。
db2start
db2 -vf errorhandlerdb2.sql
スクリプトの実行が終了するまで待ちます。 初めてスクリプトを実行する場合、以下のメッセージが表示されます (DB2ADMIN はご使用のユーザー名、TBNAME は表の名前です)。
DB21034E コマンドが、有効なコマンド行プロセッサー・コマンドでないため、
SQL ステートメントとして処理されました。SQL 処理中に、以下が返されました。
SQL0204N "DB2ADMIN.TBNAME" は未定義の名前です。SQLSTATE=42704
これらのメッセージは無視してください。 メッセージが表示される理由は、スクリプトは現在作成している表と同じ名前を持つ既存の表を削除しようとしますが、これまで スクリプトを実行したことがない場合には、プログラムがそのような表を検出できないからです。
ERRORDB= IBM DB2 ODBC Database STAFFDB= IBM DB2 ODBC Database
[ERRORDB] Driver=/opt/IBM/db2/V8.1/lib/libdb2.so Description=ERRORDB DB2 ODBC Database Database=ERRORDB [STAFFDB] Driver=/opt/IBM/db2/V8.1/lib/libdb2.so Description=STAFFDB DB2 ODBC Database Database=STAFFDB
これで、ODBC ドライバーが正しく構成されました。