SSIS和64位Microsoft Access数据库引擎

时间:2014-11-03 16:01:34

标签: sql-server ssis sql-server-2008-r2 aceoledb

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

由于这样做,我们现有的包失败了。其中一个报告

  

该步骤未生成任何输出。返回值未知。   进程退出代码是-1066598274。步骤失败了。

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

编辑:我应该补充说,失败的软件包是从SQL代理作业运行的。当我通过SQL Server Management Studio连接到服务器的Integration Services Manager并运行包时(通过导航到包,右键单击它并选择Run Package),它会成功执行。

3 个答案:

答案 0 :(得分:1)

就我个人而言,我已经放弃了尝试支持这种情况 - 我认为" /被动"安装是一个实际上没有工作的黑客,通常会破坏你的其他ADE安装。我会完全unintall ADE然后只重新安装32位。然后我会强制所有通过SQL Agent运行的包以32位执行(如Brian所述)。

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我有"该步骤没有产生任何输出。返回值未知。进程退出代码是-1066598274。步骤失败"太。
我为自己找到了一个随处:我使用xlsx切换到xls,错误不再被提升。