I have two servers:
Server A - This is where my SSIS packages live in a file directory
Server B - This is where my SQL Server 2008 database and SQL Server Agent Job lives.
On Server B, I have created a SQL Server Agent Job that has one step: It calls an SSIS package on Server A that performs a data extract from an Oracle Database into the SQL Server database on Server B. Job step details below...
Job Step Properties:
Type = SQL Server Integration Services Package
Package source = File system
Package = full package path
No other configurations have been made in the Job Step Properties
The SSIS package extracts data from an Oracle database and loads it into SQL Server using an OLE DB Source with a connection manager that uses the following provider: Native OLE DB\Oracle Provider for OLE DB
When executing the SSIS package manually from Server A using SQL Server Business Intelligence Development Studio, the package runs to completion with zero errors.
However, when executing the same package from Server B using the SQL Server Agent Job, the following error results:
Error: 2012-01-05 08:27:04.45 Code: 0xC0209302 Source: SSIS_PDS_Template Connection manager "My_OLE" Description: SSIS Error Code DTS_E_OLEDB_NOPROVIDER_ERROR. The requested OLE DB provider OraOLEDB.Oracle.1 is not registered. Error code: 0x00000000. An OLE DB record is available. Source: "Microsoft OLE DB Service Components" Hresult: 0x80040154 Description: "Class not registered". End Error Error: 2012-01-05 08:27:04.45 Code: 0xC020801C
Source: CIR_OLE OLE DB Source  Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.
Also, if I disable the Oracle database extract in the SSIS package and run the SQL Server agent job from Server B, it runs to completion with zero errors. How to resolve?
User contributions licensed under CC BY-SA 3.0