Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

शेल स्क्रिप्ट से sqlplus चलाते समय त्रुटि प्रबंधन का प्रबंधन

मैक्स जो कहता है वह सही है। इस संशोधित स्क्रिप्ट को आजमाएं

#!/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

कृपया SQLPLUS रिटर्न कोड को कैप्चर करने के लिए sql_return_code के उपयोग पर ध्यान दें।

DBMS_OUTPUT कथन त्रुटि के साथ विफल होना चाहिए - "SP2-0734:अज्ञात कमांड शुरुआत ..."। आप लॉग फ़ाइल में त्रुटि संदेश पा सकते हैं।

त्रुटि लॉगिंग सुविधा का उपयोग करके SQLPLUS 11g में sp2 त्रुटियों को ट्रैप करना संभव है। अधिक जानकारी के लिए कृपया http://tkyte.blogspot.co.uk/2010/04/new-thing-about-sqlplus.html पर एक नजर डालें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL डेवलपर का उपयोग करके एक इकाई-संबंध (ER) आरेख कैसे उत्पन्न करें

  2. संग्रह विधि:Oracle डेटाबेस में पहले और अगले कार्य

  3. Oracle में तिथियों से अग्रणी शून्य कैसे निकालें?

  4. Oracle में नंबर कैसे फ़ॉर्मेट करें

  5. Oracle में REGEXP_REPLACE () फ़ंक्शन