我在从JBoss EAP 6连接到SQL 2008服务器数据库时遇到了麻烦。我已经按如下方式配置了数据源连接
<datasource jndi-name="java:jboss/datasources/myDatasource" pool-name="myDatasource" enabled="true" use-java-context="true">
<connection-url>jdbc:sqlserver://external_host:1433;databaseName=myDatasource;integratedSecurity=false</connection-url>
<driver>sqlserver</driver>
<pool>
<min-pool-size>5</min-pool-size>
<max-pool-size>10</max-pool-size>
</pool>
<security>
<user-name>user</user-name>
<password>passwd</password>
</security>
<validation>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/>
</validation>
</datasource>
现在的问题是,每当我尝试在JBoss控制台中测试连接时,我都会收到以下错误消息:
08:27:00,719 WARNING [com.microsoft.sqlserver.jdbc.internals.SQLServerConnection] (HttpManagementService-threads - 1) ConnectionID:1 Prelogin error: host external_host port 1433 Error reading prelogin response: Connection reset
08:27:00,720 WARN [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (HttpManagementService-threads - 1) IJ000604: Throwable while attempting to get a new connection: null: javax.resource.ResourceException: Could not create connection
接着是
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Connection reset
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1352)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1339)
at com.microsoft.sqlserver.jdbc.TDSChannel.read(IOBuffer.java:1654)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.Prelogin(SQLServerConnection.java:1117)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1038)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:817)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:700)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:842)
现在,我有第二个环境,配置相同,连接到其他数据库,一切正常。我哪里弄错了?我已经花了4天的时间与数据库管理员一起工作,我们无法让它工作。 external_host
的整个流量已打开且工作正常。任何提示都会非常感激。