求救,SQL LOADER如何导入无分隔无固定长度的多行数据 本帖最后由 yearm123 于 2011-11-03 21:06:36 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以用UEdit把这些SQL整理出有规律的文本文件,再用sqlldr进行导入就可以。 谢谢回复,尝试用UE编辑过,发现不是很好整理,而且有几百万条记录,上面显示的是三条记录,每个记录是不固定行的。我在想能不能使用类似INSTR的函数来搜索记录是否存在某关键字? 如果没有规律肯定是无法处理的。你或者吧他按一个字段全部倒入。然后用SQL语句慢慢的整理吧。没有规律的数据肯定是要花费时间整理的。 文件格式太不规范了,如果想通过KEY=VALUE的形式导入的话,最起码要保证,字段值为空的字段也要用:字段名=NULL,或者字段名=''这种等式体现在文件中。比如说,你描述的“DBSG-1后面的1导入到DBSG字段”,并不是每条记录都要写这个字段,但是你想插入的表里一定是有DBSG这个字段的,所以,在文件的其他行(DBSG没有值的行)至少要有DBSG-NULL或者DBSG-'',这样才方便处理。 不一定要用UE编辑,把文件上传到LINUX或者UNIX环境上,用SHELL处理比较快。 自己写个解析的代码就行了,很难么?竟然规则都知道了JUST DO IT,遇到问题了再问呗,一次成功的人毕竟太少 谢谢大家,决定还是使用UE的正则表达式替换把没用的行去掉,按照yangqm22说的把SUD后面的值按一个字段导入再用SQL语句慢慢处理吧,再次谢谢大家 数据库安装问题 关于数据库的设计 SQL中的“EXEC sp_columns 表名”这句话,在ORACLE中怎么写的? 100分求一SQL 如何在order by 里使用decode()函数 请教sql的写法 “将数据库添加到树”是什么意思 新年到了,散分,祝大家猴年走大财,发大运! sql语句 如何让system用户可以有执行dbms_utility.exec_ddl_statement的权限? oracle plsql写表分区问题,急!!! linux下启动oracle报Connected to an idle instance.
字段名=NULL,或者字段名=''这种等式体现在文件中。
比如说,你描述的“DBSG-1后面的1导入到DBSG字段”,并不是每条记录都要写这个字段,但是你想插入的表里一定是有DBSG这个字段的,所以,在文件的其他行(DBSG没有值的行)至少要有DBSG-NULL或者DBSG-'',这样才方便处理。