- PR -

OleDbConnectionのCloseについて

1
投稿者投稿内容
TAKA
会議室デビュー日: 2007/06/03
投稿数: 19
投稿日時: 2009-02-18 18:03
お世話になります。
環境:VB2008、Access2003

OleDbConnectionを使用後は、当然Closeが必要と思っていたのですが、
MSDNの記載内容に矛盾があるように思い、苦慮しております。

■MSDN_OleDbConnectionクラスの説明
http://msdn.microsoft.com/ja-jp/library/system.data.oledb.oledbconnection.aspx
⇒OleDbConnection は、適用範囲外では閉じられません。そのため、Close または Dispose を呼び出すか、OleDbConnection オブジェクトを Using ステートメント内に記述することによって、明示的に接続を閉じる必要があります。

■MSDN_OleDbConnection.Closeメソッドの説明
http://msdn.microsoft.com/ja-jp/library/system.data.oledb.oledbconnection.close.aspx
⇒OleDbConnection に対して Close または Dispose を呼び出さないでください。

前者では、Close(又はDispose)が必要と記載されており、
後者では、不要と記載されております。
結局、Close(又はDispose)は実行すべきなのでしょうか?不要なのでしょうか?
テッテ
ベテラン
会議室デビュー日: 2008/03/16
投稿数: 91
投稿日時: 2009-02-18 21:34
Close の方が誤訳だと思います。英語のMSDNを見ると、以下のようになっています。

http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbconnection.close.aspx

引用:

Do not call Close or Dispose on an OleDbConnection, an OleDbDataReader, or any other managed object in the Finalize method of your class.



クラスの Finalize メソッドの中で OleDbConnection、OleDbDataReader、および他のマネージ オブジェクトの Close や Dispose を呼び出さないでください」ということのようです。
TAKA
会議室デビュー日: 2007/06/03
投稿数: 19
投稿日時: 2009-02-19 16:22
テッテさん、ありがとうございます。
スッキリしました。
1

スキルアップ/キャリアアップ(JOB@IT)