Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Quản lý việc xử lý lỗi trong khi chạy sqlplus từ các tập lệnh shell

Những gì Max nói là chính xác. Hãy thử tập lệnh đã sửa đổi này

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

Vui lòng lưu ý việc sử dụng sql_return_code để lấy mã trả về SQLPLUS.

Câu lệnh DBMS_OUTPUT không thành công với lỗi - "SP2-0734:lệnh không xác định bắt đầu ...". Bạn có thể tìm thấy thông báo lỗi trong tệp nhật ký.

Có thể bẫy lỗi sp2 trong SQLPLUS 11g bằng cách sử dụng phương tiện ghi lỗi. Vui lòng xem tại http://tkyte.blogspot.co.uk/2010/04/new-thing-about-sqlplus.html để biết thêm thông tin.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để bạn thiết lập một máy chủ được liên kết với cơ sở dữ liệu Oracle trên SQL 2000/2005?

  2. Cách sử dụng Chỉ mục ảo trong Cơ sở dữ liệu Oracle

  3. Cuộn lại A nếu B sai. khởi động mùa xuân, jdbctemplate

  4. Quản lý cửa sổ trong Oracle D2k Forms

  5. Oracle ORA-12154:TNS:Không thể giải quyết lỗi tên dịch vụ?