Sql server 如何在DataGrip中设置SQL Server身份验证方法?

Sql server 如何在DataGrip中设置SQL Server身份验证方法?,sql-server,datagrip,Sql Server,Datagrip,使用DataGrip连接到SQL Server时,是否有方法指定身份验证方法SQL Server或Windows身份验证 我已尝试使用SQL Server jTDS和SQL Server Microsoft驱动程序进行配置,但在这两个驱动程序上都没有看到选项。使用jTDS驱动程序: 这取决于连接/数据源的设置 i、 e.要为Windows身份验证设置连接,请执行以下操作: 在常规选项卡中,如果需要,请在用户字段中指定Windows/AD用户名。 在“高级”选项卡上的“域”属性中,为步骤1中设置的

使用DataGrip连接到SQL Server时,是否有方法指定身份验证方法SQL Server或Windows身份验证

我已尝试使用SQL Server jTDS和SQL Server Microsoft驱动程序进行配置,但在这两个驱动程序上都没有看到选项。

使用jTDS驱动程序:

这取决于连接/数据源的设置

i、 e.要为Windows身份验证设置连接,请执行以下操作:

在常规选项卡中,如果需要,请在用户字段中指定Windows/AD用户名。 在“高级”选项卡上的“域”属性中,为步骤1中设置的Windows帐户指定域。 如果网络上未启用Kerberos身份验证,则可能需要将USENTLMV2设置为true 如果在步骤2中没有指定域,它将假定您正在尝试进行SQL Server身份验证登录

使用Microsoft驱动程序:

我无法在OSX上实现这一点,但大多数人在Windows上似乎没有问题

在数据源的“高级”选项卡中,将integratedSecurity设置为true。 n、 b.您可能还必须为实际的驱动程序设置此属性,在OSX上,我一直在获取此驱动程序未配置为集成身份验证,但这可能是OSX的事情


希望这有帮助。

我能够使用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
我用这篇文章来解决这个问题。注意,我不必执行步骤2:在krb5.conf中配置KDC

确保设置要使用的jdbc驱动程序

然后,在“常规”选项卡上,确保将URL旁边的下拉菜单更改为“仅URL”,并输入以下表单的URL:

jdbc:sqlserver://databaseserver.domain.company.com;database=testdatabase;integratedSecurity=true;authenticationScheme=JavaKerberos;encrypt=true;trustServerCertificate=true;

如果默认情况下保留URL旁边的下拉列表,它将尝试使用用户名/密码,如果使用集成身份验证,这不是您想要的。另外,如果您离开trustServerCertificate=true,请确保您知道自己在做什么;在URL中。在生产过程中,您应该正确设置证书,但这不在此处要求的范围内。

我有相同的经验-适用于jTDS驱动程序,但不适用于Microsoft驱动程序。遗憾的是,2016.1.1在“高级”选项卡中没有域属性。尝试通过用户定义的属性添加一个,但从MacHi@rams连接失败,我刚刚更新到2016.1.1,我仍然看到jTDS驱动程序的域属性。它在名单的最后。@pwae我错了。我用错了司机。对于jTDS,我确实看到了域选项。SQL Server驱动程序无法使用它。当OSX通过其他程序(如SQLPro for MSSQL)连接良好时,我不认为这与OSX有什么关系。这是DataGrip问题,而不是OSX问题。