HCOSS DSNTEP2 ユーティリティ

注意:このトピックは、初期採用者向けリリース・ステータスにある機能に適用されます。機能の最終版については、今後リリースする予定です。詳細については、Micro Focus SupportLine までお問い合わせください。

HCOSS DSNTEP2 ユーティリティは、DB2 DSNTEP2 に相当します。データベース接続が確立されている場合、これを使用して JCL に埋め込まれた動的 SQL 文が実行されます。データベース移行プロセスでは、これを使用して SQL Server に対して DDL を実行し、スキーマ・オブジェクトを作成および変更します。

重要:メインフレーム DB2 と SQL Server では参照整合性の実装に違いがあるため、テーブルを作成するには初期 DSNTEP2 ステップを実行することをお奨めします。データのロード後、追加の DSNTEP2 ステップを実行して、索引および制限事項を作成できます。

DSNTEP2 の実行

DSNTEP2 を使用するには、JCL アプリケーション・プロジェクトを作成するか、またはエンタープライズ・サーバの JES CONTROL 機能を使用して、直接 JCL をサブミットします。JCL 構文は、DB2 互換である必要があります。

SQL 文には、SQL Server 方言ではなく DB2 方言を使用します。DSNTEP2 プログラムは、SQL 文を SQL Server に送信して実行する前に、ESQL ランタイムを呼び出して方言の変換を処理します。SQL 文に SQL Server 固有の構文が含まれる場合は、エラーが発生します。例えば、SQL Server 方言では NULL 可能カラムのカラム定義に明示的な NULL を使用できますが、DB2 方言では NULL はサポートされていません。

次に、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(HCOTEP2)
 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 は DSN 名、HCOTEP2 は DSNTEP2 プログラム名、セミコロン (;) は SQL ターミネータです。

データ・タイプ

DB2 データ型と SQL Server データ型には、一部違いがあります。DSNTEP2 ユーティリティは、次のデータ・タイプ・マッピングを使用します。

DB2 データ型 SQL Server データ型
INTEGER INTEGER
BIGINT BIGINT
SMALLINT SMALLINT
DOUBLE FLOAT(53)
FLOAT(n) FLOAT(n)
REAL REAL
DECIMAL(p,s) DECIMAL(p,s)
CHAR CHAR
VARCHAR(n) n <= 8000 VARCHAR(n)
VARCHAR(n) n > 8000 VARCHAR(max)
GRAPHIC NCHAR
VARGRAPHIC NVARCHAR
DATE DATE
TIME TIME(0)
TIMESTAMP DATETIME2(6)
BINARY* BINARY
CHAR FOR BIT DATA* BINARY
BLOB* VARBINARY(max)
CLOB* NVARCHAR(max)
XML* XML
* HCOSS DSNUTILB ユーティリティではサポートされていません。

パラメータ

サポートされている DSNTEP2 パラメータは、次のとおりです。

  • ALIGN (MID)、ALIGN(LHS)
  • MIXED、NOMIXED
  • TOLWARN(YES)、TOLWARN(NO)
  • SQLTERM ( termchar )

制御文

DSNTEP2 では、SYSIN データ・セットの制御文は次の構文を使用します。
--#SET control-option-value
ここで、control-option-value は次のいずれかになります。
  • TERMINATOR
  • ROWS_FETCH
  • ROWS_OUT
  • MAXERRORS
  • TOLARTHWRN
  • TOLWARN
次の制御オプション値およびエラー発生値はサポートされていません。
  • MULTI-FETCH
  • PREPWARN
  • SQLFORMAT