2012-01-05 4 views
1

J'ai deux serveurs:Code d'erreur SSIS DTS_E_OLEDB_NOPROVIDER_ERROR. Le fournisseur OLE DB demandé OraOLEDB.Oracle.1 est pas inscrit

serveur A - C'est là mes packages SSIS vivent dans un répertoire de fichiers

Serveur B - C'est là mon SQL Base de données Server 2008 et vie de travail de l'Agent SQL Server.

Sur le serveur B, j'ai créé un travail SQL Server Agent qui comporte une étape: Il appelle un package SSIS sur le serveur A qui extrait un extrait de données d'une base de données Oracle dans la base de données SQL Server sur le serveur B. ci-dessous ...

Propriétés de l'étape d'emploi:

type = SQL Server Integration services de package

Onglet général:

paquet source = système de fichiers

Package = chemin package complet

Aucune autre configurations ont été faites dans les Propriétés de l'étape d'emploi

Le package SSIS extrait des données à partir d'une base de données Oracle et les charge dans SQL Server à l'aide d'une source OLE DB avec une connexion gestionnaire qui utilise le fournisseur suivant: Fournisseur OLE DB \ Oracle natif pour OLE DB

Lors de l'exécution du package SSIS manuellement à partir du serveur A à l'aide de SQL Server Business Intelligence Development Studio, le package s'exécute avec zéro erreur.

Cependant, lors de l'exécution du même package à partir du serveur B en utilisant l'Agent SQL Server, les résultats d'erreur suivants:

Erreur: 2012-01-05 08: 27: 04.45 Code Promo: 0xC0209302 Source: SSIS_PDS_Template Gestionnaire de connexion "My_OLE" Description: Code d'erreur SSIS DTS_E_OLEDB_NOPROVIDER_ERROR. Le fournisseur OLE DB demandé OraOLEDB.Oracle.1 n'est pas enregistré. Code d'erreur: 0x00000000. Un enregistrement OLE DB est disponible. Source: "Composants du service Microsoft OLE DB" Hresult: 0x80040154 Description: "Classe non enregistrée". Erreur de fin Erreur: 2012-01-05 08: 27: 04.45 Code: 0xC020801C Source: CIR_OLE Source OLE DB [1] Description: Code d'erreur SSIS DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.

En outre, si je désactive l'extrait de base de données Oracle dans le package SSIS et exécute le travail d'agent SQL Server à partir du serveur B, il s'exécute avec zéro erreur. Comment résoudre?

Répondre

2

Vous devez installer le pilote Oracle OLE DB sur le serveur B, qui exécute le package à partir du serveur A dans la mémoire du serveur B. Vous devriez vraiment regarder la programmation et les exécuter sur le serveur A si c'est une boîte ETL dédiée.

Questions connexes