我一直在尝试为 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 都会发生这种情况。我们正在遵循我们能找到的每一个指导方针,但问题仍然存在。