--------------------------------------------------
◆.Netからストアド呼び出し時Timeout
--------------------------------------------------
■事象
SqlServerのストアド呼び出し時に
SqlClient.SqlCommand.CommandTimeoutが発生する。
■原因
SqlCommandクラスのCommandTimeout(既定値30秒)に
ひっかかってタイムアウトになっていた。
■回避策
処理時間が長いクエリを実行するときは、
CommandTimeoutに長め、もしくは無制限(0)のタイムアウト値(秒)を設定する。
例)
Dim sqlCmd As SqlClient.SqlCommand
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.CommandText = "testsp1"
(略) // パラメータ設定等
sqlCmd.CommandTimeout = 300 // 30⇒300秒に変更(0にすれば無制限)
sqlCmd.ExecuteNonQuery()
--------------------------------------------------
◆その他
--------------------------------------------------
■ビルド・リビルド・クリーンの意味
・ビルド
ソリューション配下のプロジェクト内で変更されたモジュールのみをビルドする。
短時間でビルドできる。
・リビルド
ソリューション配下の全プロジェクトを無条件にビルドする。
念の為全モジュールを最新化したい場合に使用
・クリーン
ビルドしたモジュールをいったん削除する。
クリーン⇒リビルドとすれば全体がきれいな状態になる。
■事前バインド・遅延バインドとは
・遅延バインド
アプリの実行時にオブジェクトを参照する。
・事前バインド
参照設定で設定したオブジェクトを参照する。
コード補完ができるなど、コードの保守性も高まる為、通常はこちらを推奨。
具体的な実装方法は、未確認。。