文本文件导入Oracle数据库中? 我想用sqlloader命令把D盘下面的文本文件导入Oracle数据库中对应表里。因文本文件很大1。在导入之前先清除数据库的对应表2。去掉左右两边的空格3。用“|”分格文本的格式是这样的。123|345|897| |234|675请问各位高手怎么写这个脚本? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 --将字符串两端的空格去掉SQL> select trim(' ' from ' adfd dfdfe ') chr from dual; CHR----------adfd dfdfe SQL> create table t 2 as 3 select 111 id,'asdfadf' nm from dual union all 4 select 232,'ddddd' from dual union all 5 select 333,'eeeee' from dual 6 / Table created SQL> select * from t 2 / ID NM---------- ------- 111 asdfadf 232 ddddd 333 eeeee SQL> truncate table t;--清除表中数据 Table truncated SQL> select count(*) from t; COUNT(*)---------- 0 直接sqlldr或者external table就可以实现了。先建立一个控制文件,load datainfile 'file_location'truncate into table table_namefields terminated by '|'trailing nullcols(co11 "trim(:col1)",col2 "trim(:col2)",col3 "trim(:col3)",...)然后使用sqlldr导入,你的文件比较大,设置为direct方式加载,中间readsize,bindsize,streamsize几个参数可以设置大一些。自己慢慢琢磨吧 1、先建立一个控制文件,文件名如: data.ctlload datainfile '要导入数据文件'truncate into table 表名fields terminated by '|'trailing nullcols(co11 "trim(:col1)",col2 "trim(:col2)",col3 "trim(:col3)",...)2、使用sqlldr在命令行导入,如:C:\>sqlldr 用户名/密码@连接串 control=data.ctl direct=true streamsize=10485760说明:如果不需要去空格,则直接在控制文件中写出列名就行了。 导入后再update吧,不能动态 为什么不是c呢? 查询视图的时候。查询不了。提示视图有错误,是什么原因? 紧急求助!!在线等待 在Oracle10g上开发,最后部署到Oracle9i上,会有问题吗? @的用法 请问各位储存过程是多写好还是把数据处理放到中间层处理的好? 有关服务器端会话的一个问题 效率的问题: 求几个field的函数最小值——改表还是用游标?(大家都来说说看) session可以达到多大 这个SQL该如何写? 问一个关于oracle事物的问题?(菜鸟级别的) 在.net中怎么样调用oracle中的关键字作为字段
--将字符串两端的空格去掉
SQL> select trim(' ' from ' adfd dfdfe ') chr from dual;
CHR
----------
adfd dfdfe
SQL> create table t
2 as
3 select 111 id,'asdfadf' nm from dual union all
4 select 232,'ddddd' from dual union all
5 select 333,'eeeee' from dual
6 /
Table created
SQL> select * from t
2 /
ID NM
---------- -------
111 asdfadf
232 ddddd
333 eeeee
SQL> truncate table t;--清除表中数据
Table truncated
SQL> select count(*) from t;
COUNT(*)
----------
0
先建立一个控制文件,
load data
infile 'file_location'
truncate into table table_name
fields terminated by '|'
trailing nullcols
(
co11 "trim(:col1)",
col2 "trim(:col2)",
col3 "trim(:col3)",
...
)
然后使用sqlldr导入,你的文件比较大,设置为direct方式加载,中间readsize,bindsize,streamsize几个参数可以设置大一些。
自己慢慢琢磨吧
load data
infile '要导入数据文件'
truncate into table 表名
fields terminated by '|'
trailing nullcols
(
co11 "trim(:col1)",
col2 "trim(:col2)",
col3 "trim(:col3)",
...
)2、使用sqlldr在命令行导入,如:
C:\>sqlldr 用户名/密码@连接串 control=data.ctl direct=true streamsize=10485760说明:如果不需要去空格,则直接在控制文件中写出列名就行了。
不能动态