从 ASCII 文本文件传输数据时出错
将数据从 workstation ASCII 文本文件传输到 iSeries™、eServer™ i5 或 System i5™ 文件时,可能会出现以下错误:
- 对于 iSeries™、eServer™ i5 或 System i5™ 定义的文件中的字段,ASCII 文本文件中的数据字段太长。在这种情况下,数据将被截断。当描述文件将字符数据定义为长于为系统文件指定的字段长度时,就会发生这种情况。
如果数据传输到 EBCDIC 字段,则仅当额外的字节不是空格时,才会出现此错误。
如果数据传输到十六进制字段,则仅当额外的字节不是零时,才会出现此错误。这些额外的字节将被截断,以便可将数据放入指定字段。
- 对于系统字段,数字数据的值太大。将使用最大值。在以下情况下会发生此错误:
- 字段中的数字数据无法放入该字段的指定字节数。
- 数字字段的十进制值包含的位数多于为该字段指定的位数。
字段的值设置为 iSeries™、eServer™ i5 或 System i5™ 指定的字节数和位数的最大可能值。
- 此字段中的数据具有太多小数位。数字将四舍五入。当字段中的十进制位置数大于 iSeries™、eServer™ i5 或 System i5™ 上指定的十进制位置数时,会出现此错误。这些额外的字节非常重要,因为如果第一个无关数字为 5 或更大,数据将向上舍入,如果它小于 5,则向下舍入。
- 此字段中的数据不正确或与数据类型不匹配。在以下情况下会发生此错误:
- 在文件描述定义为数字的字段中找到非数字数据。传输请求结束以防止向文件传输不正确的数据。
- 找到与文件描述指定的格式不匹配的 ASCII 数字数据。如果字段中的小数点位置不正确,可能会导致出现此错误。
- 找到的值不是 X'30' 到 X'39'、减号、加号或小数点。找到重复的小数点或减号。传输请求结束以防止向文件传输不正确的数据。
- 此字段的数据丢失。将使用缺省值。当定义了数据字段,但文件中没有数据时,会发生此错误。这意味着在找到所有定义的数据之前到达记录的末尾。
已定义但未找到数据的一个或多个字段将使用缺省值填充,并传输到文件。缺省值为 EBCDIC 空格(对于字符字段)或零(对于数字和十六进制字段)。
要提供自己的缺省值,请在文件的数据描述规范 (DDS) 中使用缺省 (DFT) 关键字。
- 在此记录的末尾发现额外数据。不会传输额外数据。在此记录末尾找到但非由系统数据定义或 workstation 文件描述文件定义的数据不会传输到系统文件,因为不存在定义数据及其更改方式的定义。
将数据从 ASCII 文本文件传输到 iSeries™、eServer™ i5 或 System i5™ 文件时,如果不使用文件描述文件,则不会传输发现超过为该文件指定的记录长度的任何额外数据。