.bat文件怎么转换成linux的.sh文件
sqlldr   rainbow/"public"@orc10g   
control=\ftp_rainbow\synCtl\VIEW_CUST_DOCTOR2HOSPITAL.ctl
log=\ftp_rainbow\synCtl\VIEW_CUST_DOCTOR2HOSPITALlog.txt   bad=\ftp_rainbow\synCtl\VIEW_CUST_DOCTOR2HOSPITALbad.txt发在linux论坛没人理,,,oracle里有达人给看看~~~~ 接触过的给点例子什么的,谢谢了

解决方案 »

  1.   

    linux没有用过,只知道文件路径符号与windows文件路径号不一样
    linux-->"/"
    windows-->"\"
      

  2.   

    先创建目录/XXX/CCC,把VIEW_CUST_DOCTOR2HOSPITAL.ctl放置在该路径下.然后编辑load.sh
    #!/bin/bash
    sqlldr userid=rainbow/"public"@orc10g 
    control=/XXX/CCC/VIEW_CUST_DOCTOR2HOSPITAL
    log=/XXX/CCC/VIEW_CUST_DOCTOR2HOSPITALlog.txt
    bad=/XXX/CCC/VIEW_CUST_DOCTOR2HOSPITALbad.txt  
      

  3.   

    上面"public"把双引号去掉或进行转义.
      

  4.   

    [root@localhost ~]# sh test.sh-----------报错说第一行 command no found
      

  5.   

    load.sh 
    #!/bin/bash 
    sqlldr userid=rainbow/public@orc10g 
    control=/XXX/CCC/VIEW_CUST_DOCTOR2HOSPITAL 
    log=/XXX/CCC/VIEW_CUST_DOCTOR2HOSPITALlog.txt 
    bad=/XXX/CCC/VIEW_CUST_DOCTOR2HOSPITALbad.txt  
    [root@localhost ~]# sh test.sh-----------报错说第一行 command no found
      

  6.   

    写全路径,举个例子:
    #!/bin/bash
    export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
    export ORACLE_SID=XXXX
    $ORACLE_HOME/bin/sqlldr userid=rainbow/public@orc10g log=/XXX/CCC/VIEW_CUST_DOCTOR2HOSPITALlog.txt bad=/XXX/CCC/VIEW_CUST_DOCTOR2HOSPITALbad.txt
      

  7.   


    Perl code#!/bin/bash
    export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
    export ORACLE_SID=XXXX
    $ORACLE_HOME/bin/sqlldr userid=rainbow/public@orc10g log=/XXX/CCC/VIEW_CUST_DOCTOR2HOSPITALlog.txt bad=/XXX/CCC/VIEW_CUST_DOCTOR2HOSPITALbad.txtbin/sqlldr  no surch file~~~~~
      

  8.   

    这行
    export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1 不能照抄的.
    改为你ORACLE的安装路径.
      

  9.   

    前面都说了是给你举个例子,不是直接复制就用的。
    还有export ORACLE_SID=XXXX 这句。
      

  10.   

    还有问题,我有好几个sh,怎么弄个总的sh链接,
    vi /etc/crontab 
    30 0 * * * /home/your_login/bin/java_program 
    写完后怎么保存退出~~~
      

  11.   

    基本的vi命令啊.先按esc,然后按shit+q,然后再输入x,回车,即可保存退出.
      

  12.   

    这个a.sh
    export ORACLE_HOME=/user/app/oracle/product/10.2/dba 
    export ORACLE_SID=orcl10g
    $ORACLE_HOME/bin/sqlldr userid=rainbow/public@orc10g log=/XXX/CCC/VIEW_CUST_DOCTOR2HOSPITALlog.txt bad=/XXX/CCC/VIEW_CUST_DOCTOR2HOSPITALbad.txt bin/sqlldr  no surch file~~~~~是# sh a.sh 这么测试吧~~ 
      

  13.   

    你把你的sqlldr程序所在路径贴出来看看。
      

  14.   

    就是你ORACLE软件安装目录的BIN目录下。
      

  15.   

    /opt/ora10/product/10.2/bin/sqlldr这个a.sh 
    export ORACLE_HOME=/opt/oracle/product/10.2/bin
    export ORACLE_SID=orcl10g 
      

  16.   

    export ORACLE_HOME=/opt/ora10/product/10.2/bin
    export ORACLE_SID=orcl10g 
      

  17.   

    export ORACLE_HOME=/opt/ora10/product/10.2/bin
    export ORACLE_SID=orcl10g 
      

  18.   

    export ORACLE_HOME=/opt/ora10/product/10.2/
    export ORACLE_SID=orcl10g 
    $ORACLE_HOME/bin/sqlldr .....
      

  19.   

    你看看sqlldr程序是不是在/opt/ora10/product/10.2/bin/sqlldr这个位置?
      

  20.   

    sqlldr程序 是在/opt/ora10/product/10.2/bin/sqlldr 里
      

  21.   

    那你直接:
    export ORACLE_HOME=/opt/ora10/product/10.2/ 
    export ORACLE_SID=orcl10g 
    /opt/ora10/product/10.2/bin/sqlldr userid=rainbow....如果还是no such file,那就是权限问题了。你执行该命令的用户没权限读这个目录。
      

  22.   

    /opt/ora10/product/10.2/bin/sqlldr userid=rainbow.... message 2100 no found~~~
      

  23.   

    设置好PATH,看看oracle用户下的.bash_profile就知道了
    然后先试着执行sqlldr看有什么问题没有
      

  24.   

    chmod u+x 批处理文件名