6

我们的开发服务器具有带 SSIS 的 SQL Server 2008 R2 64 位。为了能够直接从 T-SQL 导入 XLSX 文件(通过OPENROWSET),我们在开发服务器上安装了Microsoft Access Database Engine Redistributable 64-bit. 服务器已经安装了 32 位版本,所以我们使用 /passive 开关安装它。

既然这样做了,我们现有的软件包就失败了。其中一位报告

该步骤没有产生任何输出。返回值未知。进程退出代码为 -1066598274。步骤失败。

只是想知道是否其他人已成功配置他们的服务器以能够使用OPENROWSETXLSX 文件并且在同一台服务器上也有 SSIS,或者有人知道这种配置是否可行?

编辑:我应该补充一点,失败的包是从 SQL 代理作业运行的。当我通过 SQL Server Management Studio 连接到服务器的集成服务管理器并运行包时(通过导航到包,右键单击它并选择运行包),它成功执行。

4

3 回答 3

1

就我个人而言,我已经放弃了尝试支持这种情况 - 我认为“/被动”安装是一种实际上不起作用的 hack,并且通常会破坏您的其他 ADE 安装。我会完全卸载 ADE,然后只重新安装 32 位。然后,我将强制所有通过 SQL 代理运行的包以 32 位执行(如 Brian 所述)。

遵循此过程可为您调试问题带来一些希望,因为您可以在 Visual Studio 中打开您的包,它将使用相同的 32 位驱动程序。从 SSMS(也是 32 位)执行时,您还将使用一致的驱动程序。

是的,可能会影响性能,但 SSIS 性能通常在某种程度上受到 I/O 或网络速度的限制,而不仅仅是纯粹的引擎吞吐量。

于 2015-04-27T02:14:59.320 回答
0

对的,这是可能的。您必须在作业步骤中指定使用 32 位运行时。打开运行您的 SSIS 包之一的每个作业步骤,然后单击“执行选项”。选中底部的“使用 32 位运行时”框。

于 2015-04-24T21:52:13.833 回答
0

我也有“该步骤未生成任何输出。返回值未知。进程退出代码为-1066598274。该步骤也失败了”。
我为自己找到了一个解决方法:我从 using 切换xlsxxls,并且不再引发错误。

于 2015-04-30T10:17:40.810 回答