我一直在尝试为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资源的样子:
driverClass="net.sourceforge.jtds.jdbc.Driver"
<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都会发生这种情况。我们正在遵循可以找到的所有指南,但是问题仍然存在。
我们发现了问题。
driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver"
本来应该
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"