SQLTP2 ユーティリティは、DB2 DSNTEP2 に相当します。Enterprise Server で XAR 定義によって確立されている ODBC データベース接続を前提として、JCL に埋め込まれた動的 SQL 文を実行するために使用します。データベース移行プロセスでは、これを使用して DBMS に対して DDL を実行し、スキーマ オブジェクトを作成および変更します。
SQLTP2 を使用するには、JCL アプリケーション プロジェクトを作成するか、または Enterprise Server の JES CONTROL 機能を使用して、直接 JCL をサブミットします。JCL 構文は、z/OS DB2 互換である必要があります。
MBDT 構成ユーティリティを実行する場合、SQL 文を処理するためのオプションが 2 つあります。これらのオプションは、データベース タイプとして指定します。ネイティブの DBMS SQL 方言を使用するにはデフォルトの A[gnostic] に設定し、SQL Server 用の DB2 方言を使用するには H[COSS] に設定します。データベース タイプを HCOSS (SQL Server 用の DB2 方言) に設定した場合、SQLTP2 ユーティリティは、z/OS DB2 SQL 文を SQL Server 文に変換してからディスパッチして実行するよう ESQL ランタイムに命令します。
SQL Server 用の DB2 方言を使用した CREATE TABLE 文の JCL の例を次に示します。
//DDLJOB2 JOB //RESETDB EXEC PGM=IKJEFT01 //SYSTSPRT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSPUNCH DD SYSOUT=* //SYSREC00 DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSOUT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(HCOD) RUN PROGRAM(DSNTEP2) END /* //SYSIN DD * CREATE TABLE HCOSQL.EMP ( EMPNO CHAR(6) NOT NULL, FIRSTNME VARCHAR(12) NOT NULL, MIDINIT CHAR(1) NOT NULL, LASTNAME VARCHAR(15) NOT NULL, WORKDEPT CHAR(3), PHONENO CHAR(4), HIREDATE DATE, JOB CHAR(8), EDLEVEL SMALLINT, SEX CHAR(1), BIRTHDATE DATE, SALARY DECIMAL(9,2), BONUS DECIMAL(9,2), COMM DECIMAL(9,2), PRIMARY KEY (EMPNO) ) IN XDBIBMDB.XDBIBMTS; /* //
ここで、HCOD はデータベース接続の ODBC XAR ID であり、SQLTP2 は DSNTEP2 のエイリアスとして確立されており、セミコロン (;) は SQL ターミネーターです。