MW211 EXIT

devlog
ExcelVBA/接続時間延長
2015年08月26日
ExcelVBAでADODBを使ってMSSQLに問い合わせをしたが
SQLの処理が長すぎてタイムアウトエラーとなってしまう場合
以下のようにタイムアウト時間を延長することができる。
┌──────────────────────────────────────┐
│Dim テーブル As New ADODB.Recordset                                         │
│Dim SQLコマンド As New ADODB.Command                                        │
│With SQLコマンド                                                            │
│    .CommandTimeout = 180   ' ←★接続時間延長(30秒→180秒)                 │
│    .ActiveConnection = (データベース接続情報)                              │
│    .CommandText = (SQL文)                                                  │
│End With                                                                    │
│テーブル.Open SQLコマンド                                                   │
└──────────────────────────────────────┘
但し、基本的に処理が長すぎるSQL文を見直すべきで(インデックスの追加など)
上記手段を行うのは最後の最後もしくは特例的に限定すべきである。
分類:ExcelVBA、MSSQL