この説明では、DB2 Universal Database を使用していることを前提とし、以下のタスクを順番に説明していきます。
注 SROUTEDB 表を作成してそれにアクセスする際には、以下の問題に注意してください。
以下のステップを実行します。
Windows の場合:
install_dir は、DB2 製品のインストール・ディレクトリーへのパスで置き換える必要があります (C:¥PROGRA~1¥IBM¥SQLLIB など)。この場所は、db2level コマンドを使って取得することができます。CREATE DB SROUTEDB CONNECT TO SROUTEDB BIND 'install_dir\bnd\@db2cli.lst' blocking all grant public TERMINATE
Linux の場合:
install_dir は、DB2 製品のインストール・ディレクトリーへのパスで置き換える必要があります。この場所は、db2level コマンドを使って取得することができます。CREATE DB SROUTEDB CONNECT TO SROUTEDB BIND install_dir/bnd/@db2cli.lst grant public CLIPKG 5 TERMINATE
db2start
db2 -vf simplifieddbrouting1.sql
CONNECT TO SROUTEDB DROP TABLE DEPARTMENT CREATE TABLE DEPARTMENT (DEPTNUM CHAR(3) NOT NULL, DEPTNAME VARCHAR(36) NOT NULL, MGRNUM CHAR(6)) INSERT INTO DEPARTMENT VALUES('D00', 'Personnel', '000010') INSERT INTO DEPARTMENT VALUES('D01', 'Development', '000020') INSERT INTO DEPARTMENT VALUES('D02', 'Support', '000030') DROP TABLE EMPLOYEE CREATE TABLE EMPLOYEE (EMPNUM CHAR(6) NOT NULL, FIRSTNM VARCHAR(20) NOT NULL, LASTNM VARCHAR(15) NOT NULL, PHONENUM CHAR(4), WORKDEPT CHAR(3), YEARSSERVICE INTEGER, AGEINYRS INTEGER, SEX CHAR(1), SALARY DECIMAL(9,2)) INSERT INTO EMPLOYEE VALUES('000010', 'DAVID', 'BROWN', '4501', 'D01', 10, 54, 'M', 23250.00) INSERT INTO EMPLOYEE VALUES('000020', 'SALLY', 'KWAN', '4738', 'D00', 9, 27, 'F', 18375.00) INSERT INTO EMPLOYEE VALUES('000030', 'JOHN', 'GEYER', '6789', 'D01', 22, 47, 'M', 53000.00) INSERT INTO EMPLOYEE VALUES('000040', 'EVA', 'SMITH', '7831', 'D00', 12, 37, 'F', 29000.00) TERMINATE
db2 -vf simplifieddbrouting2.sql
スクリプトの実行が終了するまで待ちます。 初めてスクリプトを実行する場合、以下のメッセージが表示されます (DB2ADMIN はご使用のユーザー名、DEPARTMENT は表の名前です)。
DB21034E コマンドが、有効なコマンド行プロセッサー・コマンドでないため、SQL ステートメントとして処理されました。 SQL 処理中に、以下のコマンドが返されました。 SQL0204N "DB2ADMIN.DEPARTMENT" は未定義の名前です。 SQLSTATE=42704これらのメッセージは無視してください。 メッセージが表示される理由は、スクリプトは DEPARTMENT および EMPLOYEE という既存の表を新規の表の作成前に除去しようとしますが、これまでスクリプトを実行したことがない場合は、スクリプトが既存の表を検出できないからです。
これで JDBCProvider 定義を作成できるようになりました。DB2 データベース用の JDBC プロバイダー・エントリーの作成を参照してください。