是否可以像使用 Microsoft SQL Management Studio 一样连接到 Azure SQL 数据库 - “ Active Directory - Password ”选项。
我按照此处的说明(JetBrains 文档)进行操作,但是当我选择“使用 Windows 域身份验证”(对于 Azure Active Directory 应该如此)时,它不允许我像 SSMS 那样输入凭据。
SSMS 一切正常,但使用 DataGrip 我没有运气。那里不支持此选项吗?
是否可以像使用 Microsoft SQL Management Studio 一样连接到 Azure SQL 数据库 - “ Active Directory - Password ”选项。
我按照此处的说明(JetBrains 文档)进行操作,但是当我选择“使用 Windows 域身份验证”(对于 Azure Active Directory 应该如此)时,它不允许我像 SSMS 那样输入凭据。
SSMS 一切正常,但使用 DataGrip 我没有运气。那里不支持此选项吗?
该解决方案由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>
成功(我希望)!此时您应该能够登录到您的数据库实例。当然,这假设您的凭据和主机名是正确的。我希望这有帮助!