【问题标题】:SSIS project error: could not retrieve the table information for the connection manager 'excel connection manager'SSIS 项目错误:无法检索连接管理器“excel 连接管理器”的表信息
【发布时间】:2017-04-04 23:14:22
【问题描述】:

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

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

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

  3. 我已将一个 Excel 源添加到数据流中。

  4. 现在,我正在尝试编辑 Excel 源,以便查看 Excel 文件中的数据,这会引发以下错误。

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

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

  1. SQL 数据工具仅在 32 位版本中可用。所以,安装“Microsoft Access Database Engine 2010”

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

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

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

  5. 将 DelayValidation 属性设置为 true

尝试了在 Internet 上找到的所有选项,但没有任何效果。现在,无论如何,我只想解决这个问题。任何解决此问题的建议将不胜感激。

【问题讨论】:

  • 前两天我也遇到了同样的问题。你找到解决方案了吗。如果是,请发布答案...
  • @DineshDB 您可能已经找到了解决方案。但是请在下面找到我的答案,如果在安装所有驱动程序后仍然遇到问题,它将用于其他用途
  • @DineshDB ,您找到解决方案了吗?请让我知道是否有任何替代方式

标签: sql-server excel ssis


【解决方案1】:

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

下载并安装:

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

【讨论】:

  • 链接已过期
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    在尝试了问题中提到的所有以下可能的解决方案后,令人沮丧的是,我决定卸载 SSDT 并重新安装它,它对我有用,但仍然必须遵循下面的前 2 条建议。

    • SQL 数据工具仅在 32 位版本中可用。所以,安装“Microsoft Access Database Engine 2010”

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

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

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

    • 将 DelayValidation 属性设置为 true

    【讨论】:

      【解决方案4】:

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

      对于excel源, 在此步骤之前,您需要更改设置。将excel文件另存为2010格式.xlsx

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

      1. 拖放 Excel 源代码
      2. 双击excel源并连接excel。任何方式你都会得到同样的错误 no table or view cannot load....
      3. 点击确定
      4. 右键单击excel源,点击显示高级编辑。
      5. 在那点击组件属性。
      6. 您可以看到 openrowset。在右侧,您需要输入您的 excel 工作表名称示例:如果在 excel sheet1 中,则您需要输入 sheet1$。即以美元符号结尾。然后点击确定。
      7. 现在您可以执行连接到目的地的其他工作。

      我正在使用 Visual Studio 2017、SQL Server 2017、Office 2016 和 Microsoft Access Database 2010 引擎 32 位。操作系统 Windows 10 64 位。

      这是临时解决方案。因为很多人都在寻找这类问题。最后我想通了,这个解决方案在任何网站上都没有。

      【讨论】:

      • 你找到其他替代品了吗?
      • 我没有。但我现在只使用这种方法。对我来说工作正常
      • 哦,我想我错过了一件事。我还没有安装Microsoft access database 2010 engine 32bit。这是免费软件吗?或所需的任何许可证。我必须在我的办公机器上安装它。 Windows server 2012?
      • 是的,你需要安装。它是免费的
      【解决方案5】:

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

      【讨论】:

        【解决方案6】:

        我在我的 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源代码编辑器中选择相同的版本。

        【讨论】:

          【解决方案7】:

          由于 Visual Studio 是 32 位,请安装 Microsoft Access Database Engine 2010 Redistributable 32 位版本以从以下链接启用 excel 驱动程序

          https://www.microsoft.com/en-us/download/details.aspx?id=13255

          【讨论】:

            【解决方案8】:

            现在,我有这个问题的解决方案。 我正在使用 Visual Studio 2015、MS Excel 2016、OS Window 11 64 位,我什至没有更改我的 DelayValidation 属性。

            1. 安装 Microsoft Access Database 2010 32 位引擎
            2. 拖放 Excel 组件。
            3. 双击组件并选择扩展名为 .xlsx 的路径。
            4. 选择Excel 2007-2010 版

            终于想通了,希望你能理解。

            【讨论】:

              【解决方案9】:

              只需安装 Microsoft Access 数据库 2010 引擎 32 位就可以使用它为我工作的相同过程,仅供参考,我有 VS2019,Excel 64 位

              【讨论】:

              • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
              【解决方案10】:

              简单的解决方法。打开另存为 Excel 97-2003 工作簿的 Excel 数据源,并在 SSIS Excel 连接管理器中将 Excel 版本指定为 Excel 97-2003。

              【讨论】:

              • 它对我有用,但这不是解决方案,因为客户端正在生成 xlsx 文件并且它不起作用
              猜你喜欢
              • 1970-01-01
              • 2014-07-16
              • 1970-01-01
              • 2015-05-07
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多