首页 > 解决方案 > 使用 Azure Active Directory 连接到 MSSQL 服务器的 JDBC

问题描述

我知道您可以使用带有 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()

标签: sql-serverscalajdbcdatabricks

解决方案


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

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

  • 当您使用 DriverManager 类进行连接时,作为连接 URL 中的 name=value 属性。有关连接字符串语法,请参阅构建连接 URL。


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

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


推荐阅读