刚才在论坛上看见一个新的词组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深入浅出的例子也可以发上,继续+分

解决方案 »

  1.   

    sqlldr是在dos下运行的,不用登录到数据库
      

  2.   

    cmd命令行直接用跟imp跟exp一样
      

  3.   

    嗯,我直接在dos下使用sqlldr这个命令是可以的,但是我把数据插入到数据库的时候dos提示我说:
    sql*load -128:无法开始会话
    connection as sys should be as sysdba or sysoper这个错误应该是说我没有连接数据库吧,所以我就用sqlplus》。。conn...连接了,然后进去后就不能用sqlldr这个命令了..
      

  4.   

    你要有一个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是要导入的数据文件
      

  5.   

    我的ctl是这样写的。应该和你的差不多吧。我想问一下,ctl应该放在哪个目录下?
    我随便放在C盘的目录下了没什么影响吧?
    load data
    infile 'c:\result.csv'
    into table resultxt
    (resultid char terminated by ',',
    website char terminated by ',',
    ipport char terminated by ',',
    status char terminated by whitespace) 
      

  6.   

    ctl文件放哪里都行吧,control=后面可以跟路径的
      

  7.   

    你的Oracle安装的时候有没有出问题啊,我的意思是是有没有报错,没有完全解决安装报错问题的话,某些功能用不了的,我的经验之谈,我遇到过类似问题
      

  8.   


    我的ora卸载过一次然后我重新安装的,不过安装是成功的。
      

  9.   

    一个新问题,我在dos下使用sqlldr命令怎么load文件呢dos 提示说我未连接ora
      

  10.   

    你命令行不是要这样用吗?sqlldr scott/tiger@orcl .....这样你就凭用户和密码认证连到了oracle
      

  11.   

    谢谢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---------------------------------------
    load data
    infile 'c:\result.csv'
    into table resultxt
    (resultid char terminated by ',',
    website char terminated by ',',
    ipport char terminated by ',',
    status char terminated by whitespace) ---------------------------------------------------我在dos下输入命令:sqlldr sys/sa@sysdba cotrol="c:\result.ctl"回车,dos提示我说704错误:无法解析指定的连接符
      

  12.   

    你的用户名密码和SID是错的吧,用户名:sys,密码:sa,@后面是SID,是你用Net Configure Assistant设置的本地服务名,你现在的sysdba这个应该不是吧,如果oracle是安装在本机上且只有一个实例,可以不用加@SID,只用用户名加密码就可以。
      

  13.   

    嗯,我以为@后面跟的是权限(sysdba)呢,我机子上就一个数据库实例,我就不加@sid了。
    请问log日志需要手动指定么?
      

  14.   

    log日志文件可以指定,也可以不指定,如果不指定,默认生成在你的windows当前目录下,就是你执行sqlldr时的目录
      

  15.   

    我给你写个完整的:
    1、新建文本文档--复制以下内容到文档中: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.csv,放到c:\根目录下
    2、
    把以下内容保存成result.ctlload data
    infile 'c:\result.csv'
    into table resultxt
    (resultid char terminated by ',',
    website char terminated by ',',
    ipport char terminated by ',',
    status char terminated by whitespace) 3、你要导入到哪个用户下,需要先以此用户登陆比如你要导入到system用户下
    先在system用户下建表:create table RESULTXT
    (
      RESULTID NUMBER,
      WEBSITE  VARCHAR2(50),
      IPPORT   VARCHAR2(50),
      STATUS   VARCHAR2(50)
    );4、cmd---
    sqlldr userid=system/passwd control='c:\result.ctl'
    若显示逻辑记录数...等代表导入成功。
      

  16.   

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

  17.   

    检查一下你系统的环境变量。把你的oracle安装目录下得‘BIN’目录添加上 sqlldr 命令就可以用了
    或者直接进入你oracle 安装目录的bin目录下执行sqlldr.exe文件