一尘不染

在Tomcat上配置SQL Server连接池

tomcat

我一直在尝试为SQL Server 2012数据库配置连接池。我目前已配置并正在使用Informix和Oracle池,只有SQL
Server令我头疼。到目前为止,这是我在Context.xml上的资源的样子:

<Resource name="jdbc/sqlserv"
    auth="Container"
    factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
    driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver"
    type="javax.sql.DataSource"
    maxActive="50"
    maxIdle="10"
    maxWait="15000"
    username="username"
    password="password"
    url="jdbc:sqlserver://127.0.0.1:1433;databaseName=SQLDB;"
    removeAbandoned="true"
    removeAbandonedTimeout="30"
    logAbandoned="true" />

当然,这是使用sqljdbc4驱动程序。我们已经尝试过将jtds-1.3.0与一起使用driverClass="net.sourceforge.jtds.jdbc.Driver",但没有成功。所有资源引用也都已正确配置。每当我尝试使用该资源创建新连接时,它都会失败。
为了进行比较,下面是我们的Informix和Oracle资源的样子:

<Resource name="jdbc/infmx"
    auth="Container"
    type="javax.sql.DataSource"
    factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
    maxActive="50"
    maxIdle="10"
    maxWait="15000"
    username="username"
    password="password"
    driverClassName="com.informix.jdbc.IfxDriver"
    url="jdbc:informix-sqli://localhost:30091/infmx:informixserver=ol_infmx_soc"
    removeAbandoned="true"
    removeAbandonedTimeout="30"
    logAbandoned="true"/>

<Resource name="jdbc/orcl"
    auth="Container"
    type="oracle.jdbc.pool.OracleDataSource"
    driverClassName="oracle.jdbc.driver.OracleDriver"
    factory="oracle.jdbc.pool.OracleDataSourceFactory"
    url="jdbc:oracle:thin:@127.0.0.1:1521:orcl"
    user="username"
    password="password"
    maxActive="50"
    maxIdle="10"
    maxWait="15000" />

所以我的问题是:如何在tomcat上下文中为SQL Server 2012正确配置连接池?我搜寻了很多东西,尝试了所有发现的东西,但是没有任何效果。

提前致谢。

[编辑] 这是堆栈跟踪:http :
//pastebin.com/w3rZSERs

[edit-2]
似乎问题在于Tomcat在其lib文件夹中找不到驱动程序。我们非常确定它在那里,但是我们不知道对此是否确定。sqljdbc4和jtds-1.3.0都会发生这种情况。我们正在遵循可以找到的所有指南,但是问题仍然存在。


阅读 434

收藏
2020-06-16

共1个答案

一尘不染

我们发现了问题。

driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver"

本来应该

driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
2020-06-16