Microsoft HIS 2013(V9) では、古い形式と新しい形式の両方がサポートされています。これには、XML ドキュメントを検証するための関連 XML スキーマが含まれています。 Microsoft HIS 2009 と HIS 2010 (V8.5) では、古い形式のみがサポートされています。
Microsoft static SQL for DB2 カスタム パッケージ XML ファイルには、BNDOPT (バインド オプション) と BNDSQLSTT (RDB パッケージへの SQL ステートメントのバインド) を使用して DRDA コマンド BGNBND (RDB へのパッケージのバインドを開始する) を実行する方法を DRDA クライアントと DRDA サーバーに通知する複数の要素が含まれています。 HostIntegrationStaticSql.xsd では、静的 SQL パッケージ バインド オプション、パッケージ名、パッケージ セクション、ステートメント、パラメーター、および結果セットを記述するために定義できる XML 要素、属性、および値について説明します。 次の XML リストは、カスタム パッケージ XML の例です。
<?xml version="1.0" encoding="utf-8"?>
<hostIntegration.staticSql xmlns="http://schemas.microsoft.com/his/StaticSql/2012">
<options bindAllowErrors="Validate"
bindAuthorizationKeep="true"
bindCheck="true"
bindReplace="true"
bindReplaceVersion=""
packageCcsidSbc="1208"
packageCcsidDbc="1208"
packageCcsidMbc="1200"
packageCharacterSubtype="Bit"
packageDecimalPrecision="15"
packageExecuteAuthorization="Requester"
bindExplain="AllExplainable"
packageIsolationLevel="RepeatableRead"
packageOwnerIdentifier=""
relationalDatabaseName=""
statementDateFormat="MdyHyphen"
statementDecimalDelimiter="Period"
defaultRdbCollection=""
releaseRelationalDatabase="Commit"
parallelProcessDegree="1"
keepPreparedStatement="None"
statementQueryProtocol="FixedRow"
statementStringDelimiter="Apostrophe"
statementTimeFormat="HmsColon"/>
<packages>
<package token="18BBB2BA1492DAC8"
version=""
collection="DSN8910"
id="DSN8HC3"
isolationLevel="RepeatableRead">
<sections>
<section number="1" alias="">
<statement number="1" sqlStatement="DECLARE CURDEPTLOC CURSOR FOR SELECT LOCATION FROM VHDEPT WHERE DEPTNO = :H AND LOCATION = CURRENT SERVER"/>
<parameters>
<parameter name="p00" nullable="false">
<smallInt length="2"/>
</parameter>
<parameter name="p01" nullable="false">
<int length="4" />
</parameter>
<parameter name="p02" nullable="false">
<bigInt length="8" />
</parameter>
<parameter name="p13" nullable="false">
<single length="4"/>
</parameter>
<parameter name="p14" nullable="false">
<double length="8"/>
</parameter>
<parameter name="p15" nullable="false">
<float length="8"/>
</parameter>
<parameter name="p16" nullable="false">
<real length="4" />
</parameter>
<parameter name="p17" nullable="false">
<date length="10"/>
</parameter>
<parameter name="p18" nullable="false">
<time length="8"/>
</parameter>
<parameter name="p19" nullable="false">
<timestamp length="26"/>
</parameter>
<parameter name="p03" nullable="false">
<char length="1" ccsid="1208"/>
</parameter>
<parameter name="p04" nullable="false">
<charForBit length="1"/>
</parameter>
<parameter name="p05" nullable="false">
<varChar length="1" ccsid="1208"/>
</parameter>
<parameter name="p06" nullable="false">
<varCharForBit length="1"/>
</parameter>
<parameter name="p07" nullable="false">
<graphic length="1" ccsid="1208"/>
</parameter>
<parameter name="p08" nullable="false">
<varGraphic length="1" ccsid="1208"/>
</parameter>
<parameter name="p09" nullable="false">
<blob length="1"/>
</parameter>
<parameter name="p10" nullable="false">
<clob length="1" ccsid="1208"/>
</parameter>
<parameter name="p11" nullable="false">
<decimal precision="9" scale="4"/>
</parameter>
<parameter name="p12" nullable="false">
<numeric precision="9" scale="4"/>
</parameter>
</parameters>
<resultSet>
<columns>
<column name="p00" ordinal="0"/>
<column name="p01" ordinal="1"/>
<column name="p02" ordinal="2"/>
<column name="p03" ordinal="3"/>
<column name="p04" ordinal="4"/>
<column name="p05" ordinal="5"/>
<column name="p06" ordinal="6"/>
<column name="p07" ordinal="7"/>
<column name="p08" ordinal="8"/>
<column name="p09" ordinal="9"/>
<column name="p10" ordinal="10"/>
<column name="p11" ordinal="11"/>
</columns>
</resultSet>
</section>
<section number="2" alias="">
<statement number="2" sqlStatement="DECLARE CURDEPTLOC CURSOR FOR SELECT LOCATION FROM VHDEPT WHERE DEPTNO = :H AND LOCATION = CURRENT SERVER"/>
<parameters>
<parameter name="p00" nullable="false">
<smallInt length="2"/>
</parameter>
<parameter name="p01" nullable="false">
<int length="4" />
</parameter>
<parameter name="p02" nullable="false">
<bigInt length="8" />
</parameter>
<parameter name="p13" nullable="false">
<single length="4"/>
</parameter>
<parameter name="p14" nullable="false">
<double length="8"/>
</parameter>
<parameter name="p15" nullable="false">
<float length="8"/>
</parameter>
<parameter name="p16" nullable="false">
<real length="4" />
</parameter>
<parameter name="p17" nullable="false">
<date length="10"/>
</parameter>
<parameter name="p18" nullable="false">
<time length="8"/>
</parameter>
<parameter name="p19" nullable="false">
<timestamp length="26"/>
</parameter>
<parameter name="p03" nullable="false">
<char length="1" ccsid="1208"/>
</parameter>
<parameter name="p04" nullable="false">
<charForBit length="1" ccsid="1208"/>
</parameter>
<parameter name="p05" nullable="false">
<varChar length="1" ccsid="1208"/>
</parameter>
<parameter name="p06" nullable="false">
<varCharForBit length="1" ccsid="1208"/>
</parameter>
<parameter name="p07" nullable="false">
<graphic length="1" ccsid="1208"/>
</parameter>
<parameter name="p08" nullable="false">
<varGraphic length="1" ccsid="1208"/>
</parameter>
<parameter name="p09" nullable="false">
<blob length="1" ccsid="65535"/>
</parameter>
<parameter name="p10" nullable="false">
<clob length="1" ccsid="1208"/>
</parameter>
<parameter name="p11" nullable="false">
<decimal precision="9" scale="4"/>
</parameter>
<parameter name="p12" nullable="false">
<numeric precision="9" scale="4"/>
</parameter>
</parameters>
<resultSet>
<columns>
<column name="p00" ordinal="0"/>
<column name="p01" ordinal="1"/>
<column name="p02" ordinal="2"/>
<column name="p03" ordinal="3"/>
<column name="p04" ordinal="4"/>
<column name="p05" ordinal="5"/>
<column name="p06" ordinal="6"/>
<column name="p07" ordinal="7"/>
<column name="p08" ordinal="8"/>
<column name="p09" ordinal="9"/>
<column name="p10" ordinal="10"/>
<column name="p11" ordinal="11"/>
</columns>
</resultSet>
</section>
<section number="3" alias="">
<statement number="3" sqlStatement="DECLARE CURDEPTLOC CURSOR FOR SELECT LOCATION FROM VHDEPT WHERE DEPTNO = :H AND LOCATION = CURRENT SERVER"/>
<parameters>
<parameter name="p00" nullable="false">
<smallInt length="2"/>
</parameter>
<parameter name="p01" nullable="false">
<int length="4" />
</parameter>
<parameter name="p02" nullable="false">
<bigInt length="8" />
</parameter>
<parameter name="p13" nullable="false">
<single length="4"/>
</parameter>
<parameter name="p14" nullable="false">
<double length="8"/>
</parameter>
<parameter name="p15" nullable="false">
<float length="8"/>
</parameter>
<parameter name="p16" nullable="false">
<real length="4" />
</parameter>
<parameter name="p17" nullable="false">
<date length="10"/>
</parameter>
<parameter name="p18" nullable="false">
<time length="8"/>
</parameter>
<parameter name="p19" nullable="false">
<timestamp length="26"/>
</parameter>
<parameter name="p03" nullable="false">
<char length="1" ccsid="1208"/>
</parameter>
<parameter name="p04" nullable="false">
<charForBit length="1" ccsid="1208"/>
</parameter>
<parameter name="p05" nullable="false">
<varChar length="1" ccsid="1208"/>
</parameter>
<parameter name="p06" nullable="false">
<varCharForBit length="1" ccsid="1208"/>
</parameter>
<parameter name="p07" nullable="false">
<graphic length="1" ccsid="1208"/>
</parameter>
<parameter name="p08" nullable="false">
<varGraphic length="1" ccsid="1208"/>
</parameter>
<parameter name="p09" nullable="false">
<blob length="1" ccsid="65535"/>
</parameter>
<parameter name="p10" nullable="false">
<clob length="1" ccsid="1208"/>
</parameter>
<parameter name="p11" nullable="false">
<decimal precision="9" scale="4"/>
</parameter>
<parameter name="p12" nullable="false">
<numeric precision="9" scale="4"/>
</parameter>
</parameters>
<resultSet>
<columns>
<column name="p00" ordinal="0"/>
<column name="p01" ordinal="1"/>
<column name="p02" ordinal="2"/>
<column name="p03" ordinal="3"/>
<column name="p04" ordinal="4"/>
<column name="p05" ordinal="5"/>
<column name="p06" ordinal="6"/>
<column name="p07" ordinal="7"/>
<column name="p08" ordinal="8"/>
<column name="p09" ordinal="9"/>
<column name="p10" ordinal="10"/>
<column name="p11" ordinal="11"/>
</columns>
</resultSet>
</section>
</sections>
</package>
</packages>
</hostIntegration.staticSql>
オプション要素
Options 要素には、DRDA コマンド BGNBND (RDB へのパッケージのバインドの開始) の実行時に BNDOPT (バインド オプション) の値を定義する一連の省略可能な属性が含まれています。
パッケージ作成のコントロールをバインドする
bindAllowErrors 属性は、パッケージ バインド中にエラーが許可されるかどうかを DRDA サーバーに通知します。 この省略可能な属性は、文字列値を受け入れます。
[ はい] の値は、エラーを許可し、パッケージのバインドを続行するように DRDA サーバーに指示します。
値 No は、エラーが許可されていないことを DRDA サーバーに指示します。
Validate の値は、バインド要求のみを検証するように DRDA サーバーに指示します。
既定値は なし です。
パッケージ承認オプション
bindAuthorizationKeep 属性は、パッケージが置き換えられるときに、パッケージの承認を保持するか取り消すかを DRDA サーバーに通知します。 この省略可能な属性は、ブール値を受け入れます。 これは既定値は true です。
バインドの存在確認
bindCheck 属性は、パッケージ・ステートメントで参照されるデータベース・オブジェクトおよび権限の存在を検査するときにエラーを戻すかどうかを DRDA サーバーに通知します。 この省略可能な属性は、ブール値を受け入れます。 既定値は false です。
パッケージ置換オプション
bindReplace 属性は、バインドが既存のパッケージを置き換える必要があるかどうかを DRDA サーバーに指示します。 この省略可能な属性は、ブール値を受け入れます。 これは既定値は true です。
置き換えられたパッケージ のバージョン名
bindReplaceVersion 属性は、DRDA サーバーが置き換えるパッケージのパッケージ バージョン名を定義します。 この省略可能な属性は、文字列値を受け入れます。 この要素の既定値はありません。
列のデフォルトのSBCS CCSIDを指定するパッケージ
packageCcsidSbc は、SQL CREATE または ALTER テーブル ステートメントの実行時に使用する Single-Byte 文字のコード文字セット識別子を DRDA サーバーに通知します。 この省略可能な属性は整数値を受け入れます。 既定値は 1208 です。
カラム用パッケージのデフォルトDBCS CCSID
packageCcsidDbc は、SQL CREATE または ALTER テーブル ステートメントの実行時に使用する Double-Byte 文字のコード文字セット識別子を DRDA サーバーに通知します。 この省略可能な属性は整数値を受け入れます。 既定値は 1200 です。
列に対する既定の MBCS CCSID のパッケージ
packageCcsidMbc は、SQL CREATE または ALTER テーブル ステートメントの実行時に使用する Mixed-Byte 文字のコード文字セット識別子を DRDA サーバーに通知します。 この省略可能な属性は整数値を受け入れます。 既定値は 1208 です。
パッケージの既定の文字サブタイプ
packageCharacterSubtype 属性は、SQL CREATE または ALTER テーブル ステートメントの実行時に使用する文字サブタイプを DRDA サーバーに通知します。 この省略可能な属性は、文字列値を受け入れます。 既定値は Default です。
価値 | 説明 |
---|---|
ビット | ビットデータ用CHAR |
既定値 | システムの既定 |
MBCS | Mixed-Byte 文字セット |
SBCS | Single-Byte 文字セット |
小数の精度
packageDecimalPrecision 属性は、DRDA サーバーに既定の 10 進精度を通知します。 この省略可能な属性は、15、16、31、または 63 の整数値を受け取ります。 既定値は 15 です。
注
IBM DB2 for IBM i に接続するときは、この属性を指定しないでください。
パッケージ承認規則
packageExecuteAuthorization 属性は、動的 SQL ステートメントの実行時に使用する承認識別子を DRDA サーバーに通知します。 この省略可能な要素属性は文字列値です。 既定値は Requester です。
価値 | 説明 |
---|---|
依頼者 | DRDA リクエスター承認を使用するように DRDA サーバーに指示します |
オーナー | パッケージ所有者の承認を使用するように DRDA サーバーに指示します |
呼び出し元に戻す (InvokerRevertToRequester) | 関数またはストアド プロシージャの呼び出し元の承認を使用するように DRDA サーバーに指示します。それ以外の場合は DRDA リクエスター承認を使用します |
InvokerRevertToOwner | 関数またはストアド プロシージャの呼び出し側の承認を使用するように DRDA サーバーに指示します。それ以外の場合はパッケージ所有者の承認を使用します |
定義者が要求者に戻す | 関数またはストアド プロシージャの作成者の承認を使用するように DRDA サーバーに指示します。それ以外の場合は DRDA リクエスター承認を使用します |
DefinerRevertToOwner | 関数またはストアド プロシージャの作成者の承認を使用するように DRDA サーバーに指示します。それ以外の場合は、パッケージ所有者の承認を使用します |
バインドの説明オプション
bindExplain 属性は、説明可能なデータベース オブジェクトの説明情報を生成するかどうかを DRDA サーバーに通知します。 この省略可能な属性は、文字列値を受け入れます。
ExplainNone の値は、説明情報を生成しないように DRDA サーバーに指示します。
ExplainAll の値は、すべてのステートメントを説明するように DRDA サーバーに指示します。
ExplainStatic の値は、静的 SQL ステートメントのみを説明するように DRDA サーバーに指示します。
既定値は ExplainNone です。
注
IBM DB2 for IBM i および DB2 for LUW に接続する場合は、 ExplainNone のみの値を指定する必要があります。
パッケージ分離レベル
packageIsolationLevel 属性は、要求された DRDA PKGISOLVL (パッケージ分離レベル) でパッケージをバインドするように DRDA サーバーに指示します。 この必須属性は、文字列値を受け入れます。 既定値は ReadCommitted です。
価値 | 説明 |
---|---|
ReadCommitted (リードコミッテッド) | ANSI READ COMMITTED(ANSI 読み込みコミット済み) DRDA ISOLVLCS (分離レベルカーソルの安定性) IBM DB2 カーソルの安定性 (CS) IBM DB2 for IBM i COMMIT(*CS) Microsoft .NET Framework ReadCommitted |
シリアル化可能 | ANSI SERIALIZABLE(ANSI標準のシリアライズ可能) DRDA ISOLVLRR (分離レベル反復可能読み取り) IBM DB2 REPEATABLE READ (RR) IBM DB2 for IBM i COMMIT(*RR) Microsoft .NET Framework シリアライズ可能な |
リピータブルリード | ANSI リピート可能な読み取り DRDA ISOLVLALL (分離レベルすべて) IBM DB2 読み取り安定性 (RS) IBM DB2 for IBM i COMMIT(*RS) Microsoft .NET Framework RepeatableRead |
Read Uncommitted(リード・アンコミッテッド) | ANSI READ UNCOMMITTED DRDA ISOLVLCHG (分離レベルの変更) IBM DB2 UNCOMMITTED READ (未コミット読み取り) (UR) IBM DB2 for IBM i COMMIT(*UR) Microsoft .NET Framework ReadUncommitted |
コミットなし | DRDA ISOLVLNC (コミットなしの分離レベル) IBM DB2 for IBM i COMMIT(*NC) |
パッケージ所有者識別子
packageOwnerIdentifier 属性は、パッケージの所有者である承認識別子を DRDA サーバーに指示します。 この省略可能な属性は、文字列値を受け入れます。 この要素の既定値はありません。
ステートメントの日付形式
statementDateFormat 要素は、SQL ステートメントで使用するステートメントの日付形式を DRDA サーバーに通知します。 この省略可能な要素は、文字列値を受け入れます。 既定値は Defaultです。
価値 | フォーマット | 説明 |
---|---|---|
磯 | yyyy-mm-dd | ISO 日付形式 |
米国 | mm/dd/yyyy | 米国の日付形式 |
ユーロ | dd.mm.yyyy | ヨーロッパの日付形式 |
Jis | yyyy-mm-dd | JIS 日付形式 |
既定値 | NA | 既定の日付形式 |
ローカル | NA | ローカル日付形式 |
DmyBlank | dd mm yy | 日 月 年(空白区切り) |
DmyComma | dd,mm,yy | 「日、月、年の順序でコンマ区切り」 |
DmyHyphen | dd-mm-yy | 「日-月-年」形式(ハイフンで区切り) |
DmyPeriod | dd.mm.yy | 日の月の年 (ピリオド区切り記号付き) |
DmySlash | dd/mm/yy | 日/月/年 (スラッシュ区切り) |
JulBlank | yy ddd | 空白の区切り記号を持つユリウス |
JulComma | yy,ddd | コンマ区切り記号付きユリウス |
JulHyphen | yy-ddd | ハイフン区切り記号付きユリウス |
JulPeriod | yy.ddd | ピリオド区切り記号を持つユリウス |
ジュルスラッシュ | yy/ddd | スラッシュで区切られたユリウス暦 |
MdyBlank | mm dd yy | 「月 日 年」という順番で、空白の区切り記号を使用します。 |
MdyComma | mm、dd、yy | 月、日、年(コンマによる区切り) |
MdyHyphen | mm-dd-yy | 年月日(ハイフンで区切る形式) |
MdyPeriod | mm.dd.yy | 月.日.年(ピリオド区切り) |
MdySlash | mm/dd/yy | 月/日/年(スラッシュ区切り) |
YmdBlank | yy年mm月dd日 | 年、月、日を空白で区切る形式 |
YmdComma | yy,mm,dd | 年、月、日(カンマ区切り) |
YmdHyphen | yy-mm-dd | 年-月-日(ハイフン区切り) |
YmdPeriod | yy/mm/dd | 年.月.日(ピリオド区切り) |
YmdSlash | yy/mm/dd | 年月の日 (スラッシュ区切り記号付き) |
ステートメントの小数点区切り記号
statementDecimalDelimiter 属性は、SQL ステートメントで使用するステートメントの 10 進区切り記号を DRDA サーバーに通知します。 この省略可能な属性は、文字列値を受け入れます。 既定値は System です。
価値 | 説明 |
---|---|
ピリオド | 期間を示します |
コンマ | コンマを示します |
パッケージ | パッケージを再バインドするときに、パッケージの既定値を示します |
システム | システムの既定値を示します |
既定の RDB コレクション ID
defaultRdbCollection 属性は、修飾されていないデータベース オブジェクト名を完了するために使用する既定のコレクション識別子を DRDA サーバーに通知します。 この省略可能な属性は、文字列値を受け入れます。 既定値はありません。 IBM DB2 for z/OS は、128 バイトのストリングを受け入れます。 IBM DB2 for IBM i は 10 バイトのストリングを受け入れます。 IBM DB2 for LUW は、30 バイトのストリングを受け入れます。
データベース オブジェクト リソースの解放
releaseDatabaseResources 属性は、パッケージの実行に関連付けられているロックなどのデータベース オブジェクト リソースを解放するタイミングを DRDA サーバーに通知します。 この省略可能な属性は、文字列値を受け入れます。 値 Commit は、トランザクション コミットの処理中にデータベース オブジェクト リソースを解放するように DRDA サーバーに指示します。 値 Deallocation は、セッションの割り当てを解除するときにデータベース オブジェクト リソースを解放するように DRDA サーバーに指示します。 既定値は Commit です。
IO 並列処理の次数
parallelProcessDegree 属性は、バインドされたステートメントに I/O 並列処理を使用する度合いを DRDA サーバーに通知します。 この省略可能な属性は、-1 から 32676 までの整数値を受け取ります。 値 1 は、IO 並列処理が不要であることを DRDA サーバーに指示します。 値 -1 は、適切な IO 並列処理の程度を適用するように DRDA サーバーに指示します。 既定値は 1 です。
準備されたステートメントを保持する
keepPreparedStatement 属性は、解放されるまで、準備済みの動的 SQL ステートメントを保持するように DRDA サーバーに指示します。 この省略可能な属性は、文字列値を受け入れます。 既定値は None です。
価値 | 説明 |
---|---|
無し | コミットまたはロールバック時にステートメントがリリースされることを示します。 |
コミット | コミット中にステートメントが保持されるが、ロールバック中に解放されたことを示します |
ロールバック | ステートメントがコミット中に解放されるが、ロールバック中に保持されていることを示します |
全て | コミットとロールバック中にステートメントが保持されていることを示します |
クエリ ブロック プロトコル制御
statementQueryProtocol 属性は、クエリで結果を返すときに使用するクエリ ブロック プロトコルの種類を DRDA サーバーに指示します。 この省略可能な属性は、文字列値を受け入れます。 既定値は FixedRow です。
価値 | 説明 |
---|---|
FixedRow | 固定行クエリ プロトコルを示します |
リミテッドブロック | 制限付きブロック クエリ プロトコルを示します |
フォースフィクスドロー | 強制固定行クエリ プロトコルを示します |
ステートメント文字列区切り記号
statementStringDelimiter 属性は、SQL ステートメントで使用するステートメント文字列区切り記号を DRDA サーバーに通知します。 この省略可能な属性は、文字列値を受け入れます。 既定値は System です。
価値 | 説明 |
---|---|
アポストロフィ | アポストロフィを示します |
ダブルクオート | 二重引用符を示します |
パッケージ | パッケージを再バインドするときに、パッケージの既定値を示します |
システム | システムの既定値を示します |
ステートメント時間の形式
statementTimeFormat 属性は、SQL ステートメントで使用するステートメント時間形式を DRDA サーバーに通知します。 この省略可能な属性は、文字列値を受け入れます。 既定値は Iso です。
価値 | フォーマット | 説明 |
---|---|---|
磯 | hh.mm.ss | ISO 時刻形式 |
米国 | hh:mm:ss AM | 米国時間形式 AM |午後 |
ユーロ | hh.mm.ss | ユーロ 時刻形式 |
Jis | hh:mm:ss | JIS 時刻形式 |
既定値 | NA | 既定の時刻形式 |
ローカル | NA | 現地時刻の形式 |
HmsBlank | hh mm ss | 時、分、秒(空白区切り) |
HmsColon | hh:mm:ss | コロン区切り記号を使用した Hour Minute Second |
HmsComma | hh,mm,ss | Hour Minute Second (コンマ区切り記号付き) |
HmsPeriod | hh.mm.ss | 時刻の単位「時間・分・秒」の間にピリオド区切りを使用 |
「Packages」要素
packages 要素には、DRDA コマンド BGNBND (RDB へのパッケージのバインド開始) の実行時に値を定義する 1 つ以上のパッケージ要素が含まれています。
パッケージ要素
パッケージ要素には、属性のセットとセクション要素が含まれています。
コレクション識別子
collectionIdentifier 属性は DRDA RDBCOLID (RDB コレクション識別子) に対応し、パッケージをバインドするコレクションを DRDA サーバーに指示します。 この省略可能な要素は、文字列値を受け入れます。 既定値はありません。 IBM DB2 for z/OS は、128 バイトのストリングを受け入れます。 IBM DB2 for IBM i は 10 バイトのストリングを受け入れます。 IBM DB2 for LUW は、30 バイトのストリングを受け入れます。
注
DRDA は、これらの複数の部分で構成される PKGNAM (RDB パッケージ名) を使用して、完全修飾静的 SQL パッケージを定義します。
RDBNAM (リレーショナル データベース名)
RDBCOLID (RDB コレクション識別子)
PKGID (RDB パッケージ識別子)
RDBNAME.RDBCOLID.PKGID.PKGCNSTKN.PKGSN
前の例は、整合性トークンを持つ完全修飾パッケージ名を示しています。
パッケージ識別子
packageIdentifier 属性は DRDA PKGID (RDB パッケージ識別子) に対応し、パッケージ識別子が DRDA サーバーに通知されます。 この必須要素は文字列値を受け入れます。 既定値はありません。 IBM DB2 は、128 バイトのストリングを受け入れます。
整合性トークン
consistencyToken 属性は DRDA PKGCNSTKN (RDB パッケージ整合性トークン) に対応し、パッケージ整合性トークンとは何かを DRDA サーバーに通知します。 この省略可能な要素は、文字列値を受け入れます。 既定値はありません。 IBM DB2 では、8 バイトの文字列がサポートされています。
注
PKGNAM に対して複数のパッケージの値が同じである場合、パッケージは VRSNAM (バージョン名) または PKGCNSTKN (パッケージ名整合性トークン) によって区別されます。
PKGCNSTKN (RDB パッケージ整合性トークン)
VRSNAM (バージョン名)
バージョン名
versionName 属性は DRDA VRSNAM (バージョン名) に対応し、パッケージのバージョン名が DRDA サーバーに通知されます。 この省略可能な要素は、文字列値を受け入れます。 既定値は null です。 IBM DB2 では、254 バイトの文字列がサポートされています。
パッケージ タイトル
Title 属性は DRDA TITLE (Title) に対応し、説明的なコメントでパッケージをバインドするように DRDA サーバーに指示します。 この省略可能な要素は、文字列値を受け入れます。 既定値はありません。 DRDA では、254 バイトの文字列がサポートされています。
セクション要素
sections 要素には、DRDA コマンド BGNBND (RDB へのパッケージのバインド開始) の実行時に値を定義する 1 つ以上のセクション要素が含まれています。
セクション要素
section 要素には、属性のセット、必須のステートメント要素、および省略可能な resultSet 要素が含まれています。
セクション番号
packageSectionNumber 属性は DRDA PKGSN (RDB パッケージ セクション番号) に対応し、この番号としてセクションをバインドするように DRDA サーバーに指示します。 この省略可能な属性は整数値を受け取り、Package 要素内で一意である必要があります。 既定値はありません。
セクションエイリアス
packageSectionAlias 属性は、エイリアス名に基づいてパッケージ セクションを検索するように Microsoft DRDA クライアントに指示します。 この省略可能な要素は、8 バイトの文字列値を受け入れます。 既定値はありません。
注
Microsoft.HostIntegration.MsDb2Client.MsDb2Connection SetCustomPackageData のプログラマ リファレンスを参照してください。
ステートメント要素
Statement 要素には、属性のセットと省略可能なパラメーター要素が含まれています。
ステートメント番号
sqlStatementNumber 属性は DRDA SQLSTTNBR (SQL ステートメント番号) に対応し、ソース アプリケーションに埋め込まれたステートメントへの参照であるこの番号としてステートメントをバインドするように DRDA サーバーに指示します。 この省略可能な属性は整数値を受け取り、Package 要素内で一意である必要があります。 既定値はありません。
SQL ステートメントの前提条件
sqlStatementAssumptions 属性は DRDA BNDSTTASM (Bind SQL ステートメントの前提条件) に対応し、ステートメントをこれらの前提条件にバインドするように DRDA サーバーに指示します。 この省略可能な属性は、ブール値を受け入れます。 "はい" の値は、ソース サーバーがプログラムプリコンパイル準備プロセス中にステートメントを正常に分類したことを示します。 値 No は、ソース サーバーが分類できなかったステートメントを想定したことを示します。 既定値は Yes です。
SQL ステートメントのコマンド テキスト
sqlStatement 属性は DRDA SQLSTT (SQL ステートメント) に対応し、この SQL ステートメント コマンド テキストを使用してステートメントをパッケージにバインドするように DRDA サーバーに指示します。 この必須要素は文字列値を受け入れます。 既定値はありません。 DB2 は 2,097,152 バイトの文字列を受け入れます。
Parameters 要素
parameters 要素には、1 つ以上のパラメーター要素が含まれています。
Parameter 要素
パラメーター要素には、DRDA SQLSTTVRB (SQL ステートメント変数の説明) と型要素に対応する属性のセットが含まれています。
注
パラメーター要素は、SQL ステートメントの変数と同じ順序で定義する必要があります。
パラメーター名
name 属性は、パラメーターの名前を DRDA サーバーに指示します。 この必須属性は、文字列値を受け入れます。 既定値はありません。 IBM DB2 では、128 バイトのストリングがサポートされています。
パラメーターの Null 値の許容
null 許容属性は、パラメーター値が null 許容であるかどうかを DRDA サーバーに指示します。 この必須属性はブール値を受け入れます。 これは既定値は true です。
パラメーターの型
type 要素は、パラメーターの型を DRDA サーバーに指示します。 この必須属性は、文字列値を受け入れます。 既定値はありません。
パラメーターの長さ
length 属性は、パラメーターの長さを DRDA サーバーに指示します。 この必須属性は整数値を受け入れます。 既定値はありません。
パラメーターの精度
精度属性は、パラメーターの有効桁数を DRDA サーバーに指示します。 この必須属性は整数値を受け入れます。 既定値はありません。
パラメーターのスケール
scale 属性は、パラメーターのスケールを DRDA サーバーに指示します。 この必須属性は整数値を受け入れます。 既定値はありません。
パラメーターコード化文字セット識別子
ccsid 属性は、パラメーターのコード化文字セット ID を DRDA サーバーに指示します。 この必須属性は整数値を受け入れます。 既定値はありません。
ResultSet 要素
省略可能な resultSet 要素には、結果セット内の列の予想される順序とデータ型を DRDA クライアントに通知する列要素が含まれています。
注
MsDb2Client プロバイダーは、この情報を使用して、列名とデータ型の正しいメタデータを含む結果セットをコンシューマー プログラムに返します。 必要に応じて、MsDb2Client 接続文字列引数 "Use Early Metadata=False" を構成して、静的 SQL for DB2 XML ファイルの ResultSet 部分で定義されているデザイン時メタデータを無視し、DRDA サーバーによって返される遅延メタデータを使用するように MsDb2Client に指示します。
列の要素
columns 要素には、1 つ以上の列要素が含まれています。
要素カラム
列要素には、一連の属性が含まれています。
列序数
序数属性は、結果セット内の列の位置を識別します。 この必須属性は整数値を受け入れます。 既定値はありません。
列の名前
name 属性は、列の名前を DRDA サーバーに指示します。 この必須属性は、文字列値を受け入れます。 既定値はありません。 IBM DB2 では、128 バイトのストリングがサポートされています。
列の Null 値の許容
null 許容属性は、列の値が null 許容かどうかを DRDA サーバーに指示します。 この必須属性はブール値を受け入れます。 これは既定値は true です。
列の種類
type 要素は、列の型を DRDA サーバーに指示します。 この必須属性は、文字列値を受け入れます。 既定値はありません。
列の長さ
Length 属性は、列の長さを DRDA サーバーに指示します。 この必須属性は整数値を受け入れます。 既定値はありません。
列の精度
Precision 属性は、列の有効桁数を DRDA サーバーに指示します。 この必須属性は整数値を受け入れます。 既定値はありません。
列スケール
Scale 属性は、列のスケールを DRDA サーバーに指示します。 この必須属性は整数値を受け入れます。 既定値はありません。
列コード化文字セット識別子
CCSID 属性は、列のコード化文字セット ID を DRDA サーバーに指示します。 この必須属性は整数値を受け入れます。 既定値はありません。
参照テーブル
データ型
次の表に、DB2 XML ファイル形式 V85 の静的 SQL でパラメーターと列を定義する際に使用するデータ型と長さを示します。
タイプ | 長さ | 説明 |
---|---|---|
bigint(ビッグイント) | 8 | 64 ビット符号付き整数。 |
焦がす | 文字列。 | |
チャーフォービット | バイナリ文字列。 | |
日付 | 10 | 1753 年 1 月 1 日から 9999 年 12 月 31 日までの日付と時刻のデータの精度は 3.33 ミリ秒です。 |
小数点 | 有効桁数が 1.0 x 10 -28 から約 7.9 x 10 28 の範囲の値を表す単純型。 | |
ダブル | 8 | -1.79E +308 ~ 1.79E +308 の範囲内の浮動小数点数。 |
グラフィック | 2 バイトの文字列。 | |
整数 (int) | 4 | -2147483648 と2147483647の間の値を持つ 32 ビット符号付き整数。 |
数値 | 有効桁数と小数点以下桁数が固定長の、正確な数値です。 | |
本当の | 4 | 2 進数の有効桁数が 24 の符号付きの近似数値 (ゼロまたは絶対値 10[–38] ~ 10[38])。 |
スモールイント | 2 | -32768 から 32767 までの値を持つ 16 ビット符号付き整数。 |
時間 | 8. | 1753 年 1 月 1 日から 9999 年 12 月 31 日までの日付と時刻のデータの精度は 3.33 ミリ秒です。 |
タイムスタンプ(時刻印) | 26 | YYYY-MM-DD-hh.mm.ss.tttttt 形式のデータと時刻データ。 |
varChar | 可変長の文字列。 | |
varCharForBit | 可変長バイナリ文字列。 | |
varGraphic | 2 バイトの文字列。 |
コード化された文字セット識別子
次の表に、DB2 XML ファイル形式 V85 用の静的 SQL のオプション、パラメーター、列の定義に使用するデータ型と長さを示します。
タイプ | グループ | CCSID | NLS | 説明 |
---|---|---|---|---|
SBCS | ANSI(米国国家規格協会) | 1250 | 1250 | 中央ヨーロッパ |
SBCS | ANSI(米国国家規格協会) | 1251 | 1251 | キリル |
SBCS | ANSI(米国国家規格協会) | 1252 | 1252 | ラテン I |
SBCS | ANSI(米国国家規格協会) | 1253 | 1253 | ギリシャ語 |
SBCS | ANSI(米国国家規格協会) | 1254 | 1254 | トルコ語 |
SBCS | ANSI(米国国家規格協会) | 1255 | 1255 | ヘブライ語 |
SBCS | ANSI(米国国家規格協会) | 1256 | 1256 | アラビア語 |
SBCS | ANSI(米国国家規格協会) | 1257 | 1257 | バルト |
SBCS | ANSI/OEM | 874 | 874 | タイ語 |
SBCS | ANSI/OEM | 9:32 | 9:32 | 日本語 Shift-JIS |
SBCS | ANSI/OEM | 1258 | 1258 | ベトナム |
SBCS | EBCDIC | 37 | 1140 | 米国/カナダ (ユーロ) |
SBCS | EBCDIC | 37 | 37 | 米国/カナダ |
SBCS | EBCDIC | 273 | 1141 | ドイツ (ユーロ) |
SBCS | EBCDIC | 273 | 20273 | ドイツ |
SBCS | EBCDIC | 277 | 1142 | デンマーク/ノルウェー (ユーロ) |
SBCS | EBCDIC | 277 | 20277 | デンマーク/ノルウェー |
SBCS | EBCDIC | 278 | 1143 | フィンランド/スウェーデン (ユーロ) |
SBCS | EBCDIC | 278 | 20278 | フィンランド/スウェーデン |
SBCS | EBCDIC | 280 | 1144 | イタリア (ユーロ) |
SBCS | EBCDIC | 280 | 20280 | イタリア |
SBCS | EBCDIC | 284 | 1145 | ラテン アメリカ/スペイン (ユーロ) |
SBCS | EBCDIC | 284 | 20284 | ラテン アメリカ/スペイン |
SBCS | EBCDIC | 285 | 1146 | 英国 (ユーロ) |
SBCS | EBCDIC | 285 | 20285 | イギリス |
SBCS | EBCDIC | 290 | NA | 日本 カタカナ (拡張) |
SBCS | EBCDIC | 290 | 290 | 日本 カタカナ (拡張) |
SBCS | EBCDIC | 297 | 1147 | フランス (ユーロ) |
SBCS | EBCDIC | 297 | 20297 | フランス |
SBCS | EBCDIC | 420 | 20420 | アラビア語 |
SBCS | EBCDIC | 423 | 20423 | ギリシャ語 |
SBCS | EBCDIC | 424 | 20424 | ヘブライ語 |
SBCS | EBCDIC | 500 | 1148 | 国際 (ユーロ) |
SBCS | EBCDIC | 500 | 500 | インターナショナル |
SBCS | EBCDIC | 833 | NA | 韓国語 (拡張) |
SBCS | EBCDIC | 836 | NA | 簡体字中国語 (拡張) |
SBCS | EBCDIC | 838 | 20838 | タイ語 |
SBCS | EBCDIC | 870 | 870 | 多言語/ROECE (ラテン-2) |
SBCS | EBCDIC | 871 | 1149 | アイスランド (ユーロ) |
SBCS | EBCDIC | 871 | 20871 | アイスランド語 |
SBCS | EBCDIC | 875 | 875 | ギリシャ語 (モダン) |
SBCS | EBCDIC | 880 | 20880 | キリル語 (ロシア語) |
SBCS | EBCDIC | 905 | 20905 | トルコ語 (Latin-3) |
SBCS | EBCDIC | 924 | 20924 | Latin-1/Open System (ユーロ) |
SBCS | EBCDIC | 930 | 930 | 日本 カタカナ/漢字 (拡張カタカナ) |
SBCS | EBCDIC | 931 | 931 | 日本語 |
SBCS | EBCDIC | 933 | 933 | 韓国 (拡張) |
SBCS | EBCDIC | 935 | 935 | 簡体字中国語 (拡張) |
SBCS | EBCDIC | 937 | 937 | 繁体字中国語 (拡張) |
SBCS | EBCDIC | 9:39 | 9:39 | 日本 英語/漢字 (延長) |
SBCS | EBCDIC | 1025 | 21025 | キリル語 (セルビア語、ブルガリア語) |
SBCS | EBCDIC | 1026 | 1026 | トルコ語 (Latin-5) |
SBCS | EBCDIC | 1027 | NA | 日本語 (拡張) |
SBCS | EBCDIC | 1027 | NA | 日本の英語 (拡張) |
SBCS | EBCDIC | 1047 | 1047 | Latin-1/オープンシステム |
SBCS | EBCDIC | 5026 | NA | 日本 カタカナ/漢字 (拡張カタカナ) |
SBCS | EBCDIC | 5035 | NA | 日本 英語/漢字 (延長) |
SBCS | EBCDIC | 28709 | NA | 繁体字中国語 (拡張) |
SBCS | 国際標準化機構 | 813 | 28597 | 8859-7 ギリシャ語 |
SBCS | 国際標準化機構 | 819 | 28591 | 8859-1 Latin-1 |
SBCS | 国際標準化機構 | 912 | 28592 | 8859-2 中央ヨーロッパ |
SBCS | 国際標準化機構 | 913 | 28593 | 8859-3 ラテン 3 |
SBCS | 国際標準化機構 | 914 | 28594 | 8859-4 バルティック |
SBCS | 国際標準化機構 | 915 | 28595 | 8859-5 キリル文字 |
SBCS | 国際標準化機構 | 916 | 28598 | 8859-8 ヘブライ語 (視覚的に順序付け) |
SBCS | 国際標準化機構 | 920 | 28599 | 8859-9 ヘブライ語 (論理的に順序付け) |
SBCS | 国際標準化機構 | 923 | 20865 | 8859-15 ラテン 9 (ユーロ) |
SBCS | 国際標準化機構 | 1089 | 28596 | 8859-6 アラビア語 |
SBCS | 国際標準化機構 | 6937 | 20269 | 6937 非間隔アクセント |
SBCS | OEM | 437 | 437 | アメリカ合衆国 |
SBCS | OEM | 737 | 737 | ギリシャ語 437G |
SBCS | OEM | 775 | 775 | バルト |
SBCS | OEM | 850 | 850 | 多言語ラテン語 I |
SBCS | OEM | 852 | 852 | 多言語ラテン語 II |
SBCS | OEM | 855 | 855 | キリル |
SBCS | OEM | 857 | 857 | トルコ語 |
SBCS | OEM | 860 | 860 | ポルトガル語 |
SBCS | OEM | 861 | 861 | アイスランド語 |
SBCS | OEM | 862 | 862 | ヘブライ語 |
SBCS | OEM | 863 | 863 | カナダフランス語 |
SBCS | OEM | 864 | 864 | アラビア語 |
SBCS | OEM | 865 | 865 | ノルディック |
SBCS | OEM | 866 | 866 | キリル II |
SBCS | OEM | 869 | 869 | 現代ギリシア語 |
MBCS | EBCDIC | 930 | NA | 日本 カタカナ/漢字 (拡張) |
MBCS | EBCDIC | 931 | NA | 日本語 |
MBCS | EBCDIC | 933 | NA | 韓国 (拡張) |
MBCS | EBCDIC | 935 | NA | 簡体字中国語 (拡張) |
MBCS | EBCDIC | 937 | NA | 繁体字中国語 (拡張) |
MBCS | EBCDIC | 9:39 | NA | 日本 英語/漢字 (延長) |
MBCS | EBCDIC | 5026 | NA | 日本 カタカナ/漢字 (拡張) |
MBCS | EBCDIC | 5035 | NA | 日本 英語/漢字 (延長) |
DBCS | ANSI/OEM | 936 | 936 | 簡体字中国語 GBK |
DBCS | ANSI/OEM | 949 | 949 | 韓国語 |
DBCS | ANSI/OEM | 950 | 950 | 繁体字中国語 Big5 |
DBCS | EBCDIC | 300 | NA | IBM EBCDIC - 日本 |
DBCS | EBCDIC | 834 | NA | IBM EBCDIC - 韓国 |
DBCS | EBCDIC | 835 | NA | IBM EBCDIC - 繁体字中国語 |
DBCS | EBCDIC | 837 | NA | IBM EBCDIC - 簡体字中国語 |
DBCS | EBCDIC | 4396 | NA | IBM EBCDIC - 日本 |
注
Microsoft ADO.NET Data Provider for DB2 では、一連のコード化文字セット識別子がサポートされています。 z/OS および IBM i 用の IBM DB2 データベース・サーバーは、通常 EBCDIC を使用します。 詳細については、こちらをご覧ください。