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

SSIS包部署至SQL Server 2019后出现DSN架构不匹配错误求助

SSIS部署后ODBC架构不匹配错误解答

错误信息中的“Application”指什么?

这里的“Application”指的是执行SSIS包的进程。在SQL Server上部署后,包由SQL Server Integration Services(SSIS)服务启动的DTSHost.exe进程执行,而非Visual Studio里的调试进程。如果该进程是64位的,却尝试调用32位ODBC驱动,就会触发“架构不匹配”错误——因为64位进程无法直接加载32位的驱动组件。

解决方法

1. 强制以32位模式运行SSIS包

  • 若通过SQL Server代理作业运行:在作业步骤的“执行SSIS包”配置界面,切换到“高级”选项卡,勾选“使用32位运行时”,SSIS会启动32位版本的DTSHost.exe执行包,匹配32位ODBC驱动架构。
  • 若用命令行(DTExec)运行:使用32位版本的DTExec工具,路径通常为C:\Program Files (x86)\Microsoft SQL Server\150\DTS\Binn\DTExec.exe(SQL Server 2019对应版本号为150)。

2. 匹配ODBC数据源与运行进程的架构

  • 若要保持64位运行:打开64位ODBC数据源管理器(路径C:\Windows\System32\odbcad32.exe),创建对应数据源的64位版本,确保驱动和数据源均为64位架构。
  • 若必须使用32位驱动:打开32位ODBC数据源管理器(路径C:\Windows\SysWOW64\odbcad32.exe),创建32位版本的数据源,再配合方法1强制32位运行包。

3. 调整脚本任务的ODBC调用逻辑(备选)

如果前两种方法无法满足需求,可在C#脚本任务中明确指定加载32位ODBC驱动的方式(比如通过P/Invoke调用32位ODBC API),但这种方式复杂度较高,仅推荐在前两种方法不可行时尝试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 11:35:20