2013-03-19 107 views
3

我一直在嘗試爲SQL Server 2012數據庫配置連接池。我目前配置並運行了Informix和Oracle池,但只有SQL Server讓我頭疼。這是我在Context.xml上的資源看起來如此之多:在Tomcat上配置SQL Server連接池

<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

[編輯2]看來問題是,Tomcat的找不到他的lib文件夾中的驅動程序。我們很確定它在那裏,但我們不知道這一點。這同時發生在sqljdbc4和jtds-1.3.0上。我們正在遵循我們可以找到的每條指南,但問題依然存在。

回答

8

接受的答案,我們發現我們的問題。

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

本來應該

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

在我看來,java端配置正確。

您可以使用另一個JDBC連接(例如SquirrelSQL或類似軟件)訪問服務器嗎?

如果您無法訪問使用松鼠的服務器,也許你沒有啓用到服務器的TCP/IP連接,在這種情況下,遵循Enable remote connections for SQL Server Express 2012

+0

這肯定有一些影響!不過,我現在收到以下消息:2013年3月19日上午10點五十分57秒org.apache.naming.NamingContext查找 警告:意外的異常解析參考 值java.sql.SQLException 在org.apache .tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:254) – fcm 2013-03-19 13:53:23

+1

我需要更多的線條在堆棧跟蹤,你能編輯你的文章,附上你得到的完整例外嗎? – 2013-03-19 15:50:28

+0

我已將它添加到原始帖子 – fcm 2013-03-19 16:40:21