Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Mengelola penanganan kesalahan saat menjalankan sqlplus dari skrip shell

Apa yang dikatakan Max benar. Coba skrip yang dimodifikasi ini

#!/bin/sh

echo "Please enter evaluate database username"
read eval_user
echo "Please enter evaluate database password"
read eval_pass
echo "Please enter the database name"
read db_name

LOGFILE=shell_log.txt

sqlplus -s /nolog <<-EOF>> ${LOGFILE}
WHENEVER OSERROR EXIT 9;
WHENEVER SQLERROR EXIT SQL.SQLCODE;
connect $eval_user/[email protected]$db_name
DBMS_OUTPUT.put_line('Connected to db');
EOF

sql_return_code=$?

if [ $sql_return_code != 0 ]
then
echo "The upgrade script failed. Please refer to the log results.txt for more information"
echo "Error code $sql_return_code"
exit 0;
fi

Harap perhatikan penggunaan sql_return_code untuk menangkap kode pengembalian SQLPLUS.

Pernyataan DBMS_OUTPUT seharusnya gagal dengan kesalahan - "SP2-0734:perintah tidak diketahui dimulai...". Anda dapat menemukan pesan kesalahan di file log.

Dimungkinkan untuk menjebak kesalahan sp2 di SQLPLUS 11g menggunakan fasilitas pencatatan kesalahan. Silakan lihat di http://tkyte.blogspot.co.uk/2010/04/new-thing-about-sqlplus.html untuk informasi lebih lanjut.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menampilkan Pesan Modal Window di Oracle Forms Menggunakan Show_Alert

  2. SQLPlus - spooling ke banyak file dari blok PL/SQL

  3. Apakah Oracle memiliki variabel tabel yang setara dengan SQL Server?

  4. Bagaimana cara memeriksa statistik basi

  5. Saya tidak mengerti Collation? (Mysql, RDBMS, Kumpulan karakter)