c3p0 连接池 - 尽管 minPoolSize 为 10,但仅启动了一个 jTDS 进程
c3p0 Connection Pool - only one jTDS process started although minPoolSize is 10
我正在使用 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>
"Maximum number of concurrent connections (0 = unlimited):" 在 SQL 服务器设置为 0。
知道问题出在哪里吗?
问题是我在端口 1434 上连接到我的数据库。该端口是一个专用管理连接,SQL服务器只允许该端口上的一个连接。
SQL 服务器日志中的错误消息:
Could not connect because the maximum number of '1' dedicated
administrator connections already exists. Before a new connection can
be made, the existing dedicated administrator connection must be
dropped, either by logging off or ending the process. [CLIENT:
127.0.0.1]
Error: 17810, Severity: 20, State: 2.
我通过启用 TCP/IP 并将端口更改为 1433 解决了这个问题。
启用 TCP/IP:
打开 SQL 服务器配置管理器->SQL 服务器网络配置-> MSSQLSERVER 的协议双击 TCP/IP 和 select 启用是。
我正在使用 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>
"Maximum number of concurrent connections (0 = unlimited):" 在 SQL 服务器设置为 0。
知道问题出在哪里吗?
问题是我在端口 1434 上连接到我的数据库。该端口是一个专用管理连接,SQL服务器只允许该端口上的一个连接。
SQL 服务器日志中的错误消息:
Could not connect because the maximum number of '1' dedicated administrator connections already exists. Before a new connection can be made, the existing dedicated administrator connection must be dropped, either by logging off or ending the process. [CLIENT: 127.0.0.1]
Error: 17810, Severity: 20, State: 2.
我通过启用 TCP/IP 并将端口更改为 1433 解决了这个问题。
启用 TCP/IP:
打开 SQL 服务器配置管理器->SQL 服务器网络配置-> MSSQLSERVER 的协议双击 TCP/IP 和 select 启用是。