【问题标题】:SQL Server Windows user authenticationSQL Server Windows 用户身份验证
【发布时间】:2019-03-06 21:32:15
【问题描述】:

我已获得登录 SQL Server 实例的凭据。我已经尝试了几个驱动程序/应用程序来登录,但都没有运气。例如使用Data Link/OLEDB方式来测试连接。我收到以下错误:

由于初始化提供程序时出错,测试连接失败。用户 'corporate\username' 登录失败

用户名是基于其格式的 Windows 帐户。我的问题是这些 Windows 用户名在登录时的行为究竟如何。

OLEDB 设置对话框显示您可以使用“使用 Window NT 集成安全性”,但如果您这样做,则无法指定用户名/密码。那么,这是否意味着您必须在计算机上以“公司\用户名”登录才能登录 SQL Server?

【问题讨论】:

  • 那么,通过不检查您是否没有使用 AD 帐户?并且在 OLEDB 设置中输入的任何作为 Windows 帐户的用户名都注定会失败?
  • 您需要使用提供的凭据运行连接到 SQL Server 实例的应用程序,以使 Integrated Security 工作。例如,右键单击 SQL Management Studio 并选择 Run as ...。这同样适用于 Data Link 等。有关其背后的概念,请参阅 SSPI
  • 借助集成安全性,您无需指定用户 ID 和密码。它已经是您的 Windows 帐户,并且 Windows 登录正在控制您的凭据。

标签: sql-server authentication oledb


【解决方案1】:

终于解决了这个问题。这是我找到的解决方案。

如果您在同一个域中运行 Windows 和您的计算机。我相信这些关于使用“运行方式..”和使用“集成安全”的 cmets 应该可以工作。我的机器不在公司域上,因此出现“不受信任的域”错误。另外,这是一个纯粹的 Windows 解决方案,并不是我最终需要的。

如果您想从 Linux、Mac 或 Windows 机器连接,请使用 jTDS JDBC 驱动程序。您不必在域中。因此,您甚至不需要使用 Windows。您只需在连接字符串中指定域、用户名、密码即可。

请注意,标准 Microsoft MSSQL JDBC 驱动程序不会针对域进行身份验证。但是这个 jTDS JDBC 驱动可以。

如果您需要客户端程序,Squirrel SQL 也可以与驱动程序完美配合。

【讨论】:

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