DB2导入IXF文件问题(急!)
运行环境:XP系统 + DB2 8.2
问题描述:在导入DB2的IXF文件时,本来有10万条数据,但是导入到我的DB2中只有23564条数据,其中的大部分数据都没导入进来!但是整个导入过程并没有发生回滚!
日志记录的错误信息如下:
- SQL code
SQL3150N PC/IXF 文件中的 H 记录具有产品 "DB2 02.00"、日期 "20110808"和时间 "171508"。SQL3153N PC/IXF 文件中的 T 记录具有名称 "20101015PersonBase.ixf"、限定符 ""和源 " "。SQL3109N 实用程序开始装入文件 "20101015PersonBase.ixf" 中的数据。SQL3148W 未将输入文件中的行插入表中。返回了 SQLCODE "-302"。SQL0302N 在 EXECUTE 或 OPEN 语句中的主变量值对于其相应的使用来说过大。 SQLSTATE=22001SQL3185W 当处理输入文件的第 "1" 行中的数据时发生先前的错误。SQL3148W 未将输入文件中的行插入表中。返回了 SQLCODE "-302"。SQL0302N 在 EXECUTE 或 OPEN 语句中的主变量值对于其相应的使用来说过大。 SQLSTATE=22001SQL3185W 当处理输入文件的第 "2" 行中的数据时发生先前的错误。SQL3148W 未将输入文件中的行插入表中。返回了 SQLCODE "-302"。SQL0302N 在 EXECUTE 或 OPEN 语句中的主变量值对于其相应的使用来说过大。 SQLSTATE=22001SQL3185W 当处理输入文件的第 "3" 行中的数据时发生先前的错误。SQL3148W 未将输入文件中的行插入表中。返回了 SQLCODE "-302"。SQL0302N 在 EXECUTE 或 OPEN 语句中的主变量值对于其相应的使用来说过大。 SQLSTATE=22001... ...
(不能截图,我就简述下导入过程。。。)
我的导入步骤: 导入过程其实很简单。我是通过导入创建 —— 进入导入表的界面下选好导入文件.IXF和消息文件 —— 然后在把表名写上!
整个SQL语句是:
- SQL code
CONNECT TO ZHDB3;IMPORT FROM "E:\20101015PersonBase.ixf" OF IXF MESSAGES "E:\20101015PersonBase.log" CREATE INTO ADMINISTRATOR.person_base;CONNECT RESET;
求各位大侠帮帮我!谢谢。。。
[解决办法]
如果有表结构,先把表建进去,在import
可能是你的字符集不一样,导致指段长度问题
[解决办法]
检查一下字符集是否相同
[解决办法]
从提示看就是字段类型原因,但你是create into,所以估计就是如楼主几位所讲,库的字符集原因,导致字段超长
[解决办法]
从控制中心或用命令get db cfg查看一下源库和目的库的字符集
[解决办法]
你先建好表,把字段建长一点(字符类型,是原来表的两倍),然后import