IBM DB2加载到IBM DB2 Z/Os失败
这是我上面的当前命令,生成的单个文本文件如下:IBM DB2加载到IBM DB2 Z/Os失败,db2,db2-zos,Db2,Db2 Zos,这是我上面的当前命令,生成的单个文本文件如下: Connect to server user myuser using mypass; LOAD CLIENT from "Text_File.TXT" OF DEL MODIFIED BY CHARDEL0x22 coldel0x09 KEEPBLANKS USEDEFAULTS TIMESTAMPFORMAT="YYYY-MM-DD HH:MM:SS.UUUUUUUUU" MESSAGES "Log_Text_File.TXT" INS
Connect to server user myuser using mypass;
LOAD CLIENT from "Text_File.TXT" OF DEL
MODIFIED BY CHARDEL0x22 coldel0x09 KEEPBLANKS USEDEFAULTS
TIMESTAMPFORMAT="YYYY-MM-DD HH:MM:SS.UUUUUUUUU" MESSAGES "Log_Text_File.TXT"
INSERT INTO SCHEMA.Table NONRECOVERABLE;
我得到的错误是:
SQL3116W行“F8-8245”和列“6”中的字段值缺失,但
目标列不可为空
SQL3185W处理第“F8-8245”行中的数据时发生上一个错误
输入文件的名称
我使用的文本限定符为“
这是一个以制表符分隔的文件
我不知道为什么文件会失败,因为第6列已经填满了
非常感谢您的帮助。如果您的输入数据文件可以在字符串值中包含换行符,请将DELPRIORITYCHAR添加到修改人列表中,如下所示:
由CHARDEL0x22 coldel0x09 delprioritychar修改
然后重试并检查输出。记住在每次加载(或存档)之前删除邮件文件因此,您只能看到新消息。这似乎与sql server没有任何关系-那么为什么要对其进行标记?您的TIMESTAMPFORMAT
指定小数秒,而输入数据没有小数秒;这可能是问题所在。您确定您的目标是Db2 for z吗?@mustaccio是的,我确定目标是IBM Db2 z/OS,这是r第6列是“datetime”列,目标是“Timestamp”。标记sqlserver的原因是源数据库是sqlserver,目标是IBMDB2z/os
"int" "AND 8 / 2010.
" "int" "int" "string" "2014-03-12 14:52:29" "name" "int"