ODBCリンクテーブルを使用してMS Access 2007データベース用にthis Performance tipを実装してテストしようとしています。Access 2007でリンクされたODBCテーブルへの持続的な接続
基本的に、リンクされたデータベースへの永続的な接続が作成されます。この例では、別のAccessファイル(.mdb)を使用しています。
私の場合、SQL Serverのリンクテーブルをファイルdsnで使用しています。私はUser/System DSNを使いたいのですが、今のところDSNファイルで作業する必要があります。私はファイルDSNとopenDatabaseメソッドに基づいて接続を取得することに問題があります。
質問:レコードセットを使用してテーブルの1つを開いてそのままにしておくと、同じ利点が見られますか?
例におけるコード:
Static dbsOpen As DAO.Database
Set dbsOpen(x) = OpenDatabase("H:\folder\Backend1.mdb")
CurrentDBに基づいてレコードセット:
Static rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("tablename")
ODBC接続では、これは悪影響または中立性を持つと思いますか?接続プーリングに影響はありますか? –
これは非常に肯定的ではなく、SQLサーバーがその接続を開いたままにして、その最後にリソースを使い果たしてしまうため、有害な可能性があります。一般的なアドバイスは、近い将来(1秒未満で)同じ接続を使用する場合を除き、それを閉じなければなりません。 –
私はそれが問題だとは思わない、ケビン。 Jet/ACEが接続をプールするかどうかは実際には異なります。私はまた、あなたのアプリケーションが閉じているかどうかにかかわらず、ほとんどのサーバが非アクティブの後に接続を閉じると思うので、コードで行う必要なしに接続を閉じるというメリットが得られます。あなたのAccessアプリケーションが数百台のデスクトップで動作している場合を除いて、接続の数が問題になるとは思いません。ほとんどのアップサイズされたアプリはそのような状況にはありません。確かに、私は本当にそのカテゴリの多くのアクセスアプリが最初にあるとは思わない。 –