2013-05-17 74 views
1

我想創建shell腳本,AUTOLOAD當運行時,將執行帶有一組指令的SQL * Loader。所有這些都在我的Linux環境中。當在shell腳本中使用SQL * Loader時找不到sqlldr

使用SQL * Loader然後將數據導入到SQL開發

#!/bin/sh 
# 
echo -------- SQL loader -------- 
# @echo; 
# 
sqlldr [email protected]/password control=/folder1/ctrl/loader.ctl log=/folder1/load/results.l 

我的shell腳本位於根目錄下,這是我將調用的其他文件。 但它給我的錯誤,當我嘗試運行它:

- line 6: sqlldr: command not found 

我不知道如何來指定要使用SQL * Loader的路徑,因爲我是在Linux上。

我是新來這個......所以,請溫柔:(

+0

我很困惑。你打算使用'sh'(Bourne shell)還是'bash'(Bourne-Again SHell)? –

+0

我正在嘗試使用sh – Angelina

+0

您的'/ home//.ora_profile'或'/ home//.profile'具有什麼功能?因爲您可能沒有正確設置環境變量... – Ben

回答

3

嘗試

locate sqlldr 

這應該返回類似

/u01/app/oracle/product/11.2.0/xe/bin/sqlldr 

編輯你的〜/ .profile文件,並在加底部

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe 
PATH="$PATH:$ORACLE_HOME/bin" 

然後用source ~/.profile(或註銷並重新登錄)重新加載您的配置文件,您應該很好。

+0

export ORACLE_HOME =/opt/oracle/product/11gR2/db PATH =「$ PATH:$ ORACLE_HOME/bin」當我這樣做時不起作用:source〜/ .profile – Angelina

+0

我明白了。謝謝大家glen和@Ben – Angelina