DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER bei Verwendung des Oracle-Verbindungs-Managers

In diesem Artikel erfahren Sie, wie Sie das Problem beheben, das bei verwendung des Oracle-Verbindungs-Managers auftritt.

Ursprüngliche Produktversion: SQL Server
Ursprüngliche KB-Nummer: 2009312

Symptome

Betrachten Sie das folgende Szenario für beide SQL Server:

  • Sie entwerfen ein SSIS-Paket (SQL Server Integration Services) mithilfe von Business Intelligence Development Studio (BIDS).
  • In Ihrem Paket stellen Sie mithilfe eines OLEDB-Anbieters für Oracle eine Verbindung mit einem Oracle-Server her und verwenden entweder Oracle-Client 10G oder 11G.
  • Sie verwenden die Paketkonfigurationsdatei, um alle Verbindungseigenschaften für die Oracle-Verbindung zur Laufzeit festzulegen.

Wenn Sie in diesem Szenario das Paket über BIDS ausführen, erhalten Sie die folgende Fehlermeldung:

"Error: 0xC0202009 at Package, Connection manager "OLEDB Provider": SSIS Error Code DTS_E_OLEDBERROR. Ein OLE DB-Fehler ist aufgetreten. Fehlercode: 0x80040E21.

Ein OLE DB-Eintrag ist verfügbar. Quelle: "Microsoft OLE DB-Dienstkomponenten" Hresult: 0x80040E21 Beschreibung: "Fehler beim mehrstufigen OLE DB-Vorgang. Überprüfen Sie die einzelnen OLE DB-status, sofern verfügbar. Es wurde keine Arbeit geleistet.".

Error: 0xC020801C at Datenfluss Task, Oracle OLEDB Source [1]: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. Fehler beim Aufruf der AcquireConnection-Methode für den Verbindungs-Manager "OLEDB-Anbieter" mit dem Fehlercode 0xC0202009. Möglicherweise wurden zuvor Fehlermeldungen mit weiteren Informationen dazu bereitgestellt, warum der Aufruf der AcquireConnection-Methode fehlgeschlagen ist.

Fehler: 0xC0047017 bei Datenfluss Task, DTS. Pipeline: Die Komponente "Oracle OLEDB Source" (1) konnte nicht überprüft werden, und der Fehlercode wurde 0xC020801C zurückgegeben."

Ursache

Dies liegt daran, dass die Initial Catalog-Eigenschaft in der Konfigurationsdatei vom Oracle-Anbieter nicht erkannt wird. Dies ist für den Oracle-Verbindungs-Manager in der Konfigurationsdatei leer.

Beispielsweise wird die folgende XML-Konfigurationsdatei generiert, wenn Sie BIDS verwenden, um ein SSIS-Paket zu erstellen, das eine Verbindung mit einem Oracle-Server herstellt:

<?xml version="1.0"?>
<DTSConfiguration>  
    <DTSConfigurationHeading>
        <DTSConfigurationFileInfo GeneratedBy="MyUserName" GeneratedFromPackageName="MyPackage" GeneratedFromPackageID="<guid>" GeneratedDate="2/22/2010 9:00:00 PM"/>
    </DTSConfigurationHeading>
    <Configuration ConfiguredType="Property" Path="\Package.Connections[MyConnectionManager].Properties[ConnectionString]" ValueType="String"> 
        <ConfiguredValue>Data Source=MyServerName;User ID=MyAccount;Password=MyPassword; **Initial Catalog=**; Provider=MSDAORA.1;Persist Security Info=True;</ConfiguredValue>
    </Configuration>
</DTSConfiguration>

Lösung

Entfernen Sie das Kontrollkästchen für den Anfangskatalog, wenn Sie die Konfigurationsdatei über die BIDS-Designer erstellen oder bearbeiten.

Die feste Version der Beispielkonfigurationsdatei, die im Abschnitt Ursache angezeigt wird, lautet z. B. wie folgt:

<?xml version="1.0"?>
<DTSConfiguration>  
    <DTSConfigurationHeading>
        <DTSConfigurationFileInfo GeneratedBy="MyUserName" GeneratedFromPackageName="MyPackage" GeneratedFromPackageID="<guid>" GeneratedDate="2/22/2010 9:00:00 PM"/>
    </DTSConfigurationHeading>
    <Configuration ConfiguredType="Property" Path="\Package.Connections[MyConnectionManager].Properties[ConnectionString]" ValueType="String">
        <ConfiguredValue>Data Source=MyServerName;User ID=MyAccount;Password=MyPassword;Provider=MSDAORA.1;Persist Security Info=True;</ConfiguredValue>
    </Configuration>
</DTSConfiguration>

Weitere Informationen

Bekannte Einschränkungen des OLE DB-Anbieters für ODBC