使用 DataGrip 连接到 SQL Server 时,是否可以指定身份验证方法(SQL Server 或 Windows 身份验证)?
我曾尝试同时使用 SQL Server(jTDS) 和 SQL Server(Microsoft) 驱动程序进行配置,但都没有看到任何选项。
使用 DataGrip 连接到 SQL Server 时,是否可以指定身份验证方法(SQL Server 或 Windows 身份验证)?
我曾尝试同时使用 SQL Server(jTDS) 和 SQL Server(Microsoft) 驱动程序进行配置,但都没有看到任何选项。
使用 jTDS 驱动程序:
这取决于连接/数据源的设置。
即为 Windows 身份验证设置连接:
如果您未在步骤 2 中指定域,它将假定您正在进行 SQL Server 身份验证登录尝试。
使用 Microsoft 驱动程序:
我无法让它在 OS X 上运行,但大多数人在 Windows 上似乎没有问题。
注意,您可能还必须为实际的驱动程序设置此属性,在 OS X 上,我不断收到“此驱动程序未配置为集成身份验证”,但这可能是 OS X 的事情。
希望这可以帮助。
我能够使用 Microsoft 7.0.0 SQL Server jdbc 驱动程序在 Intellij 2018.2 中的 MacOS 上进行连接。
(首先,我假设你有 Kerberos 工作。要检查,运行:
klist | grep krbtgt
如果您有 Kerberos 票证,您应该会看到:
Aug 29 12:17:34 2018 Aug 29 22:17:34 2018 krbtgt/DOMAIN.COMPANY.COM@DOMAIN.COMPANY.COM
我使用这篇关于使用 ActiveDirectoryIntegrated Authentication Mode 进行连接的文章来解决这个问题。请注意,我不必执行“第 2 步:在 krb5.conf 中配置 KDC”。)
确保将 jdbc 驱动程序设置为使用集成安全性和 Java Kerberos。
然后,在常规选项卡上,确保将 URL 旁边的下拉菜单更改为“仅 URL”,并输入以下形式的 URL:
jdbc:sqlserver://databaseserver.domain.company.com;database=testdatabase;integratedSecurity=true;authenticationScheme=JavaKerberos;encrypt=true;trustServerCertificate=true;
如果您将 URL 旁边的下拉菜单保留为“默认”,它将尝试使用用户名/密码,如果您使用集成身份验证,这不是您想要的。另外,如果您离开“trustServerCertificate=true;”,请确保您知道自己在做什么 在网址中。在生产中,您应该正确设置您的证书,但这不在此处要求的范围内。