如何解决SqlConnection错误“不支持关键字:'decr pool size'。”

时间:2012-07-11 07:09:08

标签: c# sql sql-server ado.net

我正在创建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 找到其他可能的方法来实现它。

3 个答案:

答案 0 :(得分:6)

由于您使用的是SqlConnection,因此它不支持Decr Pool SizeIncr Pool SizeOracleConnection

支持此属性

您可以查看此文章:Connection Pooling in DotNet

来自文章:

  

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

答案 1 :(得分:1)

接受的关键字列表为documented on MSDN。此处未列出Decr Pool SizeIncr Pool Size

答案 2 :(得分:1)

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

DECR POOL SIZEINCR POOL SIZE在SqlServer连接中不受支持。

只需从连接中删除这两部分即可 另外,我建议删除Max Pool Size=100;,因为这是默认值 如果没有特殊要求具有初始最小尺寸

,也可以删除Min Pool Size=100;