【问题标题】:Wildfly 14 Microsoft SQL Server ConfigurationWildfly 14 Microsoft SQL Server 配置
【发布时间】:2018-10-23 13:30:00
【问题描述】:

我想在 Wildfly 14 中使用 MS SQL Server 作为数据源,但我总是在控制台中收到以下错误:

ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 41) WFLYCTL0013: Operation ("add") failed - address: ([("subsystem" => "datasources"),("jdbc-driver" => "sqlserver")]) - failure description: "WFLYJCA0115: Module for driver [com.microsoft.sqlserver.jdbc] or one of it dependencies is missing: [com.microsoft.sqlserver.jdbc]"

我的配置如下:

独立的.xml

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

我还在以下目录中配置了一个module.xml:wildfly-14.0.1.Final\modules\system\layers\base\com\microsoft\sqlserver\main。我也把sqljdbc42.jar放在里面了。

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

在 Wildfly 13 之前,我没有任何问题。

【问题讨论】:

  • 我建议你把你的 JDBC 放在 \modules\com\microsoft\sqlserver\jdbc\main\sqljdbc42.jar 下(如果我没记错的话,这是一个更好的 - 如果不是正确的 - 你的 JDBC 的位置)
  • 我已经将 sqljdbc42.jar 放在了建议的文件夹 \modules\com\microsoft\sqlserver\jdbc\main\ 中,例如 module.xml。我必须从微软下载的其他文件中放入吗?
  • 我不这么认为。您需要 .jar 和 module.xml。你能告诉我们你是否也有 org.h2.jdbcx.JdbcDataSource 标签里面的这个?
  • 您还需要保留standalone.xml 中的“ExampleDS”数据源。我总是让它在那里,我只是添加我的定义。保留该信息,添加您的信息并尝试再次运行。
  • 我保留了 h2 驱动程序和“ExampleDS”数据源。这不是问题。

标签: sql-server wildfly datasource mssql-jdbc wildfly-13


【解决方案1】:

我相信您在standalone.xml 中的driver 配置仍然是错误的。

以下内容必须相同。

在standalone.xml中:

<driver name="sqlserver" module="com.microsoft.sqlserver.jdbc">

在module.xml中:

<module xmlns="urn:jboss:module:1.3" name="com.microsoft.sqlserver.jdbc">

sqljdbc42.jarmodule.xml 的位置:

JBOSS_HOME\modules\com\microsoft\sqlserver\jdbc\main\

我也相信你使用了错误的 xa-datasource-class,应该是:

com.microsoft.sqlserver.jdbc.SQLServerXADataSource

还可以查看EAP7 Documentation。它应该是相同的 vor wildfly。 还有一个如何使用 CLI 的好例子。

【讨论】:

  • 谢谢你现在它工作了?。这是两件事的结合,wildfly 13 的限制较少。在 Wildfly 13 中,standalone.xml 中的驱动程序类声明有效,在 Wildfly 14 中,它必须是数据源类。
  • 我也面临同样的问题,我按照上述相同的程序进行操作,但仍然没有解决错误,请告诉我您是否通过了上述同一文件夹中的 jar 和模块 xml。
  • 您是否遵循了 eap7 文档?你真的应该使用cli!是的,jdbc jar 和 module.xml 在同一个文件夹中,如答案中所述
【解决方案2】:

将此添加到&lt;dependencies&gt;标签内的module.xml

<module name="javax.xml.bind.api"/>

【讨论】:

  • 你能澄清一下吗?当你说“这个”时,你指的是什么?
  • 在为 mssql 创建数据源时,我遇到了同样的问题,缺少依赖项。查看看起来像 sql jar 的日志取决于我上面提到的库。它适用于 mssql14 和 wildfly17。希望这会有所帮助!
猜你喜欢
  • 2019-06-28
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-03
  • 1970-01-01
  • 2023-02-03
  • 2019-01-09
相关资源
最近更新 更多