使用 Azure Active Directory 连接到 MSSQL 服务器的 JDBC

Posted

技术标签:

【中文标题】使用 Azure Active Directory 连接到 MSSQL 服务器的 JDBC【英文标题】:JDBC connection to MSSQL server using azure active directory 【发布时间】:2021-10-05 13:34:52 【问题描述】:

我知道您可以使用带有 SQL 身份验证或 Windows 身份验证的 jdbc 连接来连接到服务器,但我可以使用 azure 活动目录来执行此操作吗?

带有 Windows 身份验证的 jdbc 代码

val jdbcHostname = "hostname"
val jdbcPort = 1433
val jdbcDatabase = "database_name"
val jdbcUrl ="jdbc:sqlserver://$jdbcHostname:$jdbcPort;database=$jdbcDatabase;integratedSecurity=true"
val username="windows_username"
val password="windows_password"
val driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
#read as spark df
val jdbcDF = spark.read
  .format("jdbc")
  .option("url", jdbcUrl)
  .option("dbtable", table)
  .option("user", username)
  .option("password", password)
  .option("driver", driver)
  .load()

【问题讨论】:

相关? docs.microsoft.com/en-us/sql/connect/jdbc/… 【参考方案1】:

在 Microsoft JDBC Driver for SQL Server 中支持 Azure Active Directory 身份验证的连接属性。

可以通过多种方式指定连接字符串属性:

作为连接 URL 中的 name=value 属性,当您通过以下方式连接时 使用 DriverManager 类。有关连接字符串语法,请参阅 构建连接 URL。

作为 Connect 的 Properties 参数中的 name=value 属性 DriverManager 类中的方法

这是 Microsoft 文档:使用 Azure Active Directory 身份验证进行连接 | Docs & 下表列出了 JDBC 驱动程序的所有当前可用的连接字符串属性 | Here.

【讨论】:

以上是关于使用 Azure Active Directory 连接到 MSSQL 服务器的 JDBC的主要内容,如果未能解决你的问题,请参考以下文章

使用Laravel的Azure Active Directory SSO

使用Xamarin.iOS进行Azure Active Directory身份验证过程

用于查询Azure Active Directory的Azure服务

使用 DataGrip - Active Directory 连接到 Azure 数据库

使用证书的 Azure Active Directory 守护程序客户端

Active Directory 从浏览器访问 Azure 存储