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

Since SSDT is now available in 64 bit, does that mean we can use the 64 bit Excel driver?

很多关于 ACE 驱动程序的文章都没有找到,运行在 32 位中,等等,最后都是 SSDT 是 32 位 IDE,因此你需要使用32 位驱动程序。文章都是旧的。 MSDN 上似乎有一个 64 位 SQL 服务器数据工具。是否有人尝试使用 SSDT 64 位来构建使用 64 位 Excel 驱动程序的 SSIS 包。我在想也许我们不再需要删除 64 位驱动程序并安装 Microsoft Access 2010 可再发行组件来获取 32 位驱动程序和 运行 我们的包作为 32 位。

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

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

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

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

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

这会给你更大的内存 space 来加载大的 excels。您可以并排安装 32 位和 64 位 Excel 驱动程序(不,您不需要安装 Office)。

这里重要的一点是 64 位 DTExec.exe 仅在通过 SQL 服务器安装(而非 Visual Studio)安装时存在。它应该至少是 Developer 版本及以上版本。安装 Visual Studio 时不存在 64 位 DTExec.exe(即使是企业版)。

因此,您在 IDE 中使用 32 位 excel 驱动程序开发 SSIS 包,在生产环境中使用 64 位 Excel 驱动程序 运行 使用 64 位 [=23] =] 通过命令行。