无法实例化驱动程序类“com.microsoft.sqlserver.jdbc.SQLServerDataSource” - 在Wildfly 10中部署sqljdbc4.jar失败

时间:2017-01-24 08:42:07

标签: sql-server datasource wildfly sqljdbc

我在Wildfly 10中使用sqljdbc4.jar存在很大问题。 当我启动服务器时,我遇到以下问题:

section {
  header {
    width: 100%;
    height: 40px;
  }
}

......还有几个例外......

Unable to instantiate driver class "com.microsoft.sqlserver.jdbc.SQLServerDataSource" 

到目前为止我做了什么:

使用.jar本身和module.xml:

为.jar创建一个文件夹
08:32:12,570 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service jboss.deployment.subunit."PPJAS.ear"."WebService.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.subunit."PPJAS.ear"."WebService.war".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of subdeployment "WebService.war" of deployment "PPJAS.ear"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:154)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)

..在C:\ Program Files \ Wildfly \ wildfly-10.0.0.Final \ modules \ com \ microsoft \ sqlserver \ main

在standalone.xml中添加了数据源和驱动程序

<?xml version="1.0" encoding="UTF-8"?>
<!-- JDBC Drivers module.xml file to configure your JDBC drivers-->

<!-- SQL Server 2008 example -->
<module xmlns="urn:jboss:module:1.3" name="com.microsoft.sqlserver">
  <resources>
    <resource-root path="sqljdbc4.jar"/>
  </resources>
  <dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
  </dependencies>
</module>

我(可能??)使用MySQL驱动程序执行相同的过程没有任何问题。 我还尝试通过web界面wildfly管理添加数据源,但系统也找不到具体的驱动程序。

有没有人有任何想法?

谢谢你的时间!

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,正确的配置是: standalone.xml

<driver name="sqlserver" module="com.microsoft.sqlserver">
    <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
    <xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerXADataSource</xa-datasource-class>
</driver>

module.xml

<module xmlns="urn:jboss:module:1.1" name="com.microsoft.sqlserver">
  <resources>
     <resource-root path="mssql-jdbc-6.2.2.jre8.jar"/>
  </resources>
  <dependencies>
      <module name="javax.api"/>
      <module name="javax.transaction.api"/>
  </dependencies>
</module>

经过测试的软件: JbossEAP 7.2 JDK版本:8 SQL Server JDBC驱动程序版本:mssql-jdbc-6.2.2.jre8.jar

日志部分:

14:02:49,587 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 41) WFLYJCA0004: Deploying JDBC-compliant driver class com.microsoft.sqlserver.jdbc.SQLServerDriver (version 6.2) 14:02:49,589 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-5) WFLYJCA0018: Started Driver service with driver-name = sqlserver

致谢。