【问题标题】:c3p0 Connection Pool - only one jTDS process started although minPoolSize is 10c3p0 连接池 - 尽管 minPoolSize 为 10,但仅启动了一个 jTDS 进程
【发布时间】:2016-09-15 12:34:12
【问题描述】:

我正在使用 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>

“最大并发连接数(0 = 无限制):”在 SQL Server 中设置为 0。

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

【问题讨论】:

    标签: sql-server jdbc connection-pooling c3p0


    【解决方案1】:

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

    SQL Server 日志中的错误消息:

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

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

    我通过启用 TCP/IP 并将端口更改为 1433 解决了这个问题。
    启用 TCP/IP:
    打开 SQL Server Configuration Manager->SQL Server Network Configuration->Protocols for MSSQLSERVER 双击 TCP/IP 并选择 Enabled Yes。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-20
      • 1970-01-01
      • 2012-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-09
      相关资源
      最近更新 更多