在shell下執行oracle資料庫的sql
####函數####說明:執行sql語句####輸入參數:{sql語句}{資料庫tns}{資料庫使用者名稱}{資料庫使用者密碼}#### 輸出參數:sql執行結果function exe_sql{sql=$1oracle_sid=$2user_name=$3user_pwd=$4error_code=`sqlplus -S -L /nolog<<EOFconnect $user_pwd/$user_pwd@$oracle_sidset termout off;set echo off;set feedback off;set heading off;set pagesize 0;$sql;commit;quitEOF`echo "$error_code"if [ -z "$error_code" ];thenreturn 0else return 1fi}
sid:
資料庫執行個體標識,也就是資料庫執行個體的名稱,在控制台-管理工具-服務,開啟這個檔案,你可以看到一個OracleServicexxx,其中 "xxx ",就是
你的資料庫執行個體的名稱,也就是sid.
tns:
資料連線字串,代表一個資料庫的串連,配置好你的資料網路連接,就會有一個這樣的串。這個串可以在你的oracle安裝根目錄\ora92\network\admin\tnsnames.sql裡面找到,你要可以在你的oracle安裝目錄下尋找這個檔案,
orac =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = cyl)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = D7i)
)
)
上面的 "orac ",就是你要的tns,你可以自己複製重寫一個tns,把HOST指向你的資料庫伺服器IP,
SERVICE_NAME =你的資料庫sid