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

SSIS转换XLS到TXT时报DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER错误如何解决

问题排查与解决步骤

第一步:优先调整SSIS调试运行位数(90%以上场景可直接解决)

你已经成功安装32位Microsoft Access Database Engine 2010,报错核心原因是Visual Studio默认SSIS调试运行在64位模式,无法匹配32位驱动,按以下步骤修改:

  • 右键解决方案资源管理器中的SSIS项目节点(不是顶层解决方案节点),选择「属性」
  • 在弹出的属性页中定位到「配置属性」→「调试」选项卡
  • 将「Run64BitRuntime」属性值改为False
  • 保存配置后重新运行包测试

若修改后仍报错,按以下顺序排查

1. 校验Excel连接管理器配置

  • 确认连接管理器中选择的Excel版本和待处理文件匹配:XLS格式选「Excel 97-2003」,XLSX等更高版本选对应高版本选项
  • 连接字符串的Provider字段固定为Microsoft.ACE.OLEDB.12.0,不要使用16.0版本,你当前没有对应16.0的有效驱动

2. 确认32位ACE驱动注册成功

  • 按Win+R打开运行窗口,输入C:\Windows\SysWOW64\odbcad32.exe打开32位ODBC数据源管理器
  • 切换到「驱动程序」标签页,检查列表中是否存在Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)项,存在则说明驱动安装注册正常

3. 解决Office即点即用版本的驱动冲突

你之前安装2016版驱动报错是因为32位Office 365为即点即用版本,自带的ACE组件和独立安装包有检测冲突,可通过静默安装参数绕过检测,无需卸载现有Office:

  • 下载32位Microsoft Access Database Engine 2016安装包,存放在本地简单路径比如C:\temp
  • 打开管理员权限的终端,CD到安装包所在目录
  • 执行命令:AccessDatabaseEngine.exe /quiet,等待安装完成
  • 安装完成后再次调整SSIS运行时为32位,重新测试

兜底替代方案

如果始终无法解决ACE驱动的位数冲突问题,可以放弃官方Excel连接管理器,改用脚本任务集成NPOI/EPPlus等第三方.NET库读取Excel内容输出为TXT,完全不依赖系统ACE驱动,无位数兼容性问题。

内容的提问来源于stack exchange,提问作者Francesco Mantovani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 22:27:04