c3p0连接池 - 虽然minPoolSize为10,但只启动了一个jTDS进程

时间:2016-09-15 12:34:13

标签: sql-server jdbc connection-pooling c3p0

我使用c3p0连接池连接到SQL Server 2008数据库。如下所示,minPoolSize设置为10,但在SQL Server中只启动了一个jTDS进程。

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
    destroy-method="close" >
    <property name="acquireIncrement" value="20" />
    <property name="idleConnectionTestPeriod" value="60"/>
    <property name="maxConnectionAge" value="7200" />
    <property name="preferredTestQuery" value="select 1" />
    <property name="maxIdleTime" value="1200" />
    <property name="maxPoolSize" value="250" />
    <property name="maxStatements" value="50" />
    <property name="minPoolSize" value="10" />
    <property name="driverClass" value="${database.driver}" />
    <property name="jdbcUrl" value="${database.url}" />
    <property name="password" value="${database.password}" />
    <property name="user" value="${database.user}" />
</bean>

&#34;最大并发连接数(0 =无限制):&#34;在SQL Server中设置为0。

任何想法可能是什么问题?

1 个答案:

答案 0 :(得分:3)

问题是我在端口1434上连接到我的数据库。该端口是专用管理连接,SQL Server只允许在该端口上建立一个连接。

SQL Server日志中的错误消息:

  

无法连接因为&#39; 1&#39;的最大数量专用   管理员连接已存在。在新连接之前可以   必须是现有的专用管理员连接   通过注销或结束流程来删除。 [客户:   127.0.0.1]

     

错误:17810,严重性:20,状态:2。

我通过启用TCP / IP并将端口更改为1433来解决问题 启用TCP / IP:
打开SQL Server配置管理器 - &gt; SQL Server网络配置 - &gt; MSSQLSERVER协议双击TCP / IP并选择启用是。