主机文件数据

平台兼容性

代码页转换

数据访问接口支持单字节字符集 (SBCS)、混合字节字符集 (MBCS)、双字节字符集 (DBCS) 以及 Unicode - UTF8 [1208](这是 8 位 Unicode 转换格式)的组合。

主机 CCSID

“数据访问接口”要求具有一个主机 CCSID 的值(编码字符集标识符),从而在字符串数据上执行代码页转换。 默认主机 CCSID 值是 EBCDIC – U.S./Canada [37] 。 通常,IBM z/OS 和 IBM i 利用 EBCDIC (扩展二进制编码的十进制交换代码) 。

PC 代码页

“数据访问接口”要求具有一个 PC 代码页的值,从而在字符串数据上执行代码页转换。 默认的 PC 代码页是 ANSI – Latin I [1252] 。 通常情况下,数据使用者可以使用 ANSI(美国国家标准协会)或 Unicode。

以字符方式处理二进制数据

可选的以字符方式处理二进制数据 (CCSID 65535),指示数据提供程序根据“主机 CCSID”和“PC 代码页”在主机字节与 Windows 字符串之间相互转换。 默认值为 false。

数据类型映射

本主题介绍 MsHostFileClient 支持的所有数据类型映射。

ADO.NET 数据类型映射

下表定义了支持的数据提供程序 (MsHostFileClient.HostFileType) 到主机文件设计器 (System.Type)、IBM COBOL 和 RPG 的数据类型。

HostFileType HostFileMetaType 限制 主机文件设计器类型 COBOL
HostFileType.BigInt System.Int64 Integer PIC S9(n) COMP-4
HostFileType.Char System.String 最大长度:32765;255 字符串 PIC X(n)
HostFileType.CharForBit System.Byte 最大长度:32765 Short PIC S9(n) COMP-4
HostFileType.Date System.DateTime 长度:10 DateTime 仅限 ISO 日期 YYYY-MM-DD
HostFileType.Decimal System.Decimal 最大精度:28 小数 PIC S9(n)V9(n) COMP-3
HostFileType.Double double Double COMP-2
HostFileType.Graphic System.String 最大长度:16382;127 字符串 PIC G(n)
HostFileType.Int System.Int32 Integer PIC S9(n) COMP-4
HostFileType.Numeric System.Decimal 最大精度:31 小数 PIC S9(n)V9(n) COMP-3
HostFileType.Real FLOAT Single COMP-1
HostFileType.SmallInt System.Int16 Short PIC S9(n) COMP-4
HostFileType.Time System.TimeSpan 长度:8 DateTime 仅限 ISO 时间 HH.MM.SS
HostFileType.Timestamp System.DateTime 长度:26 DateTime ISO 日期和时间 YYYY-MM-DD HH.MM.SS
HostFileType.UDT System.Object 最大长度:32739 Byte 未转换的 PIC X
HostFileType.VarChar System.String 最大长度:32739;4045 字符串 PIC X(n)
HostFileType.VarCharForBit System.Byte 最大长度:32739;4045 Byte 未转换的 PIC X
HostFileType.VarGraphic System.String 最大长度:16369;4045 PIC G(n)

下表定义了支持的 ADO.NET (System.Data.DbType) 到数据提供程序 (MsHostFileClient.HostFileType)、主机文件设计器 (System.Type)、IBM COBOL 和 RPG 的数据类型。

DbType HostFileMetaType HostFileType 限制 主机文件设计器类型 COBOL
DbType.AnsiString System.String HostFileType.VarChar 最大长度:32739;4045 字符串 PIC X(n)
DbType.AnsiStringFixedLength System.String HostFileType.Char 最大长度:32765;255 字符串 PIC X(n)
DbType.Binary System.Byte HostFileType.VarCharForBit 最大长度:32739 Byte 未转换的 PIC X
DbType.Boolean System.Boolean HostFileType.SmallInt 布尔 PIC S9(4) COMP-4
DbType.Byte System.Byte HostFileType.SmallInt Short PIC S9(n) COMP-4
DbType.Currency System.Decimal HostFileType.Decimal 最大精度:31 小数 PIC S9(n)V9(n) COMP-3
DbType.Date System.DateTime HostFileType.Date 长度:10 DateTime 仅限 ISO 日期 YYYY-MM-DD
DbType.DateTime System.DateTime HostFileType.Timestamp 长度:26 DateTime ISO 日期和时间 YYYY-MM-DD HH.MM.SS
DbType.Decimal System.Decimal HostFileType.Decimal 最大精度:31 小数 PIC S9(n)V9(n) COMP-3
DbType.Double Double HostFileType.Double Double COMP-2
DbType.Guid System.Guid HostFileType.VarCharForBit 最大长度:32739 Byte 未转换的 PIC X
DbType.Int16 System.Int16 HostFileType.SmallInt Short PIC S9(n) COMP-4
DbType.Int32 System.Int32 HostFileType.Int Integer PIC S9(n) COMP-4
DbType.Int64 System.Int64 HostFileType.BigInt Integer PIC S9(n) COMP-4
DbType.Object System.Object HostFileType.VarCharForBit 最大长度:32739 Byte 未转换的 PIC X
DbType.SByte SByte HostFileType.SmallInt Short PIC S9(n) COMP-4
DbType.Single FLOAT HostFileType.Real Single COMP-1
DbType.String System.String HostFileType.VarChar 最大长度:32739;4045 字符串 PIC X(n)
DbType.StringFixedLength System.String HostFileType.Char 最大长度:32765;255 字符串 PIC X(n)
DbType.Time System.TimeSpan HostFileType.Time 长度:8 DateTime 仅限 ISO 时间 HH.MM.SS
DbType.UInt16 System.UInt16 HostFileType.SmallInt Short PIC 9(n) COMP-4
DbType.UInt32 System.UInt32 HostFileType.Int Integer PIC 9(n) COMP-4
DbType.UInt64 System.UInt64 HostFileType.BigInt Integer PIC 9(n) COMP-4
DbType.VarNumeric System.Decimal HostFileType.Decimal 小数 PIC S9(n)V9(n) COMP-3

性能

本主题包含以下部分,它们可帮助你在使用主机文件的数据提供程序时实现性能最大化。

针对性能的配置

度量性能

针对性能的配置

要提升性能,请使用以下方法来配置访问接口。

将访问接口资源存入池中以便缩短连接启动时间

连接池是一个客户端优化,可以缩短连接启动时间,同时降低客户端计算机上的内存使用率。 ADO.NET 提供程序和 BizTalk 适配器支持连接池。 用户可以使用 ADO.NET 连接字符串指定池 (Connection Pooling=True)。 此外,您可以使用数据源向导的“高级”对话框和数据链接的“所有”对话框来配置池。

访问接口会根据“最大池大小”属性维护连接的缓存。 默认池大小为 100 个连接数(“最大池大小=100”),您可以使用数据源向导或数据链接的“全部”对话框进行调整。 对“最大池大小”属性没有上限。 如果您对“最大池大小”属性配置的值小于 0,则使用默认值 100。

或者,您可以指定数秒钟,指示数据访问接口来等待使用客户端池建立连接。 当池中的所有连接都在使用,并且超时时间已经过期时,则数据访问接口将向数据使用者返回一个错误(“连接不可用”)。 默认值为 15 秒(“连接超时=15”),您可以使用数据源向导或数据链接的“全部”对话框进行调整。 对“连接超时值”属性没有上限。 指定 -1 可以指示数据提供程序无限期地等待客户端连接池中打开的连接。

度量性能

为了度量性能,数据提供程序提供了性能计数器。 默认情况下,性能计数器将关闭。 可通过将以下注册表项的值更改为 1,打开这些计数器:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Host Integration Server\Data Integration\UpdateCounters = 1

数据提供程序性能计数器可捕获以下相关信息:打开的连接数、打开的语句数、已发送/已接收的包和字节数、平均主机(主机服务器)处理时间、命令执行数和数据提取数。