1

我正在创建 Windows 应用程序并使用 System.Data.SqlClient.SqlConnection 对象

 SqlConnection targetDatabaseConnection = new SqlConnection(ConnectionString);

以下是连接字符串

Data Source=.;Initial Catalog=TestBCP_12;User ID=sa;Password=sa;Min Pool Size=100; Max Pool Size=100; Decr Pool Size=100; Incr Pool Size=100;

以下两个设置出错

 Decr Pool Size=100; Incr Pool Size=100;

我知道所有尺寸都是 100 ,如果是的话,这是异常的原因吗?,该消息不尊重错误。

我阅读了以下文章并基于它实现 http://www.codeproject.com/Articles/17768/ADO-NET-Connection-Pooling-at-a-Glance

找到了直接在 SQL 中不可能的答案,所以提出了新问题 如何实现功能,即在建立与 SQL 的连接时控制“Incr Pool Size”或“Decr Pool Size”?类似于 ORACLE 来寻找其他可能的方法来实现它。

4

3 回答 3

6

由于您使用的是 SqlConnection,它不支持Decr Pool Sizeor Incr Pool SizeOracleConnection支持此属性

您可以查看这篇文章:DotNet 中的连接池

来自文章:

如果您使用的是 SQL Server 以外的 .NET 数据提供程序,则应参考文档。其他数据提供者可能有更多的汇集选项。一个很好的例子是 Oracle Data Provider,它提供了两个选项——Decr Pool Size 和 Incr Pool Size——用于控制连接池如何收缩或增长。

于 2012-07-11T07:14:18.023 回答
1

接受的关键字列表记录在 MSDN 上。那里既没有Decr Pool Size也没有Incr Pool Size列出。

于 2012-07-11T07:16:45.917 回答
1

您正在针对 SqlServer 数据库使用Oracle 连接字符串的语法。

DECR POOL SIZE并且INCR POOL SIZE在 SqlServer 连接中不受支持。

只需从连接中删除这两个部分。
我还建议删除,Max Pool Size=100;因为这是默认值。
如果Min Pool Size=100;对初始最小尺寸没有特殊要求,也可以删除

于 2012-07-11T07:17:43.487 回答