これは先日作っていたシステム。
ExcelからADOを使ってSQL Serverにアクセスしているシステムを作った。
テスト時はさくさく動いたが、顧客にテストして貰った際にレスポンスが悪かった。なんのことはない。テーブルにロックがかかっていたために相違ない。
ところが、確認してみると、トランザクションを開始した後、コミットやロールバックを遅延させているところはない。
第三者に意見を求めると「何が影響するか分からないので、ADOオブジェクトをこまめにNothingしてみてはどう?」という意見が出てきた。へ?馬鹿げてるぜ、とは思いつつもそれなら説明がつくよな、と試してみた。
あれあれ、なんでこれですんなり行ってしまう?と脱力してしまった。
これはデータベースにもよるかもしれない。もし情報をお持ちの方がいればコメントかトラックバックを。
※記事の書き直し予定 / DBアクセス