- PR -

該当テーブルがなければバッチ処理を終了する

1
投稿者投稿内容
yossy007
会議室デビュー日: 2003/01/16
投稿数: 3
お住まい・勤務地: 東京都目黒区
投稿日時: 2007-01-27 21:51
SQLServer2000をWindows2000AdvancedSvrで利用しており、DBからデータを抽出する際のプログラムとして、osqlを利用したバッチプログラムを組んでいます。

そのバッチプログラム中で、
「もし、Aというテーブルがなかったら、バッチプログラムを終了する」というチェックを行うにはどうすればよいのでしょうか。

よろしくお願いいたします。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-01-27 22:29
まず、バッチとは何を示していますか?
batファイルですか?

それと分からないのは、
・テーブルの存在チェック
・SQLの中断
・SQLの実行結果の取得
・バッチの中断
のどれでしょう?
yossy007
会議室デビュー日: 2003/01/16
投稿数: 3
お住まい・勤務地: 東京都目黒区
投稿日時: 2007-01-28 01:13
わかりづらい質問で申し訳ありません。

バッチとは
Batファイルのことです。

========================
それと分からないのは、
・テーブルの存在チェック
・SQLの中断
・SQLの実行結果の取得
・バッチの中断
のどれでしょう?
========================

申し訳ありませんが、4つすべて教えていただければと思います。
なお、特に、SQLチェック結果をbatファイルに渡す方法がわかりません。

よろしくお願いいたします。




[ メッセージ編集済み 編集者: yossy007 編集日時 2007-01-28 01:30 ]
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 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で判定して処理を中断すればよいでしょう。
yossy007
会議室デビュー日: 2003/01/16
投稿数: 3
お住まい・勤務地: 東京都目黒区
投稿日時: 2007-01-29 16:51
かつのり様
ご返答ありがとうございます。
WSHですか、少し勉強してから出直します。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)