我有一个 SSIS 包(在 BIDS 2008 中创建)。该包有一个数据流任务。在数据流任务中,我有一个 ADO NET Source 和一个 Excel Destination。
我正在连接到 Oracle 数据库,运行查询,然后将结果放入不同服务器上的 excel 文件中。为了连接到 Oracle DB,我需要为我的连接创建一个系统 DSN。对于 excel 连接,我使用“表或视图”下拉选项并创建一个创建表查询,该查询从 ADO NET 连接中的 sql 查询中获取输出。
现在,如果我将 excel 文件放在本地驱动器上,它可以正常工作。但最终目标是将这个包放到不同的服务器上。因此,当我将 excel 连接上的位置更改为不同的服务器(我可以访问)时,它不起作用。当我打开 excel 任务并点击预览时,我收到以下错误 -
标题:Microsoft Visual Studio
数据流任务 [Excel 目标 [16]] 出错:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80040E37。
数据流任务 [Excel 目标 [16]] 出错:打开“Excel_Destination”的行集失败。检查对象是否存在于数据库中。
附加信息:
来自 HRESULT 的异常:0xC02020E8 (Microsoft.SqlServer.DTSPipelineWrap)
纽扣:
好的
我找不到任何解决此问题的方法。现在 ADO NET 连接仍然有效,如果我在查询 ADO NET 源任务时点击预览,我仍然可以获得所需的数据。
我需要将 DSN 名称添加到要删除 excel 文件的服务器吗?还是将文件放在本地机器上,然后将文件 ftp 到另一台服务器更好?