0

SQL Server 2005 データベースに直接接続するレガシー アプリケーションの WinForms があります。

同時に開いているクライアント アプリケーションが多数 (数百) あるため、データベースへの接続数を最小限に抑えたいと考えています。

接続を早期かつ頻繁に解放し、タイムアウト値を低く保つことができます。

他に考慮すべき点はありますか?

4

2 に答える 2

1

新しい接続を作成するときは、同じ接続文字列を使用するようにしてください。これにより、.Net は 1 つの接続プールを使用します。

できるだけ早く接続を破棄してください。

接続文字列自体に最大プール サイズを設定して、アクティブな接続の最大数を決定できます。

于 2009-06-24T08:56:15.057 に答える
0

接続プールの導入を検討する必要があります。Java の世界では、通常、これはアプリケーション サーバーで「無料」で入手できます。ただし、気にするすべてがデータベース接続プーリングである場合、これはとにかく大きすぎます。

一般的な考え方は、(サーバー上の) 1 つのプロセスがデータベースへの限られた数の並列接続を開くことです。ある種の「プロキシ」アプリケーション (一種のミニ アプリケーション サーバー) でこれを行い、高価なものを再利用して、アプリへの着信接続用のデータベース接続を作成します。作成して破棄する方が安価です。

もちろん、これにはクライアント側にもいくつかの変更が必要になるため、それを前提条件として受け入れることができない場合、理想的なソリューションではない可能性があります。

于 2009-06-24T14:31:08.030 に答える