【问题标题】:SSIS package with oracle connection failing when run via SQL job通过 SQL 作业运行时带有 oracle 连接的 SSIS 包失败
【发布时间】:2017-12-17 20:22:35
【问题描述】:

我开发了一个 SSIS 包,它在 Visual Studio 中运行良好。我已将此包部署到 SQL Server 并为其执行创建了一个作业。现在作业失败,在包含 Oracle 源的数据流任务中抛出错误。

请找出我收到的以下错误:

错误:请求的 OLE DB 提供程序 OraOLEDB.Oracle.1 未注册。如果未安装 64 位驱动程序,请在 32 位模式下运行软件包。错误代码:0x00000000 OLE DB 记录可用。来源:“Microsoft OLE DB 服务组件”Hresult:0x80040154。说明:“类未注册”。

错误:SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“Oracle_Source_DWH”的 AcquireConnection 方法调用失败,错误代码为 0xC0209303。在此之前可能会发布错误消息,其中包含有关 AcquireConnection 方法调用失败原因的更多信息。

请帮我解决这个错误。

我尝试卸载 Oracle 客户端,但没有成功。

提前致谢, 昌都

【问题讨论】:

标签: sql-server oracle ssis


【解决方案1】:

我假设您的 SQL Server 机器上安装了 Oracle 客户端,而不仅仅是在您的开发人员机器上。 在这种情况下,包在 VS 中成功执行而在 SQL Server 上失败的最常见原因是 VS 使用 x86 提供程序,但 SQL Server 使用的是 x64 版本。 您有两种方法可以解决该问题:

  1. 在 SQL Server 机器上安装 x64(或者如果您在服务器机器上开发,则同时安装 x86 和 x64)Oracle 客户端。
  2. 理论上(我从未使用过这个)- 在作业步骤的“执行选项”选项卡上设置复选框“使用 32 位运行时”。

【讨论】:

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