System.Data.SqlClient 命名空间下有个类: SqlConnectionStringBuilder ,可以帮助我们维护链接字符串。 这个类对我们下面的需求场景很有帮助。
对于同一个数据库,我们可能有正常和比较耗时的统计工作两种需求,为何互相不干扰,我们一般可以配置2个数据库链接字符串,类似如下的配置:
Persist Security Info=False;Integrated Security=true;Initial Catalog=Northwind;server=(local);
Persist Security Info=False;Integrated Security=true;Initial Catalog=Northwind;server=(local);Connect Timeout=0;
注: 在没有设置 Connect Timeout 时, Connect Timeout 默认为15秒,如果 Connect Timeout 设置为0,则表示永远不超时。这个设置是以秒为单位的。
其实我们完全可以只配置一个数据库链接字符串,然后使用 SqlConnectionStringBuilder 类来帮助我们实现不同 Connect Timeout 的需求。
演示代码如下:
// connString 原汁原味的配置的链接字符串 SqlConnectionStringBuilder connStr = new SqlConnectionStringBuilder(connString); // 不论之前是否设置了Connect Timeout,这里都强制设置为用不超时 connStr.ConnectTimeout = 0; // 使用新组合后的链接字符串 SqlConnection conn = new SqlConnection(connStr.ConnectionString);
参考资料:
SqlConnectionStringBuilder 类
http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlconnectionstringbuilder(VS.80).aspx