【问题标题】:SQL Server using Windows Authentication in Wildfly as service在 Wildfly 中使用 Windows 身份验证作为服务的 SQL Server
【发布时间】:2017-01-12 15:59:15
【问题描述】:

我正在配置一个数据源以对 SQL Server 使用 Windows 身份验证。

我把DLL sqljdbc_auth.dll 放在C:\Program Files\XXXX\wildfly-10.1.0.Final\bin

使用standalone.bat 声明Wildfly 工作正常。

但是使用 windows 服务我得到了这个错误:

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot open database "Scope_Build36" requested by the login. The login failed. ClientConnectionId:831c2f7f-4352-4467-b54f-a6eb1369d6e9
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:217)
    at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:251)
    at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:81)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection$1LogonProcessor.complete(SQLServerConnection.java:2825)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:3079)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2360)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$100(SQLServerConnection.java:43)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2346)
    at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:6276)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1793)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1404)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1068)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:904)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:451)
    at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1014)
    at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createLocalManagedConnection(LocalManagedConnectionFactory.java:321)
    ... 44 more

数据源配置:

            <datasource jta="true" jndi-name="java:/datasources/PortalScopeWeb_Scope" pool-name="PortalScopeWeb_Scope" enabled="true" use-ccm="true">
                <connection-url>jdbc:sqlserver://RI001421D\SQLEXPRESS:1433;databasename=Scope_Build36;integratedSecurity=true</connection-url>
                <driver>sqlServer</driver>
                <security>
                    <security-domain>securityDomainPortalScopeWeb_Scope</security-domain>
                </security>
                <validation>
                    <check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
                    <validate-on-match>true</validate-on-match>
                    <background-validation>false</background-validation>
                </validation>
            </datasource>

将 DDL 放入文件夹 C:\Program Files\XXXX\wildfly-10.1.0.Final\bin\service\amd64 并不能解决问题。

【问题讨论】:

  • 如果该服务在您的帐户下运行(standalone.bat 适合您),那么我不知道。但似乎加载 dll 工作......我想知道你是如何设法让standalone.bat 工作的。 (自己安装sqlserver驱动有问题)

标签: sql-server windows wildfly-10


【解决方案1】:

您可以使用 .udl 文件来测试和验证您的连接。 在您的桌面上创建一个新的 .txt 文件,并将其重命名为“test.udl”。现在,打开它,您可以配置和测试您的连接。准备好连接后,您可以使用记事本打开 .udl 文件并复制连接字符串。

这里有一个参考:udl reference

希望对您有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多