informix导入报错,错误代码846

zhang380252518 2014-09-09 09:04:40
最近将现场数据往实验室数据库迁移,导入数据的时候出现了如下的错误:
846: Number of values in load file is not equal to number of columns.
847: Error in load file line 11.
使用的指令是:
load from "service.dat" insert into service_test

求教各位大神有没有什么好方法解决这个问题,看到以前类似的帖子说有两种解决方法:
insert游标的方式和dbload的方式,不过帖子上没有具体的解决方式,有大神可以提供下具体点的方法吗
...全文
1903 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lusee999 2014-09-15
  • 打赏
  • 举报
回复
unload的时候加上delimiter 试试 , 用一种特殊的分隔符" | " 试试
zhang380252518 2014-09-09
  • 打赏
  • 举报
回复
目前我已经找到了一个dbload的脚本,不过这个脚本不能将导入失败的行数或相关日志打印出了,请问有大神有完善版的脚本吗
zhang380252518 2014-09-09
  • 打赏
  • 举报
回复
引用 1 楼 mchdba 的回复:
数据迁移中,列的数目和值的数目对应不起来。 1,列的数目多余值的数目 2,值中间有特殊字符,把一个值不小心变成2个值了,这样值的数目就比列多了。
其实目前我遇到的情况是两个值变成了一个值,而且我更想知道的是具体的解决方法 |QZ_广西南宁瑜美文化转播有限公司柳州银行股份有限公司鱼峰支行_2M_2014-09-03 06:23:38|
九月茅桃 2014-09-09
  • 打赏
  • 举报
回复
数据迁移中,列的数目和值的数目对应不起来。 1,列的数目多余值的数目 2,值中间有特殊字符,把一个值不小心变成2个值了,这样值的数目就比列多了。
hugolin168 2014-09-09
  • 打赏
  • 举报
回复
unload的时候加上delimiter 试试
hugolin168 2014-09-09
  • 打赏
  • 举报
回复
你unload的脚步是什么?
AIX常用命令://查看机器序列号,IBM的基本信息都可以通过该命令查询得到 #prtconf #oslevel -r == uname -a //操作系统版本 #oslevel //查看操作系统版本ex :5.1.0.0 #oslevel -r //ex:5100-04 == oslevel -q //双机软件版本号 # lslpp -l|grep cluster //显示graphic display # lsdisp //查看CPU的个数 # bindprocessor -q //查看CPU的主频,操作系统版本最低是AIX 5.1,包含在软件包bos.pmapi.pmsvcs pmcycles This machine runs at 1500MHz //显示cpu的主频是1.5G #如何查找根文件系统(/)中的大文件 find -xdev -size +xxxx -ls #查找根卷组下大于2M的文件, 并根据文件大小排序, 大文件在前. find / -xdev -size +1024 -ls |sort -r +6 8277 624 -r-xr-xr-x 1 root system 635390 Jul 31 2003 /sbin/helpers/jfs2/fsck 28 596 -rw-r--r-- 1 root system 609388 Apr 12 17:25 /smit.log 30 1660 -rw-r--r-- 1 root system 3338083 Apr 5 14:08 /core #查看备份磁带中备份文件的大小 tcopy /dev/rmt0 tcopy: Tape File: 1; Records: 1 to 251; Size: 2097152. ---磁带机文件头大小 tcopy: Tape File: 1; Record: 252; Size 344064. ---磁带机文件头大小 tcopy: File: 1; End of File after: 252 Records, 526729216 Bytes. ---文件大小 tcopy: The end of the tape is reached. tcopy: The total tape length is 526729216 bytes. #如何取定文件与文件集的对应关系,有时想使用某个安装文件, 但没有安装包含该文件的文件集,找到文件集来安装所需文件 首先确认系统中已经安装了“bos.content_list”文件集(fileset), 如果没有安装, 请使用smitty installp进行安装. 运行which_fileset命令, 根据文件查找对应的文件集. 例如: #which_fileset iostat /usr/bin/iostat bos.acct 5.1.0.0 运行lslpp -f 命令, 查看指定文件集中包含的文件: #lslpp -f bos.acct //出于AIX系统安全考虑, 需要使某些用户只能在控制台登录使用,而不允许远程登陆使用. 更改/etc/security/user 文件中需要限制的用户的rlogin属性(rlogin = false) 当再次尝试远程登录时, 系统报错:Remote logins are not allowed for this account, 表示修改成功 //如何自动logout用户 有的用户登录后就长时间空闲,有可能导致安全上的问题,通过打开 /etc/profile 中 TMOUT 注释,将在设置的时间到达后自动logout用户 例如: export TMOUT=120 那么, 用户两分钟没有击键,将自动logout //AIX系统中如何限制用户所使用文件的大小(AIX小型机有大文件限制) >#smit chuser 在菜单上选择要控制的用户, 并修改下面两项: Soft FILE size [aaa] Hard FILE size [aaa] 则修改后用户的文件大小最大为aaa×512 bytes. >如何验证? 可以用该用户登录系统, 使用命令“ulimit -f”和“ulimit -Hf”可分别显示其fsize,fsize_hard的大

1,194

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 Informix
社区管理员
  • Informix社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧