迁移至Microsoft Entra MFA认证后Excel VBA连接SQL Server失败求助
适配Microsoft Entra MFA的SQL Server宏连接字符串修复方案
原宏使用的SQLOLEDB驱动不支持Microsoft Entra MFA认证,需更换为支持MFA的驱动并调整连接字符串:
推荐方案(ODBC Driver 17+)
使用ODBC Driver 17 for SQL Server,这是VBA中支持Entra MFA的稳定选项,连接字符串格式:
Driver={ODBC Driver 17 for SQL Server};Server=[SQL Server];Database=db_name;Uid=user.name;Authentication=ActiveDirectoryInteractive;
- 替换
[SQL Server]为实际服务器地址,db_name为目标数据库名 - 该字符串会触发MFA验证弹窗,无需填写密码,由Entra ID完成多因素认证
备选方案(OLE DB Driver 18+)
若坚持使用OLEDB连接,需升级到OLE DB Driver 18 for SQL Server,连接字符串格式:
Provider=MSOLEDBSQL18;Data Source=[SQL Server];Initial Catalog=db_name;User ID=user.name;Authentication=ActiveDirectoryInteractive;
- 需提前安装Microsoft OLE DB Driver 18 for SQL Server,旧版本OLEDB驱动不支持MFA
注意事项
- 必须安装对应版本的驱动,否则会出现驱动未找到或认证失败的错误
- VBA中使用
ADODB.Connection对象打开连接时,直接传入上述字符串即可,无需额外密码参数
内容的提问来源于stack exchange,提问作者CobaltZorch
相关产品推荐
相关产品推荐

