ADOでの時間切れについて

DB環境:Microsoft SQL Server 2005

VBScriptで大量のデータ(何百万件ぐらい)を削除するバッチを作成しようと思っています。

Set objConn = CreateObject("ADODB.Connection")
・・・(中略)・・・
objConn.Execute "delete XXX〜〜"

でやると、やはり「時間切れになりました」と怒られました。

=================================
ConnectionTimeoutを使ってみましょう:
=================================

Set objConn = CreateObject("ADODB.Connection")
objConn.ConnectionTimeout = 600
・・・(中略)・・・
objConn.Execute "delete XXX〜〜"

という感じで1行を追加しましたが、全く効きませんでした。

=================================
やはり「ADODB.Command」を使わないといけないみたいですね:
=================================
タイムアウト時間の設定方法を教えてください –DAO、ADO、SQL & Access フォーラム–
↑を参考させていただきました。「ADODB.Command」を使うのが正解ですね。
という感じで、

Set objConn = CreateObject("ADODB.Connection")
Set objCmd = CreateObject("ADODB.Command")
objConn.ConnectionTimeout = 600
objCmd.CommandTimeout = 600
・・・(中略)・・・
objCmd.ActiveConnection = objConn
objCmd.CommandText = "delete XXX〜〜"
objCmd.Execute

で実行すると、無事にタイムアウトせず正常終了しました。
おかげさまです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です