- - PR -
該当テーブルがなければバッチ処理を終了する
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-01-27 21:51
SQLServer2000をWindows2000AdvancedSvrで利用しており、DBからデータを抽出する際のプログラムとして、osqlを利用したバッチプログラムを組んでいます。
そのバッチプログラム中で、 「もし、Aというテーブルがなかったら、バッチプログラムを終了する」というチェックを行うにはどうすればよいのでしょうか。 よろしくお願いいたします。 |
|
投稿日時: 2007-01-27 22:29
まず、バッチとは何を示していますか?
batファイルですか? それと分からないのは、 ・テーブルの存在チェック ・SQLの中断 ・SQLの実行結果の取得 ・バッチの中断 のどれでしょう? |
|
投稿日時: 2007-01-28 01:13
わかりづらい質問で申し訳ありません。
バッチとは Batファイルのことです。 ======================== それと分からないのは、 ・テーブルの存在チェック ・SQLの中断 ・SQLの実行結果の取得 ・バッチの中断 のどれでしょう? ======================== 申し訳ありませんが、4つすべて教えていただければと思います。 なお、特に、SQLチェック結果をbatファイルに渡す方法がわかりません。 よろしくお願いいたします。 [ メッセージ編集済み 編集者: yossy007 編集日時 2007-01-28 01:30 ] |
|
投稿日時: 2007-01-28 01:48
丸投げですか・・・
多少は調べましたか?どこまで調べましたか? ・テーブルの存在チェック Googleで[sqlserver] [テーブル一覧]で検索 http://www.google.co.jp/search?hl=ja&safe=off&rls=GGLJ%2CGGLJ%3A2006-40%2CGGLJ%3Aja&q=sqlserver+%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E4%B8%80%E8%A6%A7&lr= それと、SQLServer2000のリファレンスは読みましたか? ・バッチの中断 Googleで[batファイル] [構文] http://www.google.co.jp/search?hl=ja&safe=off&rls=GGLJ%2CGGLJ%3A2006-40%2CGGLJ%3Aja&q=bat%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB+%E6%A7%8B%E6%96%87&lr= どのみちバッチだけじゃ厳しいと思いますが。 WSHでADODB経由でSQLを実行してテーブルの有無を判定して、 リターンコードで返せばいいと思います。 WSHでのリターンコードはバッチ側の環境変数のERRORLEVELに格納されるので、 IFで判定して処理を中断すればよいでしょう。 |
|
投稿日時: 2007-01-29 16:51
かつのり様
ご返答ありがとうございます。 WSHですか、少し勉強してから出直します。 ありがとうございました。 |
1