ITPUB??ì3
ITPUB论坛 » Oracle开发 » 关于sqlldr导入execl文件的问题(急)

标题: [第三方工具] 关于sqlldr导入execl文件的问题(急)
离线 andy2153
一般会员



精华贴数 0
个人空间 0
技术积分 156 (11593)
社区积分 0 (1399034)
注册日期 2007-5-21
论坛徽章:0
      
      

发表于 2008-7-2 20:59 
关于sqlldr导入execl文件的问题(急)

我使用pl/sql devloper,将表中的数据导出到execl表中,将把EXCEL文件另存为CSV文件,控制文件为:
LOAD DATA

INFILE 'test.csv'

APPEND INTO TABLE t_car_temp

FIELDS TERMINATED BY ","

(phoneno,vip_car)
是在unix系统下执行的sqlldr userid=system/manager control=input.ctl 。
但是导入失败,请指教。
问题一:EXCEL文件另存为CSV文件到unix系统中文件内容是乱码。
问题二:直接用pl/sql到出csv的文件,使用sqlldr也是失败的,
请高手指教如何将execl文件改成csv文件后将其数据导入到数据库表中,最好举出实例说明,
非常感谢!


只看该作者    顶部
离线 20013011094
火舞冰峰


来自 辽宁
精华贴数 0
个人空间 0
技术积分 876 (2111)
社区积分 3 (21457)
注册日期 2006-7-10
论坛徽章:1
授权会员     
      

发表于 2008-7-2 22:16 
解决方法:
1:SQLLDR既可以在服务器端执行,也可以在客户端执行,在客户端实验下,看能否用SQLLDR导入,可能和OS的字符集有关;
2:可以在EXCEL中写公式,形成类似  "insert into table_name (a,b) values(1,2);",从而生成insert数据的脚本;
3:在PLSQL DEVELOPER中,select * from table_name for update,手工锁定;
    然后,把EXCEL中的数据全部选中,粘贴进PLSQL DEVELOPER,点“勾”,提交。
4:可以尝试建外部表。


2,3方案只适合数据量较少的情况。

2  4方案没有限制。

给你个SQLLDR的例子:
建表
create table dept
( deptno number(2) constraint dept_pk primary key,
dname varchar2(14),
loc varchar2(13)
);
控制文件.ctl:
LOAD DATA
INFILE  '文件的路径'
INTO TABLE DEPT
FIELDS TERMINATED BY ','
(DEPTNO, DNAME, LOC )

数据文件t.txt:
10,Sales,Virginia
20,Accounting,Virginia
30,Consulting,Virginia
40,Finance,Virginia

[ 本帖最后由 20013011094 于 2008-7-2 22:18 编辑 ]


__________________
青春不是年华,而是心境;
青春不是桃面、丹唇、柔膝,
而是深沉的意志,恢弘的想象,炙热的恋情;
青春是生命的深泉在涌流。
青春气贯长虹,勇锐盖过怯懦,进取压倒苟安。

只看该作者    顶部
离线 atgc
高级会员


精华贴数 1
个人空间 0
技术积分 7947 (155)
社区积分 168 (2534)
注册日期 2004-7-22
论坛徽章:34
2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:蹦床2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:排球2008北京奥运纪念徽章:花样游泳
2008北京奥运纪念徽章:垒球2008北京奥运纪念徽章:手球2008北京奥运纪念徽章:帆船2008北京奥运纪念徽章:羽毛球生肖徽章2007版:鼠生肖徽章:鸡

发表于 2008-7-3 09:13 
FIELDS TERMINATED BY "," enclosed by '"'


__________________
只看该作者    顶部
离线 andy2153
一般会员



精华贴数 0
个人空间 0
技术积分 156 (11593)
社区积分 0 (1399034)
注册日期 2007-5-21
论坛徽章:0
      
      

发表于 2008-7-6 22:27 
首先感谢你的解答,我用pl/sql devlop 到出的csv文件,第一行是表中的各个字段的说明,再将这个csv文件导入数据库的时候,由于第一行是各个字段的说明,我想是因为第一行不是数据,不符合要求,所以会报错的,是这样吧?


只看该作者    顶部
离线 wuhuaT
勿忘我


来自 勿问我
精华贴数 0
个人空间 0
技术积分 1686 (981)
社区积分 469 (1426)
注册日期 2008-1-14
论坛徽章:8
      
      

发表于 2008-7-7 10:12 
太好了

恭喜!您刚拣到ITPUB送出的奥运纪念徽章。2008北京奥运纪念徽章:蹦床

如果您的浏览器没有自动跳转,请点击这里


__________________
活到老,学到老,玩到老,乐到老
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问