Pages

2013/10/26

[VBA] オブジェクトが閉じている場合は、操作は許可されません。



ADO にてストアドを呼び出した際に、呼び出しは成功し、戻り値も返ってくるにもかかわらず Recordset の接続が切断されてしまうエラーに遭遇。
原因は、ストアド側で SET NOCOUNT ON; 以前に Select や Insert などの処理を行っていたためだった。

SET NOCOUNT ON; に設定すると、クライアント側に処理された行数を返却しないので、ネットワークの帯域も圧迫しないらしい。
これはクライアント側への通知設定であるので、@@ROWCOUNT 関数は更新される。

SET NOCOUNT (Transact-SQL) - msdn

Related Posts Plugin for WordPress, Blogger...