2016-10-30 5 views
0

私は、メニューからオプションを選択することができ、oracle11gに格納されているデータベースから戻ることができるスクリプトを作成しています。SQL問合せをoracle 11gからシェル・スクリプトに戻しますか?

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を使用しています。私の質問は、私は例えば

SELECT * FROM * 

直接戻るコマンドラインに、ユーザーは2を選択した、とデータベースのリターンを作り、例えば、行くだろうか、でしょうか?これは私が思うよりもはるかに難しいですか? connect()関数を使用すると、データベースサーバーにログインできますが、パスワードを手動で入力する必要があります。その後、スクリプトを閉じるまで、oracleにログインしています。

答えて

0

あなたはあなたがユーザーから得るものでクエリを置き換えることができますシェル

OUTPUT=/path/to/sqlplus64 user/password\@sid << EOF 
select * from table; 
EOF 

echo $OUTPUT; 

で以下のようにそれを実行することができます。

関連する問題