由于SSDT现在提供64位版本,这是否意味着我们可以使用64位Excel驱动程序?

时间:2018-07-09 15:36:54

标签: ssis sql-server-data-tools

找不到很多有关ACE驱动程序的文章,它们以32位运行,依此类推,等等,所有这些都以SSDT结尾是32位IDE,因此您需要使用32位驱动程序。文章是旧的。看起来MSDN上有一个64位SQL Server数据工具。是否有人尝试使用64位SSDT来构建使用64位Excel驱动程序的SSIS包。我在想,也许我们不再需要删除64位驱动程序并安装可重新分发的Microsoft Access 2010即可获取32位驱动程序,并将我们的程序包作为32位运行。

2 个答案:

答案 0 :(得分:0)

这是老鼠的巢。 Visual Studio(应用程序本身)是32位的,Microsoft没有计划将其升级到我所知道的64位。但是,VS可以编译64位解决方案。我的理解是SSIS包的32位运行时模式适用于这样编译的自定义组件。

我没有通过MSDN订阅下载SSDT,我直接去了SSDT站点(docs.microsoft.com/en-us/sql/ssdt/…)。我认为您是正确的,它是您所运行的SQL Server位类型的安装程序。因此,我将选择相应的位类型。除此之外,我不认为连接管理器会发生任何变化,就像您在OP中提到的那样。

答案 1 :(得分:0)

安装了SSDT后,在Visual Studio(2017或2019)中,您只能使用Microsoft Access Database Engine 2016中的Excel 32位驱动程序,因为Visual Studio是32位应用程序。如果从Visual Studio IDE运行SSIS包,则不能使用64位Excel驱动程序。

要使用Excel 64位驱动程序,请从上面的链接安装相应的bit excel驱动程序,然后通过命令行(不是Visual Studio)使用64位DTEXEC.exe。示例:

C:\Program Files\Microsoft SQL Server\130\DTS\Binn\DTEXEC.exe /f C:\package.dtsx

这为您提供了更大的内存空间来加载大型Excel。您可以并排安装32位和64位Excel驱动程序(并且不需要安装Office)。

这里重要的一点是,只有通过SQL Server安装(不是Visual Studio)安装它时,才存在64位DTExec.exe。至少应为开发人员版本或更高版本。安装Visual Studio(即使企业版)时,也不存在64位DTExec.exe。

因此,您可以使用32位excel驱动程序在IDE中开发SSIS软件包,并通过命令行使用64位DTExec.exe使用64位Excel驱动程序在生产环境中运行。