Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SSIS和64位Microsoft Access数据库引擎_Sql Server_Ssis_Sql Server 2008 R2_Aceoledb - Fatal编程技术网

Sql server SSIS和64位Microsoft Access数据库引擎

Sql server SSIS和64位Microsoft Access数据库引擎,sql-server,ssis,sql-server-2008-r2,aceoledb,Sql Server,Ssis,Sql Server 2008 R2,Aceoledb,我们的开发服务器具有SQL server 2008 R2 64位和SSI。为了能够直接从T-SQL(通过OPENROWSET)导入XLSX文件,我们在开发服务器上安装了MicrosoftAccess数据库引擎可再发行64位。服务器已经安装了32位版本,因此我们使用/passive开关安装了它 既然这样做了,我们现有的软件包就失败了。其中一人报告 该步骤没有生成任何输出。返回值未知。 进程退出代码为-1066598274。步骤失败了 只是想知道是否有其他人已经成功地将其服务器配置为能够使用OPEN

我们的开发服务器具有SQL server 2008 R2 64位和SSI。为了能够直接从T-SQL(通过
OPENROWSET
)导入XLSX文件,我们在开发服务器上安装了
MicrosoftAccess数据库引擎可再发行64位
。服务器已经安装了32位版本,因此我们使用/passive开关安装了它

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

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

只是想知道是否有其他人已经成功地将其服务器配置为能够使用
OPENROWSET
到XLSX文件,并且在同一台服务器上也有SSI,或者有人知道这种配置是否不可能


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

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

就我个人而言,我已放弃尝试支持此方案-我认为“/被动”安装是一种实际不起作用的黑客行为,通常会破坏ADE的其他安装。我将完全取消安装ADE,然后只重新安装32位。然后,我将强制通过SQL代理运行的所有包以32位的形式执行(如Brian所述)

按照这个过程,您可以在VisualStudio中打开软件包,并且它将使用相同的32位驱动程序,从而对调试问题产生一些希望。从SSM执行时,您还将使用一致的驱动程序(也是32位的)

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

我有“该步骤未生成任何输出。返回值未知。进程退出代码为-1066598274。该步骤也失败了”。

我为自己找到了一个解决方法:我从使用
xlsx
切换到
xls
,错误不再出现。

在SSIS管理器中右键单击运行它和在SQL代理中运行它是非常不同的。用户帐户不同,包运行位置也不同。右键单击并运行时,您是登录到服务器还是远程客户端?当连接失败时,您是否收到任何“获取连接失败”错误?这个excel连接是唯一的连接吗?当您?有关选择哪个版本执行的可能的其他方法,请参阅。@Nick.McDermaid“当您右键单击并在远程客户端上运行时,您是登录到服务器还是在远程客户端上?”。“当连接失败时,您是否收到任何“获取连接失败”错误?”否。“此excel连接是唯一的连接吗?”否。问题出在生产服务器上,我们有很多连接。@BaconBits“使用32位运行时”在获取错误之前已启用。当您右键单击包并在SSMS中的SSIS节点上运行它时,您正在客户端上以自己的身份运行它。这就是它起作用的原因。我建议您返回源代码并登录到SSMS,然后直接在那里运行
OPENROWSET
T-SQL。有错误吗?。如果您仅使用OPENROWSET从Excel中获取数据,那么DTExec位应该是无关的,是SQL Server在访问ACE驱动程序,而不是SSII在获取错误之前执行的操作。实际上,“使用32位运行时”解决了另一个错误:SSIS DTS\u E\u OLEDB\u EXCEL\u不受支持