2016-10-30 30 views
0

我正在寫一個腳本,允許用戶從菜單中選擇一個選項(已完成),並從存儲在oracle11g中的數據庫返回。從Oracle 11g中將SQL Query返回到shell腳本中?

pause(){ 
    read -p "Press [Enter Key To Continue]" 
} 

connect(){ 
export LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib 
sqlplus64 '******@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=oracle.***********)(Port=****))(CONNECT_DATA=(*******)))' 
} 


show_menu() { 
    clear 
    echo "~~~~~~~~~~~~~~~~~~" 
    echo " M A I N - M E N U" 
    echo "~~~~~~~~~~~~~~~~~~" 
    echo "1. Connect to Database" 
    echo "2. Query Table" 
    echo "3. Exit" 
    echo "_____________________" 

} 

one() { 
    connect 
    pause 
} 

我在代碼片段中使用astericks來保存一些個人信息。我的問題是,我將如何去,例如,具有用戶選擇2,使數據庫返回,例如

SELECT * FROM * 

直接返回到命令行?這比我想象的要困難得多嗎? connect()函數允許我登錄到數據庫服務器,但我需要手動輸入密碼,然後登錄到oracle,直到關閉腳本。

回答

0

可以在外殼

如下執行它
OUTPUT=/path/to/sqlplus64 user/password\@sid << EOF 
select * from table; 
EOF 

echo $OUTPUT; 

你可以用你的用戶會得到什麼替代查詢。

相關問題