3

是否可以像使用 Microsoft SQL Management Studio 一样连接到 Azure SQL 数据库 - “ Active Directory - Password ”选项。

在此处输入图像描述

我按照此处的说明(JetBrains 文档)进行操作,但是当我选择“使用 Windows 域身份验证”(对于 Azure Active Directory 应该如此)时,它不允许我像 SSMS 那样输入凭据。

SSMS 一切正常,但使用 DataGrip 我没有运气。那里不支持此选项吗?

在此处输入图像描述

4

2 回答 2

1

这是可能的。

  1. 使用 JTDS 驱动程序,而不是 Microsoft 驱动程序。
  2. 转到数据源属性的 Advanced 选项卡,将 USENTLMV2 设置为 true 并在 DOMAIN 字段中指定域名。 在此处输入图像描述
  3. 然后在用户/密码字段中输入您的 Active Directory 凭据并单击测试连接。
于 2018-06-29T09:43:47.480 回答
1

该解决方案由https://codejuicer.com/发布,复制自以下博客:https ://codejuicer.com/2018/08/29/datagrip-and-azure-sql-server-active-directory-howto/

第 1 步:获取一些必需的 JAR。您将使用的主要库是 ADAL4J ( https://github.com/AzureAD/azure-activedirectory-library-for-java/wiki/ADAL4J-Basics )。在我看来,执行此步骤的最简单方法是使用准系统 Maven pom.xml。这样您就不必从源代码编译并手动查找所有依赖项。万岁!

如果您没有安装 Maven ( https://maven.apache.org/ ),您将需要它。如果你更喜欢 Gradle,我相信同样可以做到。

这就是我的 pom.xml 的样子:

<?xml version="1.0" encoding="UTF-8"?>
<project
    xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.foo</groupId>
  <artifactId>bar</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <dependencies>
  <dependency>
          <groupId>com.microsoft.azure</groupId>
      <artifactId>adal4j</artifactId>
      <version>1.6.2</version>
  </dependency>
  </dependencies>
  <build>
    <directory>lib</directory>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <configuration>
          <outputDirectory>
            ${project.build.directory}
          </outputDirectory>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

现在在 pom.xml 所在的任何位置运行此命令:

mvn clean dependency:copy-dependencies

它将创建一个“lib”目录,其中包含您需要的所有 jar。

步骤 2:将 JAR 添加到 Azure (Microsoft) 驱动程序 1. 在 Data Sources and Drivers 窗口(文件菜单)中,选择 Azure (Microsoft) 驱动程序。在驱动程序文件窗格中,单击 + 按钮并选择“自定义 JAR...” 在此处输入图像描述 2. 导航到在步骤 1 中获取的 JAR。选择所有这些 JAR。 在此处输入图像描述你的屏幕应该看起来像这样(除了花哨的模糊来隐藏我的超级秘密信息)。 第 3 步:更改高级连接选项 对于 Active Directory 身份验证,您只需更改一件事。身份验证方法。这真的很容易。在此处输入图像描述

在这一点上,我假设你有一个现有的连接。如果没有,请创建一个并选择 Azure (Microsoft) 驱动程序。

导航到高级选项卡。我喜欢按名称对选项进行排序。不管你怎么做,找到名为“身份验证”的设置。</p>

单击值列并选择 ActiveDirectoryPassword(如果您在 Windows™ 上并使用集成 AD……选择 ActiveDirectoryIntegrated)。 在此处输入图像描述 我想我不必告诉您“单击确定或应用”。</p>

成功(我希望)!此时您应该能够登录到您的数据库实例。当然,这假设您的凭据和主机名是正确的。我希望这有帮助!

于 2018-10-19T09:18:12.793 回答