私はこのトピックと私の同僚との集中的な議論に関する広範な研究を行ってきました。Jet/ADOですぐに接続を閉じることは本当に賢明ですか?
一般的なコンセンサスは、データベース接続が必要なときに待機し、すぐに終了する必要があるようです。接続のキャッシング/プーリングは、アプリケーション自体ではなく、データベースドライバまたはその他のレイヤーによって行われる必要があります。
しかし、私はJet/ADOに関しては疑問があります。 Jetおよび/またはADOは、リードキャッシュと遅延書き込みを使用し、"unsynchronized" connectionsになる可能性があります。もちろん、私はJROを使用するたびに接続を再同期することができますが、それは非常に面倒でパフォーマンスの低下の可能性があります。
各接続を閉じ、すべての新しい接続を再同期する "ベストプラクティス"にするか、Jet/ADOの特質のためにグローバル接続オブジェクトを使用するだけですか?
JetはおそらくWebベースのアプリケーションのための最良のデータストアではないと私は同感しますが、元のポスターの場合のVB6アプリケーションではうまく機能します。従って、-1。 –
@David:VB6は、IISアプリケーションとCOM +の両方に使用されます。元のポストはデスクトップアプリケーションであることを意味する「アプリケーション」を使用しています。これが最初に取り上げられたのですが、IISやCOM +のヒントである「レイヤー」も使用されています。 – MarkJ
明確にするために - 私は、VB6/Jet Accessを使用する多くのユーザーと2台のデスクトップアプリケーションを維持しています。 – MarkJ