Microsoft HIS 2013(V9) 支持旧格式和新格式,其中包括用于验证 XML 文档的关联 XML 架构。 Microsoft HIS 2009 和 HIS 2010 (V8.5) 仅支持旧格式。
Microsoft 静态 SQL for DB2 自定义包 XML 文件包含多个元素,用于通知 DRDA 客户端和 DRDA 服务器如何使用 BNDOPT(绑定选项)和 BNDSQLSTT(将 SQL 语句绑定到 RDB 包)执行 DRDA 命令 BGNBND(开始将包绑定到 RDB)。 HostIntegrationStaticSql.xsd 介绍了可定义的 XML 元素、属性和值,用于描述静态 SQL 包绑定选项、包名称、包部分、语句、参数和结果集。 以下 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 元素
Options 元素包含一组可选属性,这些属性用于在执行 DRDA 命令 BGNBND(开始将包绑定到 RDB)时定义 BNDOPT(绑定选项)的值。
绑定包创建控制
bindAllowErrors 属性通知 DRDA 服务器在包绑定期间是否允许错误。 此可选属性接受字符串值。
如果值为“是”,则指示 DRDA 服务器允许错误并继续绑定包。
如果值为“否”,则指示 DRDA 服务器不允许任何错误。
如果值为“验证”,则指示 DRDA 服务器仅验证绑定请求。
默认值为“否”。
包授权选项
bindAuthorizationKeep 属性通知 DRDA 服务器在替换包时是保留还是撤销包授权。 此可选属性接受布尔值。 默认值为 true。
绑定存在性检查
bindCheck 属性通知 DRDA 服务器在检查是否存在包语句中引用的数据库对象和颁发机构时是否返回错误。 此可选属性接受布尔值。 默认值为 false。
包替换选项
bindReplace 属性指示 DRDA 服务器绑定是否应替换现有包。 此可选属性接受布尔值。 默认值为 true。
已替换包版本名称
bindReplaceVersion 属性定义 DRDA 服务器应替换的包的包版本名称。 此可选属性接受字符串值。 此元素没有默认值。
列的包默认 SBCS CCSID
packageCcsidSbc 通知 DRDA 服务器要在执行 SQL CREATE 或 ALTER table 语句时使用的单字节字符的编码字符集标识符。 此可选属性接受整数值。 默认值为 1208。
列的包默认 DBCS CCSID
packageCcsidDbc 通知 DRDA 服务器要在执行 SQL CREATE 或 ALTER table 语句时使用的双字节字符的编码字符集标识符。 此可选属性接受整数值。 默认值为 1200。
列的包默认 MBCS CCSID
packageCcsidMbc 通知 DRDA 服务器要在执行 SQL CREATE 或 ALTER table 语句时使用的混合字节字符的编码字符集标识符。 此可选属性接受整数值。 默认值为 1208。
包默认字符子类型
packageCharacterSubtype 属性通知 DRDA 服务器要在执行 SQL CREATE 或 ALTER table 语句时使用的字符子类型。 此可选属性接受字符串值。 默认值为 Default。
| 值 | 说明 |
|---|---|
| bit | CHAR FOR BIT DATA |
| 默认 | 系统默认 |
| MBCS | 混合字节字符集 |
| SBCS | 单字节字符集 |
小数精度
packageDecimalPrecision 属性通知 DRDA 服务器默认小数精度。 此可选属性接受整数值(15、16、31 或 63)。 默认值为 15。
注意
连接到 IBM DB2 for IBM i 时,不应指定此属性。
包授权规则
packageExecuteAuthorization 属性通知 DRDA 服务器要在执行动态 SQL 语句时使用的授权标识符。 此可选元素属性接受字符串值。 默认值为“Requester”。
| 值 | 说明 |
|---|---|
| 请求者 | 指示 DRDA 服务器使用 DRDA 请求者授权 |
| “所有者” | 指示 DRDA 服务器使用包所有者授权 |
| InvokerRevertToRequester | 指示 DRDA 服务器使用函数或存储过程的调用方授权,否则使用 DRDA 请求者授权 |
| InvokerRevertToOwner | 指示 DRDA 服务器使用函数或存储过程的调用方授权,否则使用包所有者授权 |
| DefinerRevertToRequester | 指示 DRDA 服务器使用函数或存储过程的创建者授权,否则使用 DRDA 请求者授权 |
| DefinerRevertToOwner | 指示 DRDA 服务器使用函数或存储过程的创建者授权,否则使用包所有者授权 |
Bind Explain 选项
bindExplain 属性通知 DRDA 服务器是否生成可解释数据库对象的说明性信息。 此可选属性接受字符串值。
如果值为“ExplainNone”,则指示 DRDA 服务器不产生说明性信息。
如果值为“ExplainAll”,则指示 DRDA 服务器解释所有语句。
如果值为“ExplainStatic”,则指示 DRDA 服务器仅解释静态 SQL 语句。
默认值为“ExplainNone”。
注意
连接到 IBM DB2 for IBM i 和 DB2 for LUW 时,应仅指定 一个 ExplainNone 值。
包隔离级别
packageIsolationLevel 属性指示 DRDA 服务器将包与请求的 DRDA PKGISOLVL(包隔离级别)绑定在一起。 此必需属性接受字符串值。 默认值为“ReadCommitted”。
| 值 | 说明 |
|---|---|
| ReadCommitted | ANSI READ COMMITTED DRDA ISOLVLCS(隔离级别游标稳定性) IBM DB2 CURSOR STABILITY (CS) IBM DB2 for IBM i COMMIT (*CS) Microsoft .NET Framework ReadCommitted |
| 可序列化 | ANSI SERIALIZABLE DRDA ISOLVLRR(隔离级别可重复读取) IBM DB2 REPEATABLE READ (RR) IBM DB2 for IBM i COMMIT (*RR) Microsoft .NET Framework Serializable |
| RepeatableRead | ANSI REPEATABLE READ DRDA ISOLVLALL(隔离级别全部) IBM DB2 READ STABILITY (RS) IBM DB2 for IBM i COMMIT (*RS) Microsoft .NET Framework RepeatableRead |
| ReadUncommitted | ANSI READ UNCOMMITTED DRDA ISOLVLCHG(隔离级别更改) IBM DB2 UNCOMMITTED READ (UR) IBM DB2 for IBM i COMMIT (*UR) Microsoft .NET Framework ReadUncommitted |
| NoCommit | DRDA ISOLVLNC(隔离级别无提交) IBM DB2 for IBM i COMMIT (*NC) |
包所有者标识符
packageOwnerIdentifier 属性指示 DRDA 服务器哪个授权标识符是包的所有者。 此可选属性接受字符串值。 此元素没有默认值。
语句日期格式
statementDateFormat 元素通知 DRDA 服务器要在 SQL 语句中使用的语句日期格式。 此可选元素接受字符串值。 默认值为 Default。
| 值 | 格式 | 说明 |
|---|---|---|
| Iso | yyyy-mm-dd | ISO 日期格式 |
| Usa | mm/dd/yyyy | 美国日期格式 |
| Eur | dd.mm.yyyy | 欧洲日期格式 |
| Jis | yyyy-mm-dd | JIS 日期格式 |
| 默认 | NA | 默认日期格式 |
| Local | 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 | 带有句点分隔符的儒略历 |
| JulSlash | 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 属性通知 DRDA 服务器要在 SQL 语句中使用的语句十进制分隔符。 此可选属性接受字符串值。 默认值为“系统”。
| 值 | 说明 |
|---|---|
| 周期 | 指示句点 |
| 逗号 | 指示逗号 |
| 程序包 | 在重新绑定包时指示包默认值 |
| 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 属性通知 DRDA 服务器对绑定语句使用何种 I/O 并行度处理。 此可选属性接受整数值(-1 到 32676)。 如果值为 1,则指示 DRDA 服务器不需要 IO 并行处理。 如果值为 -1,则指示 DRDA 服务器应用合适的 IO 并行度处理。 默认值为 1。
保留已准备好的语句
keepPreparedStatement 属性指示 DRDA 服务器保留已准备好的动态 SQL 语句直到将其释放。 此可选属性接受字符串值。 默认值为“None”。
| 值 | 说明 |
|---|---|
| None | 指示在提交和回滚期间释放语句 |
| 提交 | 指示在提交期间保留语句,但在回滚期间释放 |
| 回退 | 指示在提交期间释放语句,但在回滚期间保留 |
| 全部 | 指示在提交和回滚期间保留语句 |
查询块协议控制
statementQueryProtocol 属性指示 DRDA 服务器要在返回查询结果时使用的查询块协议类型。 此可选属性接受字符串值。 默认值为“FixedRow”。
| 值 | 说明 |
|---|---|
| FixedRow | 指示固定行查询协议 |
| LimitedBlock | 指示固定块查询协议 |
| ForceFixedRow | 指示强制固定行查询协议 |
语句字符串分隔符
statementStringDelimiter 属性通知 DRDA 服务器要在 SQL 语句中使用的语句字符串分隔符。 此可选属性接受字符串值。 默认值为“系统”。
| 值 | 说明 |
|---|---|
| 撇号 | 指示撇号 |
| DoubleQuote | 指示双引号 |
| 程序包 | 在重新绑定包时指示包默认值 |
| System | 指示系统默认值 |
语句时间格式
statementTimeFormat 属性通知 DRDA 服务器要在 SQL 语句中使用的语句时间格式。 此可选属性接受字符串值。 默认值为“Iso”。
| 值 | 格式 | 说明 |
|---|---|---|
| Iso | hh.mm.ss | ISO 时间格式 |
| Usa | hh:mm:ss AM | 美国时间格式 AM |下午 |
| Eur | hh.mm.ss | 欧洲时间格式 |
| Jis | hh:mm:ss | JIS 时间格式 |
| 默认 | NA | 默认时间格式 |
| Local | NA | 本地时间格式 |
| HmsBlank | hh mm ss | 带有空格分隔符的时分秒 |
| HmsColon | hh:mm:ss | 带有冒号分隔符的时分秒 |
| HmsComma | hh,mm,ss | 带有逗号分隔符的时分秒 |
| HmsPeriod | hh.mm.ss | 带有句点分隔符的时分秒 |
Packages 元素
packages 元素包含一个或多个 package 元素,这些元素用于在执行 DRDA 命令 BGNBND(开始将包绑定到 RDB)时定义值。
Package 元素
package 元素包含一组属性和 sections 元素。
集合标识符
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(标题)并指示 DRDA 服务器将包与描述性注释绑定在一起。 此可选元素接受字符串值。 无默认值。 DRDA 支持 254 字节字符串。
Sections 元素
sections 元素包含一个或多个 section 元素,这些元素用于在执行 DRDA 命令 BGNBND(开始将包绑定到 RDB)时定义值。
Section 元素
section 元素包含一组属性、一个必需的语句元素和一个可选的 resultSet 元素。
部分编号
packageSectionNumber 属性对应于 DRDA PKGSN(RDB 包部分编号)并指示 DRDA 服务器将部分绑定为此编号。 此可选属性接受整数值,并且在 Package 元素中必须是唯一的。 无默认值。
部分别名
packageSectionAlias 属性指示 Microsoft DRDA 客户端基于别名查找包部分。 此可选元素接受 8 字节字符串值。 无默认值。
注意
请参阅 Microsoft.HostIntegration.MsDb2Client.MsDb2Connection SetCustomPackageData 的程序员参考。
Statement 元素
Statement 元素包含一组属性和一个可选的 parameters 元素。
语句编号
sqlStatementNumber 属性对应于 DRDA SQLSTTNBR(SQL 语句编号)并指示 DRDA 服务器将语句绑定为此编号,这是对嵌入在源应用程序中的语句的引用。 此可选属性接受整数值,并且在 Package 元素中必须是唯一的。 无默认值。
SQL 语句假设
sqlStatementAssumptions 属性对应于 DRDA BNDSTTASM(绑定 SQL 语句假设)并指示 DRDA 服务器将语句与这些假设绑定在一起。 此可选属性接受布尔值。 如果值为“是”,则表示在程序预编译准备过程中,源服务器已成功为语句分类。 如果值为“否”,则表示源服务器对无法分类的语句做出假设。 默认值为“是”。
SQL 语句命令文本
sqlStatement 属性对应于 DRDA SQLSTT(SQL 语句)并指示 DRDA 服务器将语句与此 SQL 语句命令文本绑定在一起。 此必需元素接受字符串值。 无默认值。 DB2 接受 2,097,152 字节字符串。
Parameters 元素
parameters 元素包含一个或多个 parameter 元素。
Parameter 元素
parameter 元素包含一组属性,这些属性对应于 DRDA SQLSTTVRB(SQL 语句变量说明)和 type 元素。
注意
必须按照与 SQL 语句中的变量相同的顺序定义 parameter 元素。
参数名称
name 属性指示 DRDA 服务器参数的名称是什么。 此必需属性接受字符串值。 无默认值。 IBM DB2 支持 128 字节字符串。
参数为 Null 性
nullable 属性指示 DRDA 服务器参数值是否可以为 Null。 此必需属性接受布尔值。 默认值为 true。
参数类型
type 元素指示 DRDA 服务器参数的类型是什么。 此必需属性接受字符串值。 无默认值。
参数长度
length 属性指示 DRDA 服务器参数的长度是什么。 此必需属性接受整数值。 无默认值。
参数精度
precision 属性指示 DRDA 服务器参数的精度是什么。 此必需属性接受整数值。 无默认值。
参数小数位数
scale 属性指示 DRDA 服务器参数的小数位数是什么。 此必需属性接受整数值。 无默认值。
参数编码字符集标识符
ccsid 属性指示 DRDA 服务器参数的编码字符集标识符是什么。 此必需属性接受整数值。 无默认值。
ResultSet 元素
可选的 resultSet 元素包含 columns 元素,该元素通知 DRDA 客户端结果集中列的预期顺序和数据类型是什么。
注意
MsDb2Client 提供程序使用此信息向使用者程序返回结果集,其中包括列名和数据类型的正确元数据。 (可选)配置 MsDb2Client 连接字符串参数“Use Early Metadata=False”以指示 MsDb2Client 忽略静态 SQL for DB2 XML 文件的“结果集”部分中定义的设计时元数据,然后使用 DRDA 服务器返回的后期元数据。
Columns 元素
columns 元素包含一个或多个 column 元素。
Column 元素
column 元素包含一组属性。
列序号
ordinal 属性标识列在结果集内的位置。 此必需属性接受整数值。 无默认值。
列名
name 属性指示 DRDA 服务器列的名称是什么。 此必需属性接受字符串值。 无默认值。 IBM DB2 支持 128 字节字符串。
列的为空性
nullable 属性指示 DRDA 服务器列值是否可以为 Null。 此必需属性接受布尔值。 默认值为 true。
列类型
type 元素指示 DRDA 服务器列的类型是什么。 此必需属性接受字符串值。 无默认值。
列长度
Length 属性指示 DRDA 服务器列的长度是什么。 此必需属性接受整数值。 无默认值。
列的精度
Precision 属性指示 DRDA 服务器列的精度是什么。 此必需属性接受整数值。 无默认值。
列的小数位数
Scale 属性指示 DRDA 服务器列的小数位数是什么。 此必需属性接受整数值。 无默认值。
列编码字符集标识符
CCSID 属性指示 DRDA 服务器列的编码字符集标识符是什么。 此必需属性接受整数值。 无默认值。
引用表
数据类型
下表列出了用于在静态 SQL for DB2 XML 文件格式 V85 中定义参数和列的数据类型和长度。
| 类型 | Length | 说明 |
|---|---|---|
| bigint | 8 | 64 位带符号整数。 |
| char | 字符串。 | |
| charForBit | 二进制字符串。 | |
| date | 10 | 日期和时间数据,值范围从 1753 年 1 月 1 日到 9999 年 12 月 31 日,精度为 3.33 毫秒。 |
| Decimal | 简单类型,表示从 1.0 x 10 -28 到大约 7.9 x 10 28 且有效位数为 28 到 29 位的值。 | |
| Double | 8 | 浮点数在 -1.79E +308 到 1.79E +308 的范围内。 |
| 图形 | 双字节字符串。 | |
| int | 4 | 32 位有符号整数,其值介于 -2147483648 和 2147483647 之间。 |
| numeric | 精度和小数位数固定的精确数值。 | |
| real | 4 | 带有二进制精度 24 的已签名的近似数值(零或绝对值为 10[–38] 到 10[38])。 |
| smallint | 2 | 16 位有符号整数,其值介于 -32768 和 32767 之间。 |
| time | 8. | 日期和时间数据,值范围从 1753 年 1 月 1 日到 9999 年 12 月 31 日,精度为 3.33 毫秒。 |
| timestamp | 26 | 采用 YYYY-MM-DD-hh.mm.ss.tttttt 格式的数据和时间数据。 |
| varChar | 变长字符串。 | |
| varCharForBit | 变长二进制字符串。 | |
| varGraphic | 双字节字符串。 |
编码字符集标识符
下表列出了用于在静态 SQL for DB2 XML 文件格式 V85 中定义选项、参数和列的数据类型和长度。
| 类型 | 组 | 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 | 932 | 932 | 日语 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 | 土耳其语(拉丁语-3) |
| SBCS | EBCDIC | 924 | 20924 | 拉丁语-1/开放系统(欧洲) |
| SBCS | EBCDIC | 930 | 930 | 日文片假名/汉字(扩展片假名) |
| SBCS | EBCDIC | 931 | 931 | 日语 |
| SBCS | EBCDIC | 933 | 933 | 韩国(扩展) |
| SBCS | EBCDIC | 935 | 935 | 简体中文(扩展) |
| SBCS | EBCDIC | 937 | 937 | 繁体中文(扩展) |
| SBCS | EBCDIC | 939 | 939 | 日式英语/汉字(扩展) |
| SBCS | EBCDIC | 1025 | 21025 | 西里尔文(塞尔维亚语、保加利亚语) |
| SBCS | EBCDIC | 1026 | 1026 | 土耳其语(拉丁语-5) |
| SBCS | EBCDIC | 1027 | NA | 日式英语(扩展) |
| SBCS | EBCDIC | 1027 | NA | 日式英语(扩展) |
| SBCS | EBCDIC | 1047 | 1047 | 拉丁语-1/开放系统 |
| SBCS | EBCDIC | 5026 | NA | 日文片假名/汉字(扩展片假名) |
| SBCS | EBCDIC | 5035 | NA | 日式英语/汉字(扩展) |
| SBCS | EBCDIC | 28709 | NA | 繁体中文(扩展) |
| SBCS | ISO | 813 | 28597 | 8859-7 希腊语 |
| SBCS | ISO | 819 | 28591 | 8859-1 拉丁语-1 |
| SBCS | ISO | 912 | 28592 | 8859-2 中欧 |
| SBCS | ISO | 913 | 28593 | 8859-3 拉丁语 3 |
| SBCS | ISO | 914 | 28594 | 8859-4 波罗的语 |
| SBCS | ISO | 915 | 28595 | 8859-5 西里尔语 |
| SBCS | ISO | 916 | 28598 | 8859-8 希伯来语(直观排序) |
| SBCS | ISO | 920 | 28599 | 8859-9 希伯来语(逻辑排序) |
| SBCS | ISO | 923 | 20865 | 8859-15 拉丁语 9(欧洲) |
| SBCS | ISO | 1089 | 28596 | 8859-6 阿拉伯语 |
| SBCS | ISO | 6937 | 20269 | 6937 无空格重音符 |
| SBCS | OEM | 437 | 437 | United States |
| 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 | 939 | 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 - 日本 |
注意
用于 DB2 的 Microsoft ADO.NET 数据提供程序支持一组编码字符集标识符。 适用于 z/OS 和 IBM i 的 IBM DB2 数据库服务器通常使用 EBCDIC。 有关详细信息,请参阅