直接访问数据库的富客户端的连接池

时间:2009-06-24 08:39:12

标签: database client-server database-connection

我有一个直接连接到SQL Server 2005数据库的遗留应用程序WinForms。

有许多客户端应用程序同时打开(几百个),所以我想尽量减少与数据库的连接数。

我可以提前和经常释放连接,并保持超时值低。

我还需要考虑其他事项吗?

2 个答案:

答案 0 :(得分:1)

尝试在创建新连接时使用相同的连接字符串,因此.Net将使用一个连接池。

尽快处理您的连接。

您可以在连接字符串本身中设置最大池大小,以确定最大活动连接数。

答案 1 :(得分:0)

您应该考虑引入连接池。 在Java世界中,您通常可以使用应用程序服务器“免费”获取此信息。但是,如果您关心的所有内容都是数据库连接池,那么无论如何都会超大。

一般的想法是让一个进程(在服务器上)打开数据库的有限数量的并行连接。您可以在某种“代理”应用程序(各种迷你应用程序服务器)中执行此操作,并重新使用昂贵的数据库连接来创建与应用程序的传入连接,这些连接可以更便宜地创建和丢弃。

当然这也需要对客户端进行一些更改,所以如果您不能接受这一点作为前提条件,它可能不是理想的解决方案。