SQLTUL ツールは、DB2 DSNTIAUL に相当します。1 つの JCL ステップで最大 100 個のテーブルから一部またはすべての行をアンロードするために使用されます。SQLTUL では、LOB と時間間隔の型を除くすべての組み込みデータ型のデータをアンロードできます。アンロード データのフォーマットは SQLUTB LOAD ユーティリティと互換性があり、アンロード プロセスでロード制御文が生成されます。アンロード データは、デフォルトでは ASCII 文字セットでエンコードされ、必要に応じて EBCDIC 文字セットでエンコードすることもできます。
SQLTUL を使用して SQL の非 SELECT 文を動的に実行することもできます。
SQLTUL では、OpenESQL ランタイムを介して、SQL Server、DB2 LUW、Oracle、PostgreSQL など、多くの一般的な RDBMS をサポートします。特定の RDBMS に対して実行する場合、SQLTUL で使用される SELECT 文の SQL 方言は、その RDBMS のネイティブの方言になります。たとえば、対象が SQL Server の場合は T-SQL 方言を使用します。
次に、SQLTUL を使用した JCL の例を示します。
//UNLOADTL JOB //RESETDB EXEC PGM=IKJEFT01 //SYSTSPRT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSREC00 DD DSN=MCS.UNLOAD. UNLOADTL, // UNIT=SYSDA,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG), // VOL=SER=SCR03,RECFM=FB //SYSPUNCH DD DSN=MCS. UNLOADTL.SYSPUNCH, // UNIT=SYSDA,SPACE=(CYL,(1,1)),DISP=(MOD,CATLG), // VOL=SER=SCR03,RECFM=FB //SYSUDUMP DD SYSOUT=* //SYSOUT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(HCOD) RUN PROGRAM(SQLTUL) PARMS('SQL,250') //SYSIN DD * SELECT * FROM MFIXCH.EMP; /*
ここで、HCOD はデータベース接続の ODBC XAR ID です。
SQLTUL は、フェッチごとの行数を示すパラメーターを無視し、LOBFile パラメーターを無視します。