SSIS项目错误:无法检索连接管理器'excel连接管理器'的表信息

时间:2017-04-04 23:14:23

标签: sql-server excel ssis

我是SSIS的新手。对于我的练习,我想将数据从 excel传输到SQL Server。

  1. 我为MS SQL Server创建了一个连接管理器(通过选择OLE DB连接的连接管理器)

  2. EXCEL文件的另一个连接管理器

  3. 我已在数据流中添加了Excel源代码。

  4. 现在,我正在尝试编辑Excel源代码,以便我可以查看Excel文件中的数据,从而引发跟踪错误。

  5. “无法检索连接管理器'excel连接管理器的表信息'无法使用连接管理器连接到源...”

    image description here

    在StackOverflow帖子中搜索了很多内容之后,我发现了这个错误的几个原因和修复。

    1. SQL数据工具仅适用于32位版本。因此,安装“Microsoft Access数据库引擎2010”

    2. 更改DataMigration属性页面配置。将Run64BitRuntime更改为False。

    3. 将Excel连接管理器选项“Excel版本”更改为“Microsoft Excel 97-2003”以及其他选项。

    4. 确保在执行所有这些操作时,我尝试从中提取数据的excel文件未打开。

    5. 将DelayValidation属性设置为true

    6. image description here

      image description here

      尝试在互联网上找到的每个选项但没有任何效果。现在,我只是希望无论如何都能解决这个问题。任何解决此问题的建议都将不胜感激。

6 个答案:

答案 0 :(得分:1)

问题是Excel数据源是Office 2007,版本低于Office 2010.在这种情况下,需要单独的驱动程序:2007 Office System驱动程序:数据连接组件。

下载并安装:

http://www.microsoft.com/download/en/confirmation.aspx?id=23734

答案 1 :(得分:0)

如果您具有32位版本的Office,请下载32位驱动程序,否则请下载64位驱动程序。 它对我有用,我刚刚安装了{32位}(https://www.microsoft.com/en-za/download/confirmation.aspx?id=13255)这个文件

希望这可以帮助您解决问题

答案 2 :(得分:0)

在尝试了问题中所述的以下所有可能解决方案之后,令人沮丧的是,我决定卸载SSDT并再次安装,尽管它仍然必须遵循下面的前两个建议,但对我来说仍然有效。

  • SQL数据工具仅在32位版本中可用。因此,请安装“ Microsoft Access数据库引擎2010”

  • 更改DataMigration属性页面配置。将Run64BitRuntime更改为False。

  • 将“ Excel连接管理器”选项“ Excel版本”更改为“ Microsoft Excel 97-2003”以及其他选项。

  • 在执行所有这些操作时,请确保我尝试从中提取数据的Excel文件未打开。

  • 将DelayValidation属性设置为true

答案 3 :(得分:0)

在研究了所有地方之后,我终于找到了临时解决方案。因为我尝试了所有安装访问驱动程序的解决方案,但仍然遇到相同的问题。

对于Excel来源, 在执行此步骤之前,您需要更改设置。将Excel文件另存为2010 format.xlsx

还设置用于调试Run64BitRuntime = False的项目配置属性

  1. 拖放excel源文件
  2. 双击excel源并连接excel。任何方式,您都将得到相同的错误,而表或视图将无法加载。...
  3. 点击确定
  4. 右键单击excel源,然后单击“显示高级编辑”。
  5. 单击该组件的属性。
  6. 您可以看到 openrowset 。在右侧,您需要输入excel表格名称示例:如果在excel sheet1中,则需要输入sheet1 $。即以美元符号结尾。然后单击确定。
  7. 现在您可以进行其他连接目的地的工作。

我正在使用Visual Studio 2017,SQL Server 2017,Office 2016和Microsoft Access数据库2010引擎32位。 OS Windows 10 64位。

这是临时解决方案。因为许多人正在寻找这种类型的问题。最终,我弄清楚了该解决方案在任何网站上均不可用。

答案 4 :(得分:0)

对我来说,它通过卸载 Microsoft Access Database Engine 2010 64 位并安装 32 位来实现。仅供参考,我在 Win10 和 Excel 64 位上运行 VS2019 32 位。

答案 5 :(得分:0)

我在 PC 和 SSIS 中使用 Excel 2019 版:Excel 源编辑器未显示 2019 版可供选择。所以我选择了2016作为最高版本。

这是我犯的错误。

我将我的 Excel 文件保存在 PC 的 MS EXCEL 97-2003 工作表中,并在 Visual Studio 的 EXCEL SOURCE EDITOR 中选择了相同的版本,即 MS EXCEL 97-2003。

解决方案:我们必须选择我们PC上使用的Excel版本,并在visual studio的excel源代码编辑器中选择相同的版本。