2010年5月28日

[pgsql-jp: 40282] Re:バッチ処理でのエラー処理について

こんにちは、海老原です。

psqlを実行すると環境変数ERRORLEVELにセットされます。
psqlの実行直後に、%ERRORLEVEL%の値をチェックしてみてください。
または、IF ERRORLEVEL文でもいいかもしれません。

海老原

2010年5月28日17:03 河西 昌明 <kawanishi@xxxxx>:
> こんにちは、河西と申します。
>
> 現在、Windows環境でPostgreSQLを活用しているのですが、データベースの更新が
> 必要になった場合、DOSコマンドでバッチファイルを作り、更新をかけています。
>
> 外部ファイル(sample.sql)でデータベース更新用のスクリプト(SQL)を作成して、
> それを以下のようなコマンドで呼び出すようなバッチ処理になります。
>
> psql -U postgres --set ON_ERROR_STOP=on -h -e -f sample.sql sampleDB
>
>
> このような方法で、スクリプト(sample.sql)の実行中にエラーが発生した場合、
> その時点で更新処理を止めるようにしているのですが、発生したエラーを取得する
> にはどうしたら良いでしょうか? エラーコードを取得して、その状況に応じて、
> 前述のコマンド以降の処理を、分岐できればと考えています。
>
> ネットで検索したところ、PostgreSQL7.1.3のドキュメントでしたが、以下の様な
> 記述がありました。
>
> ---------------------------------
> psqlの対話式セッションから ではなく、-f オプションを使って呼び出されていた場合、 psqlは致命的エラー条件(エラーコード1)と 区別するためにエラーコード3を返します。
> ---------------------------------
>
> この「エラーコート3」が取得できれば良いのだと思うのですが、どのようにすれ
> ば取得できるのか解りません。
>
>
> ■環境
> PostgreSQL 8.1.3
> WindowsXP SP3
>
>
>
> 以上、宜しくお願い致します。
> ---------------------------------♪
> 株式会社プラスワン 河西昌明
>


投稿者 xml-rpc : 2010年5月28日 17:12
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/96042
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。