Azure Databricks中查看已安装SQL Server JDBC驱动版本的方法
Azure Databricks Python笔记本查询SQL Server JDBC驱动版本方法
你可以在笔记本单元格直接运行以下两种方法的代码,快速获取当前环境使用的Microsoft JDBC Driver for SQL Server版本,确认是否支持服务主体认证模式。
- 方法1:直接读取驱动内置版本元数据(推荐)
该方法直接调用驱动类内置的版本常量,结果最准确:
# 加载SQL Server JDBC驱动类 sql_driver = spark._jvm.com.microsoft.sqlserver.jdbc.SQLServerDriver # 拼接完整版本号 full_version = f"{sql_driver.MAJORVERSION}.{sql_driver.MINORVERSION}.{sql_driver.PATCHVERSION}" print(f"当前Microsoft JDBC Driver for SQL Server版本:{full_version}")
若输出结果大于等于9.2,即可直接使用ActiveDirectoryServicePrincipal认证参数连接Azure SQL DB。
- 方法2:扫描类路径下的驱动Jar包
如果方法1运行出现类找不到的报错,可以通过扫描集群已加载的Jar包定位驱动版本:
import os # 获取JVM类路径 class_path = spark._jvm.java.lang.System.getProperty("java.class.path") all_jars = class_path.split(os.pathsep) # 筛选SQL Server驱动包 for jar_path in all_jars: jar_name = os.path.basename(jar_path) if "mssql-jdbc" in jar_name.lower(): print(f"检测到SQL Server JDBC驱动包:{jar_name}")
输出的Jar包文件名会直接标注版本号,格式通常为mssql-jdbc-x.x.x.jreXX.jar,其中x.x.x即为驱动版本。
补充说明:如果检测到驱动版本低于9.2,可以将符合版本要求的mssql-jdbc Jar包上传至Databricks工作区,绑定到对应计算集群后重启集群,即可使用服务主体认证连接。
内容的提问来源于stack exchange,提问作者nam
相关产品推荐
相关产品推荐

