【问题标题】:Wildfly tries to open wrong serverWildfly 尝试打开错误的服务器
【发布时间】:2020-01-27 17:43:42
【问题描述】:

虽然访问远程数据库 Wildfly 无法连接到它,但它会尝试访问 COMPNAME(我的计算机名称),就好像它是选定的数据库而不是数据源上定义的数据库一样,这当然不存在。

我在数据源上使用了相同的连接属性,通过 SQL Server Management Studio 访问数据库,它运行良好,独立配置与我在旧计算机上运行的配置相同。

这是数据源:

  <datasource jta="true" jndi-name="java:/SQLDESTINATION" pool-name="SQLDESTINATION" enabled="true" use-ccm="true">
    <connection-url>jdbc:sqlserver://urlthatworks:1433;DatabaseName=DB_NAME</connection-url>
    <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
    <driver>sqljdbc4.jar</driver>
    <security>
        <user-name>userok</user-name>
        <password>passok</password>
    </security>
    <validation>
        <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker"/>
        <background-validation>true</background-validation>
    </validation>
</datasource>

这里是野蝇日志:

2019-09-27 13:29:53,126 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (ServerService Thread Pool -- 71) javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/SQLDESTINATION
2019-09-27 13:30:07,483 WARN  [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (ServerService Thread Pool -- 71) IJ000604: Throwable while attempting to get a new connection: null: javax.resource.ResourceException: IJ031084: Unable to create connection
.......
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot open server "COMPNAME" requested by the login.  The login failed.

所以问题是,它没有尝试访问“DB_NAME”,而是尝试访问“COMPNAME” 我猜应该没关系的区别是旧计算机使用的是 Windows 7,而这台 Windows 10 和旧计算机的 Wildfly 文件夹位于 C:\Users\myusername\wildfly-10.1.0.Final 文件夹下,而在新的文件夹中D:\wildfly-10.1.0.Final

【问题讨论】:

  • 您可以尝试使用以下连接网址吗? &lt;connection-url&gt;jdbc:sqlserver://urlthatworks:1433/DB_NAME&lt;/connection-url&gt;
  • 不喜欢Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Port number 1433/DB_NAME is not valid.
  • 把wildfly放在一边,你能通过命令行或GUI客户端连接到db服务器吗?
  • 是的,我可以连接数据库服务器并毫无问题地使用它

标签: wildfly


【解决方案1】:

尝试databaseName=DB_NAME 而不是DatabaseName=DB_NAME

【讨论】:

  • 我担心它会出现同样的错误,它似乎不区分大小写
【解决方案2】:

我设法通过将文件夹更改为 C:\Users\myusername\wildfly-10.1.0.Final 来让它工作,尽管这并不能解释为什么在 D: 它会尝试用我的计算机名称覆盖服务器名称.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    • 1970-01-01
    • 1970-01-01
    • 2019-07-12
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    相关资源
    最近更新 更多