日期:2014-05-17  浏览次数:20975 次

sqlldr 命令 入门级问题
刚才在论坛上看见一个新的词组sqlldr,我的ora 很基础。我就百度了一下这个词组。
发现原来是SQL*LOADER的简写,我参照网上的一个例子(http://www.itpub.net/thread-79893-1-1.html第四楼),在我的dos下一步步的运行这个例子。
发现这样可以查看到sqlldr的信息。
c:\document and settings\administrator\sqlldr

但是我连库以后却不能使用sqlldr这个命令了,步骤:

sqlplus /nolog
conn sys/sa as sysdba;
sqlldr userid=fancy/testpass control=result.ctl log=resulthis.out  

这时候我使用sqlldr加载数据,dos提示我说sqlldr是未知的开头命令...我不知道为什么,高手请赐教。


哪位有关于sqlldr深入浅出的例子也可以发上,继续+分



------解决方案--------------------
sqlldr是在dos下运行的,不用登录到数据库
------解决方案--------------------
cmd命令行直接用跟imp跟exp一样
------解决方案--------------------
你要有一个control file文件,在dos下运行sqlldr userid=user/password@sid control=result.ctl
control file的格式大概是这样:
load data 
infile 'c:\a.txt' truncate
into table tablename fields terminated by whitespace optionally enclosed by "'"
(field1, field2)
a.txt是要导入的数据文件
------解决方案--------------------
ctl文件放哪里都行吧,control=后面可以跟路径的
------解决方案--------------------
你的Oracle安装的时候有没有出问题啊,我的意思是是有没有报错,没有完全解决安装报错问题的话,某些功能用不了的,我的经验之谈,我遇到过类似问题
------解决方案--------------------
你命令行不是要这样用吗?

sqlldr scott/tiger@orcl .....

这样你就凭用户和密码认证连到了oracle
------解决方案--------------------
你的用户名密码和SID是错的吧,用户名:sys,密码:sa,@后面是SID,是你用Net Configure Assistant设置的本地服务名,你现在的sysdba这个应该不是吧,如果oracle是安装在本机上且只有一个实例,可以不用加@SID,只用用户名加密码就可以。
------解决方案--------------------
log日志文件可以指定,也可以不指定,如果不指定,默认生成在你的windows当前目录下,就是你执行sqlldr时的目录
------解决方案--------------------
探讨
谢谢ls各位,已经解决了一个小问题了。容我继续求教,明天我给帖子加分,各位多多赐教:

我已经把oracle打开了,result.ctl和result.csv已经放在了C盘顶层目录下,这两个文件夹的内容:
--result.csv:---------------------------------------

1,默认 Web 站点,192.168.2.254:80:,RUNNING
2,other,192.168.2.254:80:test.com,STOPPED
3,third,192.168.2.254:81:thirdabc.com,RUNNING
--result.ctl-------------------…

------解决方案--------------------
补充一下:第二步,保存成result.ctl保存到:c:\根目录下
纠正:第三步建表的语句分号是中文分号,
如果楼主用plsql的话,直接用文本导入器,可以研究一下,很方便,功能与此类似