2013-03-19 7 views
3

Я пытался настроить пул соединений для базы данных SQL Server 2012. В настоящее время у меня настроены и работают пулы Informix и Oracle, только SQL Server дает мне головную боль. Это как мой ресурс на context.xml выглядит так далеко:Настройка пула соединений SQL Server на Tomcat

<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", но не уходим. Все ресурсы-refs также правильно настроены. Всякий раз, когда я пытаюсь создать новое соединение с помощью этого ресурса, он терпит неудачу.
Для сравнения, вот как наши 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" /> 

Так мой вопрос: Как я могу правильно настроить пул соединений для SQL Server 2012 на моем контексте TOMCAT? Я искал все выше и выше, пытался все, что нашел, но ничего не получилось.


Заранее спасибо.

[править] Вот трассировки стека: 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

Это определенно был какой-то эффект! Тем не менее, сейчас я получаю следующее сообщение: Мар 19, 2013 10:50:57 AM org.apache.naming.NamingContext подстановок Предупреждение: Неожиданное исключение разрешения ссылки java.sql.SQLException в org.apache .tomcat.jdbc.pool.PooledConnection.connectUsingDriver (PooledConnection.java:254) – fcm

+1

Мне нужно больше строк на трассировке стека, не могли бы вы отредактировать сообщение, добавив полное исключение, которое вы получаете? –

+0

Я добавил его в исходное сообщение – fcm