我正在创建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中这是不可能的,所以问了新问题 How to achieve functionlity i.e. controlling "Incr Pool Size" or "Decr Pool Size" while establishing connection to SQL? similar to ORACLE 找到其他可能的方法来实现它。
答案 0 :(得分:6)
由于您使用的是SqlConnection,因此它不支持Decr Pool Size
或Incr Pool Size
。 OracleConnection
您可以查看此文章:Connection Pooling in DotNet
来自文章:
如果您使用的是.NET数据,则应参阅文档 SQL Server以外的提供程序。其他数据提供商可能有更多 汇集选项。 Oracle Data Provider就是一个很好的例子 提供两个选项 - Decr Pool Size和Incr Pool Size - for 控制连接池如何缩小或增长。
答案 1 :(得分:1)
接受的关键字列表为documented on MSDN。此处未列出Decr Pool Size
和Incr Pool Size
。
答案 2 :(得分:1)
您正在使用针对SqlServer数据库的Oracle connection字符串语法。
DECR POOL SIZE
和INCR POOL SIZE
在SqlServer连接中不受支持。
只需从连接中删除这两部分即可
另外,我建议删除Max Pool Size=100;
,因为这是默认值
如果没有特殊要求具有初始最小尺寸
Min Pool Size=100;