アプリ版:「スタンプのみでお礼する」機能のリリースについて

バッチからsqlplusの接続エラーの検知について

環境:Xp、Oracle11g

バッチからsqlpulusを起動してPL/SQLを動かしてるのですが
DB接続に失敗した時に%ERRORLEVEL%では接続エラー時には
0が戻ってきてしまいエラーを検知できませんでした。

DB接続に失敗した場合、検知する方法を模索しております。

識者の方、助言を頂ければ幸いです。

A 回答 (2件)

今、環境が無くて確認できないんですが、


sqlplus -L /nolog
WHENEVER OSERROR exit 9
WHENEVER SQLERROR exit 9
connect ユーザ名/パスワード
ではどうでしょうか?特にsqlplusの-Lオプションは使えそうな感じですが。
    • good
    • 8

11gの環境が無いので10g(10.2.0.1.0)での検証ですが。


接続エラーの場合も%errorlevel%は1が戻ってきています。
以下がその結果です。
OSは WindowsXP Pro SP3です。

D:\>echo %errorlevel%
0

D:\>type conn.bat
echo off

sqlplus -l hoge/hoge@hoge @hoge.sql

if %errorlevel% EQU 1 (
echo "エラー"
)
D:\>conn.bat

D:\>echo off

SQL*Plus: Release 10.2.0.1.0 - Production on 木 8月 19 17:27:51 2010

Copyright (c) 1982, 2005, Oracle. All rights reserved.

ERROR:
ORA-12154: TNS: 指定された接続識別子を解決できませんでした


SP2-0751: Oracleに接続できませんでした。SQL*Plusを終了します。
"エラー"

D:\>echo %errorlevel%
1

可能であれば、問題の無い範囲でバッチファイルの中身を載せてみてはいかがでしょうか。
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A