SSIS对象模型 - Excel连接管理器错误在64位机
-
19-09-2019 - |
题
我有一个SSIS包,用于读取Excel文件(数据流源),并使用OLEDB目标数据流Item.This包是通过使用SSIS对象模型NET应用程序所执行的数据传送到SQL Server。应用程序的子文件夹内存储在文件系统中的包。
在包工作正常我的开发/测试机上both.Both这些机器有32位WIN2K3。在SSIS是建立在BIDS 32Bit环境下。
当我DEPLOYE生产的机器上本申请具有WIN2K3 64标准版I得到的错误
发生一个OLE DB错误。错误代码:0x80040154的。一个OLE DB记录。资料来源:“微软的OLE DB服务组件” HRESULT:0x80040154的描述:“类未注册”。 该AcquireConnection方法调用连接管理器“Excel连接管理器”,错误代码为0xC0202009失败。 组件“Excel源”(630)验证失败并返回错误代码0xC020801C。 的
我在其他职位已经阅读了设置项目的属性Run64BitRuntime(在设计时)从BIDS运行时,它解决了上述问题。
如何设置通过SSIS对象模型这个属性。
下面是执行包的代码的部分
_application = New Application() _package = New Package() _package = _application.LoadPackage(packageName, Nothing) _updateResult = _package.Execute()
由于
马苏德
解决方案
在Run64BitRuntime属性只适用于被包装的BIDS的内部运行。有没有必要运行BIDS的外表面时,设置该属性。
我相信你的问题是,在代码中运行时,包是在64位模式运行,但是,Excel不支持此。为了使这项工作,你需要掏出推出DTEXEC的32位版本。
不隶属于 StackOverflow