在Tomcat上配置SQL Server连接池 - java

我一直在尝试为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都会发生这种情况。我们正在遵循可以找到的所有指南,但是问题仍然存在。

参考方案

我们发现了问题。

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

本来应该

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

Java-搜索字符串数组中的字符串 - java

在Java中,我们是否有任何方法可以发现特定字符串是字符串数组的一部分。我可以避免出现一个循环。例如String [] array = {"AA","BB","CC" }; string x = "BB" 我想要一个if (some condition to tell wheth…

Java Scanner读取文件的奇怪行为 - java

因此,在使用Scanner类从文件读取内容时,我遇到了一个有趣的问题。基本上,我试图从目录中读取解析应用程序生成的多个输出文件,以计算一些准确性指标。基本上,我的代码只是遍历目录中的每个文件,并使用扫描仪将其打开以处理内容。无论出于何种原因,扫描程序都不会读取其中的一些文件(所有UTF-8编码)。即使文件不是空的,scanner.hasNextLine()在…

Java Globbing模式以匹配目录和文件 - java

我正在使用递归函数遍历根目录下的文件。我只想提取*.txt文件,但不想排除目录。现在,我的代码如下所示:val stream = Files.newDirectoryStream(head, "*.txt") 但是这样做将不会匹配任何目录,并且返回的iterator()是False。我使用的是Mac,所以我不想包含的噪音文件是.DS_ST…

直接读取Zip文件中的文件-Java - java

我的情况是我有一个包含一些文件(txt,png,...)的zip文件,我想直接按它们的名称读取它,我已经测试了以下代码,但没有结果(NullPointerExcepion):InputStream in = Main.class.getResourceAsStream("/resouces/zipfile/test.txt"); Buff…

Java RegEx中的单词边界\ b - java

我在使用\b作为Java Regex中的单词定界符时遇到困难。对于text = "/* sql statement */ INSERT INTO someTable"; Pattern.compile("(?i)\binsert\b");找不到匹配项Pattern insPtrn = Pattern.compile(&…