不能在同一台机器上有 Excel 和 SSDT

Cannot have Excel and SSDT in the same machine

目前,当我尝试在 Excel 中作为 OLE Db 数据源工作时,出现错误。来自事件查看器的错误如下:

Faulting application name: devenv.exe, version: 14.0.25420.1, time stamp: 0x57685d85 Faulting module name: mso40uiwin32client.dll, version: 16.0.4510.1001, time stamp: 0x58aea30f Exception code: 0xc0000005 Fault offset: 0x001665c1 Faulting process id: 0x1634 Faulting application start time: 0x01d2a4d1d4ef28d1 Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe Faulting module path: C:\Program Files (x86)\Common Files\Microsoft Shared\Office16\mso40uiwin32client.dll Report Id: c15c623e-10c5-11e7-81d4-782bcbacd899

我正在尝试做的事情:从 excel 文件加载数据并放入 sql 数据库。当我第一次创建我的包时,一切正常,但是当我关闭并重新打开我的项目时,由于我从事件查看器报告的错误,VS 崩溃了。

从事件查看器的错误中,我想到卸载 Office,只安装 ACE,然后再次尝试重新打开并在我的项目中工作。项目又成功了。

我现在的理解是,当我们想使用 excel 作为 OLE DB 源时,我们不能安装 office。这是真的? 任何人都可以帮助我克服这个错误吗?我想要 Excel 并且能够在同一台机器上处理我的 SSIS 项目

谢谢

您必须确保:

  • 驱动程序 (Microsoft Jet /ACE) 的版本支持您尝试加载的 excel 版本。
  • 您可以在 excel 组件中加载和预览数据流中的 Excel,并查看您要查找的信息。
  • 有时问题是您的驱动程序是 32 位的,而 ssis 在 64 位上运行,您可以将其从项目更改为 32 位。我认为这是最重要的检查,你的失败可能是这个。
  • 检查文件的安全性,确保您可以访问它并且您是运行 ssis 的用户有权限。

将包的执行结果放在这里,以阅读有关错误的更多信息。

经过大量 install/uninstall SSDT2012。 我们发现从这个位置安装 SSDT2012 时可以解决冲突问题:

https://msdn.microsoft.com/en-us/jj650015

我无法解释为什么这个版本可以解决这个问题,但据我所知,使用这个较新版本的 SSDT2012 我们有几个增强功能,比如在 2012 年创建数据库项目,使用 sql 服务器 2014 没有任何问题, ...