0

我正在尝试将文件加载到 DB2 表并收到以下错误:

输入字段 ffffffff 不完全在输入记录中

任何人都可以建议出了什么问题。

4

1 回答 1

1

在此示例中,您有两个相同的列 CREATE_ID 和 UPDATE_ID 都是 CHAR(10),但是 CREATE_ID 位于数据集的中间,当您读取输入文件时,您最终会得到带有 3 个空格的“CONVERT”值。一共10个符号。

当您阅读 UPDATE_ID 时,您最终会得到总共 7 个符号的“CONVERT”值,因此您的加载过程会失败。如果要使用 CHAR(10),则必须提供长度为 10 个符号的输入。

在您的情况下,发生这种情况是因为您使用的是 RECFM=VB (虚拟块)数据集,它动态设置每条记录的(LRECL)长度。在您的情况下,记录的长度设置为 115。

你在这里有几个选择:

  1. 如果您计划在 UPDATE_ID 列中使用动态数量的字符,那么您应该将您的列更改为 VARCHAR。(我会去这个)
  2. 或者您可以在“CONVERT”值中再添加 3 个符号,并将其用作 CHAR
  3. 或者您可以使用 RECFM=FB 和 LRECL=118 的输入文件,在这种情况下,它会自动将最后 3 个符号填充为空格。
于 2019-12-13T07:13:30.937 回答