我知道之前已经问过类似的问题......
我正在开发一个补救项目,该项目需要将现有的SSIS包从SQL Server 2008 32位迁移到2014 64位。数据源是Ingres数据库(32位服务器,2个表)。一些CRUD语句在SSIS中执行,因为在SQL Server端更新了几个表。
它在以前的平台上运行得很漂亮,但SQL Server升级到2014-64位它不再起作用了,有着名的错误
指定的DSN包含驱动程序和应用程序之间的体系结构不匹配
我试图将SSIS包中的“Run64bitRunTime”标志设置为false,但SQL Server 2014上的OLEDB驱动程序抱怨
发生了OLE DB错误.... OLE DB记录可用.AcquireConnection方法调用连接管理器“”失败...
出于好奇,当我尝试使用SQL Server导入和导出32位程序时,我可以与Ingres和SQL Server 2014进行通信,并将数据从Ingres传输到SQL,没有任何问题。我可以将Import-and-Export保存到一个包中,但我真的不想将原始包中的所有SQL转换语句添加到新包中(认为它是一个修复项目)。
我现在很困惑新包失败的原因,但导入和导出向导有效吗?我是否需要在新包中更改它以使其在新环境中工作(除了更改Run64bitRunTime标志)
更多信息:我尝试将SSIS包安装为文件,或者作为Integration Services目录的一部分,但都失败了。
需要更多信息,请告知我们。提前谢谢。
答案 0 :(得分:0)
我通过编辑SSIS包解决了我的问题,使SQL Server数据源成为OLEDB。重新映射所有数据列很痛苦。