2012-07-11 177 views
0

我正在尝试在standalone.xml文件中设置多个数据源。我有一个与DB2的连接并正常工作。我无法使SQL Server连接正常工作。

从standalone.xml:用户Jboss AS7 SQL Server登录失败

 <datasource jndi-name="java:/jdbc/syteline" pool-name="SYTELINEMSSDS" enabled="true" use-java-context="true" spy="true"> 
      <connection-url>jdbc:sqlserver://SLSQL:1433;databaseName=npsl_pilot_app;</connection-url> 
      <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class> 
      <driver>sqljdbc4.jar</driver> 
      <pool> 
       <min-pool-size>5</min-pool-size> 
       <max-pool-size>10</max-pool-size> 
       <prefill>true</prefill> 
       <use-strict-min>false</use-strict-min> 
      </pool> 
      <security> 
       <user-name>myUser</user-name> 
       <password>myPass</password> 
      </security> 
      <timeout> 
       <idle-timeout-minutes>15</idle-timeout-minutes> 
      </timeout> 
     </datasource> 

我已经部署在我的独立\的sqljdbc4.jar部署目录,并正在部署。我已经通过将它粘贴到我的应用程序中并在我的代码中创建一个JDBC连接来测试连接URL和凭证。该连接正常工作。设置连接起来作为standalone.xml数据源给了我下面的:

15:20:00,326 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-15) JBAS010400: Bound data source [java:/jdbc/syteline] 
15:20:00,684 WARN [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (JCA PoolFiller) IJ000610: Unable to fill pool: javax.resource.ResourceException: Could not create connection 
    at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:277) 
    at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:235) 
    at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.createConnectionEventListener(SemaphoreArrayListManagedConnectionPool.java:758) [ironjacamar-core-impl-1.0.7.Final.jar:1.0.7.Final] 
    at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.fillToMin(SemaphoreArrayListManagedConnectionPool.java:703) [ironjacamar-core-impl-1.0.7.Final.jar:1.0.7.Final] 
    at org.jboss.jca.core.connectionmanager.pool.mcp.PoolFiller.run(PoolFiller.java:97) [ironjacamar-core-impl-1.0.7.Final.jar:1.0.7.Final] 
    at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_23] 
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'dna'. ClientConnectionId:4e4e0e7f-3e23-4a13-9c49-37e33aeb4613 
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216) 
    at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:254) 
    at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:84) 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2908) 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2234) 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41) 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2220) 
    at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696) 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715) 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1326) 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991) 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827) 
    at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012) 
    at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:249) 
    ... 5 more 

15:20:01,385 WARN [org.jboss.as.server.deployment] (MSC service thread 1-14) Class Path entry jcifs.jar in "/C:/jbossdir/jboss7/standalone/deployments/speed2.war/WEB-INF/lib/jtds-1.2.5.jar" does not point to a valid jar for a Class-Path reference. 

我一直无法找出登录失败的消息。

+0

我记得SQLServer JDBC驱动程序在JDK的某些版本上存在一些问题。将JDK从1.6.0_31降级到1.6.0_29左右:) :) – Tair 2012-07-13 08:02:41

+0

尝试升级到jdk7 – Tair 2012-07-13 08:05:03

+0

我尝试将java升级到1.7.0_03-b05。仍然得到相同的错误。 – SteveS 2012-07-13 15:26:55

回答

0

就像后续,我放弃了微软的驱动程序,而是使用JTDS。工作正常。

0

JBoss服务器与可以正确连接的测试应用程序在同一台计算机上吗?

+0

是的,它是同一台计算机。我将jdbc连接硬编码到我的应用程序中,然后将其部署到独立目录中。所以上面的失败发生在JBoss启动时,但我仍然能够直接连接并从同一个JBoss容器中的代码中提取数据。 – SteveS 2012-07-12 12:25:06