【问题标题】:Running SSIS package through SQL server agent通过 SQL Server 代理运行 SSIS 包
【发布时间】:2017-07-05 19:18:15
【问题描述】:

我有一个带有 excel 连接管理器的 SSIS 包。因此,我需要在 32 位环境中运行它。 我通过执行以下操作将 SQL-server 作业配置为在 32 位环境中运行:

作业属性-> 执行选项-> 使用 32 位运行时。

但我收到此错误:

代码:0xC0209302 源:包连接管理器“Excel 连接管理器”描述:请求的 OLE DB 提供程序 Microsoft.ACE.OLEDB.12.0 未注册。如果未安装 32 位驱动程序,请在 64 位模式下运行该软件包。错误代码:0x00000000。 OLE DB 记录可用。来源:“Microsoft OLE DB 服务组件”Hresult:0x80040154 描述:“类未注册”。结束错误错误:2017-02-16 10:14:22.94 代码:0xC001002B 源:包连接管理器“Excel 连接管理器”描述:“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册。

请提出一种我可以通过 sql-server 作业代理运行 SSIS 包的方法。谢谢!

【问题讨论】:

  • ACE (Excel) 驱动程序有 32 位和 64 位版本。您不需要 32 位来导入 Excel 文件。您是否尝试过在 64 位模式下运行该软件包?
  • 您是否尝试安装错误消息告诉您丢失的驱动程序?
  • @PanagiotisKanavos 是的,我尝试在 64 位版本中运行该软件包。它给了我与上述类似的错误。错误的唯一区别是,它显示“如果未安装 64 位驱动程序,请在 32 位模式下运行包”。 SSIS 包在 Visual Studio 中运行良好,但在 SQL Server 中出现错误。
  • 这意味着您还没有在 SQL Server 机器上安装 any 驱动程序。你必须安装它
  • @TabAlleman 不,我还没有下载驱动程序。我在 google 上发现在 32 位环境下运行它可以解决问题。但它没有。

标签: sql-server ssis


【解决方案1】:
Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.

您需要下载新的数据访问引擎,我猜您是在尝试将软件包部署到安装了旧数据访问引擎的服务器上,例如jet

这里是链接: https://www.microsoft.com/en-us/download/details.aspx?id=13255

登录到目标服务器,根据您的服务器版本下载 32 位或 64 位并安装。之后一切都会好起来的。

【讨论】:

    【解决方案2】:

    有另一种方式。在 Microsoft Office Excel 中打开该 excel 文件,并将其另存为“Excel 97-2003 Workbook”。然后,在文件连接中使用新保存的 excel 文件。

    【讨论】:

      【解决方案3】:

      检查您是否已配置为在正确的体系结构中运行包。 在 SSDT 中导航到 Project>>Properties>>Debugging>>Run64 bit Runtime>>Set True/False acc to your machine and check.

      【讨论】:

        猜你喜欢
        • 2013-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-01
        • 1970-01-01
        相关资源
        最近更新 更多