通过SQL作业运行时,oracle连接失败的SSIS包

时间:2017-07-13 07:27:00

标签: sql-server oracle ssis

我开发了一个SSIS包,它从visual studio运行良好。我已将此包部署到SQL服务器并为其执行创建了一个作业。现在,该作业未能在包含Oracle源的数据流任务中抛出错误。

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

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

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

请帮我解决此错误。

我尝试卸载Oracle客户端但没有工作。

先谢谢, Chandu

1 个答案:

答案 0 :(得分:0)

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

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