我有一个 SSIS 包,它读取 Excel 文件(数据流源)并使用 OLEDB 目标数据流项将数据传输到 SQL Server。该包由 .Net 应用程序使用 SSIS 对象模型执行。存储在应用程序子文件夹内的文件系统中的包。
该软件包在我的开发/测试机器上都可以正常工作。这两台机器都有 win2k3 32 位。SSIS 是在 BIDS 32 位环境中构建的。
当我在具有 win2k3 x64 标准版的生产机器上部署此应用程序时,我收到错误
发生 OLE DB 错误。错误代码:0x80040154。OLE DB 记录可用。来源:“Microsoft OLE DB 服务组件”Hresult:0x80040154 描述:“类未注册”。对连接管理器“Excel 连接管理器”的 AcquireConnection 方法调用失败,错误代码为 0xC0202009。组件“Excel Source”(630) 验证失败并返回错误代码 0xC020801C。
我在其他帖子中读到设置项目的 Run64BitRuntime 属性(在设计期间)解决了从 BIDS 运行它时的问题。
如何通过 SSIS 对象模型设置此属性。
这是执行包的部分代码
_application = 新应用程序() _package = 新包() _package = _application.LoadPackage(packageName, Nothing) _updateResult = _package.Execute()
谢谢
马苏德