平台相容性
程式碼頁轉換
資料提供者支援單位元組字元集(SBCS)、混合位元組字元集(MBCS)、雙位元組字元集(DBCS)以及 Unicode - UTF8 [1208],這是一種 8 位元的 Unicode 轉換格式。
主機 CCSID
資料提供者需要一個主機 CCSID(編碼字元集識別碼)的值,以便對字串資料執行代碼頁轉換。 預設的宿主 CCSID 值為 EBCDIC – 美國/加拿大 [37]。 通常,IBM z/OS 與 IBM i 使用 EBCDIC(擴展二進位編碼十進位交換碼)。
PC 程式碼頁面
資料提供者需要一個 PC 代碼頁的值,以便對字串資料進行代碼頁轉換。 預設的 PC 代碼頁為 ANSI – 拉丁文 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 | 整數 | PIC S9(n) COMP-4 | |
| HostFileType.Char | System.String | 最大長度:32765;255 | 繩子 | PIC X(n) |
| HostFileType.CharForBit | System.Byte | 最大長度:32765 | 短 | PIC S9(n) COMP-4 |
| HostFileType.Date | System.DateTime | 長度:10 | 日期時間 | ISO 日期僅顯示 YYYY-MM-DD |
| HostFileType.Decimal | System.Decimal | 最大精確度:28 | 十進制 | PIC S9(n)V9(n) COMP-3 |
| HostFileType.Double | 雙倍 | Double | COMP-2 | |
| HostFileType.Graphic | System.String | 最大長度:16382;127 | 繩子 | 機長 G(n) |
| HostFileType.Int | System.Int32 | 整數 | 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 | 短 | PIC S9(n) COMP-4 | |
| HostFileType.Time | System.TimeSpan | 長度:8 | 日期時間 | ISO 時間只有 HH.MM.SS |
| HostFileType.Timestamp | System.DateTime | 長度:26 | 日期時間 | 日期與時間 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 | 機長 G(n) |
下表定義了支援的 ADO.NET(System.Data.DbType)到資料提供者(MsHostFileClient.HostFileType)、Host File Designer(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 | 短 | 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 | 日期時間 | ISO 日期僅顯示 YYYY-MM-DD |
| DbType.DateTime | System.DateTime | HostFileType.Timestamp | 長度:26 | 日期時間 | 日期與時間 YYYY-MM-DD HH.MM.SS |
| DbType.十進位 | System.Decimal | HostFileType.Decimal | 最大精確度:31 | 十進制 | PIC S9(n)V9(n) COMP-3 |
| DbType.Double | 雙倍 | HostFileType.Double | Double | COMP-2 | |
| DbType.Guid | System.Guid | HostFileType.VarCharForBit | 最大長度:32739 | Byte | 未翻譯的《PIC X》 |
| DbType.Int16 | System.Int16 | HostFileType.SmallInt | 短 | PIC S9(n) COMP-4 | |
| DbType.Int32 | System.Int32 | HostFileType.Int | 整數 | PIC S9(n) COMP-4 | |
| DbType.Int64 | System.Int64 | HostFileType.BigInt | 整數 | PIC S9(n) COMP-4 | |
| DbType.Object | System.Object | HostFileType.VarCharForBit | 最大長度:32739 | Byte | 未翻譯的《PIC X》 |
| DbType.SByte | SByte | HostFileType.SmallInt | 短 | 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 | 日期時間 | ISO 時間只有 HH.MM.SS |
| DbType.UInt16 | System.UInt16 | HostFileType.SmallInt | 短 | PIC 9(n) COMP-4 | |
| DbType.UInt32 | System.UInt32 | HostFileType.Int | 整數 | PIC 9(n) COMP-4 | |
| DbType.UInt64 | System.UInt64 | HostFileType.BigInt | 整數 | 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),你可以透過資料來源嚮導的「全部」對話框或資料連結來調整。 最大泳池容量物業沒有上限。 如果你設定了 Max Pool Size 屬性的小於 0,則會使用預設值 100。
你可以選擇指定秒數,指示資料提供者等待以用戶端池建立連線。 當池中所有連線都在使用且逾時期結束時,資料提供者會向資料使用者回傳錯誤訊息(「連線不可用」)。 預設時間為 15 秒(連線逾時=15),你可以透過資料來源嚮導的「全部」對話框或資料連結來調整。 Connect Timeout 屬性沒有上限。 指定 -1 指示資料提供者無限期等待客戶端連線池中的開啟連線。
績效衡量
為了衡量效能,資料提供者會提供效能計數器。 預設情況下,效能計數器是關閉的。 可透過將以下登錄表金鑰的值改為 1 來開啟:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Host Integration Server\Data Integration\UpdateCounters = 1
資料提供者效能計數器捕捉關於開啟連線、開啟語句、封包與位元組數、主機伺服器平均處理時間、指令執行及資料擷取等資訊。