我正在尝试将文件加载到 DB2 表并收到以下错误:
输入字段 FFFFFFFF 不完全在输入记录内
任何人都可以建议出了什么问题。
在这个例子中,你有两个相同的列CREATE_ID和UPDATE_ID都是 CHAR(10(,但是CREATE_ID在数据集的中间,当你读取输入文件时,你最终得到"CONVERT"值,有 3 个空格。总共 10 个符号。
当您读取UPDATE_ID时,您最终会得到总共 7 个符号的"CONVERT"值,因此您的加载过程失败。如果要使用 CHAR(10(,则必须提供长度为 10 个符号的输入。
在您的情况下,发生这种情况是因为您使用的是 RECFM=VB(虚拟块(数据集,该数据集动态设置每条记录的 (LRECL( 长度。在您的情况下,记录的长度设置为 115。
您在这里有几个选择:
- 如果您计划在 UPDATE_ID列中,则应将列更改为 VARCHAR。(我会选择这个(
- 或者您可以在"转换"值中添加另外 3 个符号,并将其用作 CHAR
- 或者您可以使用 RECFM=FB 和 LRECL=118 的输入文件,在这种情况下,它会自动将最后 3 个符号填充为空格。