手動で実行すると正しく実行されるシェルスクリプトがあります。しかし、私は、Javaプログラムを通じてシェルスクリプトを実行しますが、シェルプログラムは実行されますが、テーブルは更新されず、エラーもスローされません。以下は、私のシェルスクリプトとjavaプログラムへのリンクの詳細です。
http://www.codesandscripts.com/2014/10/java-program-to-execute-shell-scripts-on-remote-server.html:JavaプログラムからSQL Plusコマンドを含むシェルスクリプトを実行しています
シェルScript-
echo "started the script execution"
echo "
BEGIN
update <<table_name>> set name='abc';
commit;
END;
/
"| sqlplus -s $MD_DB_USER_NAME/[email protected]$MD_DB_SERVER
echo "After executing the update statement"
のJavaプログラムは、そこから私は、シェルザ・スクリプトを呼んでいます。
私はプログラムがデータベースに接続していると思います。誰でもそれが何であるか教えてもらえますか
どのようにシェルスクリプトを呼び出しますか? – Samuel
出力シェルコマンドログをログファイルに出力します。このようにすれば、エラーが何であるか正確に知ることができます。 – shankarsh15
'echo $ MD_DB_USER_NAME/$ MD_DB_SERVER'をスクリプトの先頭に追加して、変数がまったく設定されているかどうかを確認します。そして、スクリプトの出力を確認してください。 Javaで使用するか、またはスクリプトを一時ファイルにリダイレクトするかのいずれかです。 –