You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用JDBC连接Azure SQL的ActiveDirectoryIntegrated认证报错求解

报错原因说明

  • 第一个java.lang.NoClassDefFoundError报错:MSAL4J库本身存在多个第三方依赖包,你仅引入了msal4j的独立jar包,缺少其依赖的oauth2-oidc-sdk、nimbus-jose-jwt等组件,其中就包含报错缺失的com/nimbusds/oauth2/sdk/auth/ClientAuthentication类。
  • 第二个dll无法识别报错:使用mssql-jdbc_auth dll做集成认证时,需要确保dll路径已被系统正确识别,且dll版本与JDBC驱动版本、系统架构(x64/x86)完全匹配。

解决方案

方案1:使用MSAL4J完成认证(推荐,跨平台不需要依赖dll)

你需要把MSAL4J的所有依赖包都引入,操作步骤如下:

  1. 准备对应版本的所有依赖jar包,核心需包含:mssql-jdbc-9.4.0.jre8.jar、msal4j-1.11.0.jar、oauth2-oidc-sdk-9.7.jar、nimbus-jose-jwt-9.10.1.jar、json-smart-2.4.7.jar、lang-tag-1.5.jar、slf4j-api-1.7.32.jar
  2. 修改代码把所有jar包都加入jars参数列表:
server = 'jdbc:sqlserver://someserver.database.windows.net:1433;database=someserver;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;Authentication=ActiveDirectoryIntegrated'
# 把所有所需jar的本地路径都加入列表
cnxn = jay.connect('com.microsoft.sqlserver.jdbc.SQLServerDriver', server,
                   jars=[
                       r'C:\mssql-jdbc-9.4.0.jre8.jar',
                       r'C:\msal4j-1.11.0.jar',
                       r'C:\oauth2-oidc-sdk-9.7.jar',
                       r'C:\nimbus-jose-jwt-9.10.1.jar',
                       r'C:\json-smart-2.4.7.jar',
                       r'C:\lang-tag-1.5.jar',
                       r'C:\slf4j-api-1.7.32.jar'
                   ])

方案2:使用mssql-jdbc_auth dll完成认证(仅Windows可用)

  1. 确认你使用的是Windows系统,且dll版本mssql-jdbc_auth-9.4.0.x64.dll和JDBC驱动版本完全一致,系统是64位架构
  2. 把dll所在的目录C:\加入系统的PATH环境变量,或者把dll拷贝到Java运行环境的bin目录下
  3. 调整代码如下即可:
server = 'jdbc:sqlserver://someserver.database.windows.net:1433;database=someserver;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;Authentication=ActiveDirectoryIntegrated'
cnxn = jay.connect('com.microsoft.sqlserver.jdbc.SQLServerDriver', server,
                   jars=r'C:\mssql-jdbc-9.4.0.jre8.jar',
                   libs=r'C:\mssql-jdbc_auth-9.4.0.x64.dll')

内容的提问来源于stack exchange,提问作者Alexey Belkov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 00:45:04