次の方法で共有


パッケージ XML スキーマ V90

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 を使用します。 詳細については、こちらをご覧ください。