【问题标题】:Unable to instantiate driver class "com.microsoft.sqlserver.jdbc.SQLServerDataSource" - Failure deploying sqljdbc4.jar in Wildfly 10无法实例化驱动程序类“com.microsoft.sqlserver.jdbc.SQLServerDataSource” - 在 Wildfly 10 中部署 sqljdbc4.jar 失败
【发布时间】:2017-06-08 23:30:10
【问题描述】:

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

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

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

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)

到目前为止我做了什么:

使用 .jar 本身和 module.xml 为 .jar 创建一个文件夹:

<?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>

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

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

<datasource jndi-name="java:jboss/datasources/DBName" pool-name="DBPoolName">
                    <connection-url>jdbc:microsoft:sqlserver://IP:Port;DatabaseName=DBName</connection-url>
                    <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDataSource</driver-class>
                    <driver>sqlserver</driver>
                    <security>
                        <user-name>username</user-name>
                        <password>password</password>
                    </security>
                    <validation>
                        <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker"/>
                    </validation>
                </datasource>

<driver name="sqlserver" module="com.microsoft.sqlserver">
                        <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDataSource</driver-class>
                    </driver>

我(可能??)用 MySQL 驱动程序做了同样的过程,没有任何问题。 我也尝试通过Web界面wildfly管理添加数据源,但系统也找不到特定的驱动程序。

有人有什么想法吗?

感谢您的宝贵时间!

【问题讨论】:

  • 尝试从数据源定义中删除&lt;driver-class/&gt;
  • Same Error,看来故障与驱动程序定义部分有关。我还为其他数据源(如 MySQL-Databases)设置了条目,没有任何问题 - 如果此信息可能有帮助。
  • 第一个错误是否有堆栈跟踪?
  • 我修好了。第一个问题是驱动程序类的命名。它必须是 jdbc.SQLServerDriver 而不是 jdbc.SQLServerDataSource。之后我遇到了一些问题,wildfly 说它找不到持久性单元,这只是因为区分大小写的东西(确保你在任何地方都使用相同的名称和正确的字母大小写)。谢谢你的时间。如果我有时间,我会用正确的 xml 更新我的帖子,以向其他用户展示如何处理这个......

标签: sql-server datasource wildfly sqljdbc


【解决方案1】:

我遇到了同样的问题,正确的配置是: 独立的.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>

模块.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

问候。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-06
    • 2019-06-07
    • 1970-01-01
    • 2019-11-02
    • 2013-07-29
    • 2019-11-27
    • 2017-10-29
    • 1970-01-01
    相关资源
    最近更新 更多