DB2数据库,使用export导出到del文件,load装入数据时,报告有错误。 检查发现文件中有字段内含有换行符,load默认以一行为一条记录,这样装载数据就有问题了。 在原来的数据库的源表中查询,用select * from TABNAME where colname like '%'||chr(13)||'%',查的此记录, chr(13)是换行符。 这样的字段内容如何进行避免,以后在导数时如何处理。
几个方法都可以解决上述问题:
方法一:使用ixf格式导出(export)和导入(import)。
方法二:对于DEL格式:在load命令中加入修饰项"MODIFIED BY DELPRIORITYCHAR"。具体原理如下:
Db2默认load优先级策略为:record delimiter, character delimiter, column delimiter。
record delimiter优先级最高,原始文件有换行的话,load就认为是新记录。使用delprioritychar改变默认的优先级别,确保""之间的数据不管有没有换行符都被认为是同一条记录。