【问题标题】:How to make use of Trusted_connection property with jTDS driver?如何在 jTDS 驱动程序中使用 Trusted_connection 属性?
【发布时间】:2014-01-03 06:24:23
【问题描述】:

我正在使用 jTDS 驱动程序连接到 SQL Server 数据库。我不想提供我的 Windows 域用户名和密码,但想在我的连接字符串中使用 Trusted_connection 属性。但是,根据 this jTDS 驱动程序常见问题页面,似乎 jTDS 驱动程序不支持名为 Trusted_connection 的属性。

鉴于应用程序和 SQL Server 数据库位于同一主机上,并且我已正确安装了 ntlmauth.dll,我该如何利用 Trusted_connection 属性,这样我就不必指定用户名/密码?

jTDS 是否会在发现 useNTLMv2domain 属性被使用时自动使用域用户名和密码,如下面的连接 url 所示?

jdbc:jtds:sqlserver://DBHostName:Port/DatabaseName;useNTLMv2=true;domain=DomainName

注意:如果我可以访问应用程序的代码,我可以自己测试这个。

【问题讨论】:

标签: sql-server database-connection connection-string jtds


【解决方案1】:

如文件README.SSO 中所述,您无需指定任何凭据。

为了设置 jTDS 驱动程序以使用 Windows 单点登录,用户 必须在不提供用户名和密码的情况下进行连接。这会 仅适用于 Windows。

驱动示例:

    // No user name or password in URL or as parameters
    DriverManager.getConnection(
            "jdbc:jtds:sqlserver://localhost:1433/LionKing");

你也不需要指定useNTLMv2参数,如果你这样做,它决定了将使用的NTLM的版本,而不是IF NTLM是否会被使用。

【讨论】:

  • 我会投赞成票,但您是如何通过此错误的:“运行 Liquibase 时出现意外错误:java.sql.SQLException:I/O 错误:SSO 失败:未加载本机 SSPI 库。检查 java .library.path 系统属性。”
猜你喜欢
  • 2011-11-04
  • 2016-06-18
  • 1970-01-01
  • 1970-01-01
  • 2016-09-08
  • 2013-08-12
  • 1970-01-01
  • 2010-10-15
  • 2017-05-05
相关资源
最近更新 更多