移轉一般檔案記錄
概觀
Microsoft BizTalk Server支援多字元分隔符號,雖然它只支援一種分隔符號類型,但子分隔符號。
BizTalk Server有三個架構注釋控制分隔符號處理:兩個用於剖析 (skip_CR、skip_LF) ,另一個用於序列化 (append_newline) 。 BizTalk Server移轉記錄時,如下所示解譯這些批註:
如果skip_CR注釋的值為true,而且目前的分隔符號不是歸位字元 (0x0D) ,BizTalk Server將歸位字元新增至目前的分隔符號。 例如,若目前的分隔符號是縱線符號 (0x7C),則產生的分隔符號是縱線符號,後面接著歸位字元 (0x7C 0x0D)。 如果目前的分隔符號是歸位字元,則不論 skip_CR的值為何,它都會維持為單一歸位字元。
如果skip_LF批註的值為true,BizTalk Server會將換行字元 (0x0A) 新增至目前的分隔符號。 請注意,在上述案例中,目前的分隔符號是管道符號 (0x7C) ,如果 skip_CR 和 skip_LF 為 true,則會產生三個字元分隔符號 (0x7C 0x0D 0x0A) 。
BizTalk Server會忽略append_newline批註的設定。
雖然這些註解的解譯可確保大部分的情況順利移轉,但是在某些情況下,會發生移轉失敗。 例如,如果skip_CR和skip_LF都是true,而目前的分隔符號是管道符號 (0x7C) ,BizTalk Server接受下列所有專案做為單一記錄集內的有效分隔符號:0x7C 0x0D 0x0A、0x7C 0x0D、0x7C 0x0A和0x7C。 無法使用這類分隔符號集合的記錄進行移轉,而且需要在BizTalk Server中自訂剖析器程式碼。
雖然BizTalk Server只有一種分隔符號類型,但它會解譯舊的注釋,以便輕鬆地移轉記錄。 如果BizTalk Server架構具有def_record_delimdef_field_delim的值,def_subfield_delim這些值會在delimiter_type中參考為inherit_record等等,BizTalk Server擷取對應的值並將其儲存在本機。
此外,BizTalk Server新增不含子系之標記位置記錄的欄位。