代码之家  ›  专栏  ›  技术社区  ›  Haytham

Sql Server JDBC不能在wildfly上运行

  •  0
  • Haytham  · 技术社区  · 7 年前

    大家好,我正在尝试将sqlserver jdbc与wildfly AP一起使用,但当我尝试在数据源之后测试连接时,总是会出现以下错误:

    {"WFLYCTL0062: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-1" => {
          "WFLYCTL0412: Required services that are not installed:" => ["jboss.jdbc-driver.mssql"],
          "WFLYCTL0180: Services with missing/unavailable dependencies" => [
            "org.wildfly.data-source.Eventis is missing [jboss.jdbc-driver.mssql]",
            "jboss.driver-demander.java:/Eventis is missing [jboss.jdbc-driver.mssql]"
          ]
    }}}
    

    以下是配置文件的内容:

    单元xml:

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

    独立的。xml:

    <driver name="mssql" module="system.layers.base.com.microsoft.sqlserver">
        <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
    </driver>
    

    最后,我的jdbc jar文件位于以下路径下:

    wildfly-14.0.0。Final\modules\system\layers\base\com\microsoft\sqlserver\main

    1 回复  |  直到 7 年前
        1
  •  1
  •   James R. Perkins zlinks    7 年前

    您的模块名称不正确。应该是的 com.microsoft.sqlserver 这个 standalone.xml 代码片段应该如下所示:

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

    可以在CLI中使用以下命令更改此设置

    /subsystem=datasources/jdbc-driver=mssql:remove
    /subsystem=datasources/jdbc-driver=mssql:add(driver-name=mssql, driver-module-name="com.microsoft.sqlserver")