DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER von Oracle Connection Manager

Dieser Artikel hilft Ihnen, das Problem zu beheben, das bei Verwendung von Oracle Connection Manager auftritt.

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

Problembeschreibung

Betrachten Sie das folgende Szenario für SQL Server:

  • Sie entwerfen ein SQL Server Integration Services (SSIS)-Paket mit Business Intelligence Development Studio (BIDS).
  • In Ihrem Paket stellen Sie mithilfe eines OLEDB-Anbieters für Oracle eine Verbindung mit einem Oracle-Server und verwenden entweder oracle client 10G oder 11G.
  • Mithilfe der Paketkonfigurationsdatei können Sie alle Verbindungseigenschaften für die Oracle-Verbindung zur Laufzeit festlegen.

Wenn Sie in diesem Szenario das Paket von BIDS ausführen, wird die folgende Fehlermeldung angezeigt:

"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-Datensatz ist verfügbar. Quelle: "Microsoft OLE DB Service Components" Hresult: 0x80040E21 Description: "Multiple-step OLE DB operation generated errors. Überprüfen Sie gegebenenfalls jeden OLE DB-Statuswert. Es wurde keine Arbeit durchgeführt."

Error: 0xC020801C at Data Flow Task, Oracle OLEDB Source [1]: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. Fehler beim Aufruf der AcquireConnection-Methode an den Verbindungs-Manager "OLEDB Provider" mit dem Fehlercode 0xC0202009. Es können Fehlermeldungen mit weiteren Informationen darüber veröffentlicht werden, warum der Aufruf der AcquireConnection -Methode fehlgeschlagen ist.

Fehler: 0xC0047017 bei Data Flow Task, DTS. Pipeline: Die Komponente "Oracle OLEDB Source" (1) hat die Überprüfung nicht erfolgreich ausgeführt und den Fehlercode 0xC020801C zurückgegeben."

Ursache

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

Die folgende XML-Konfigurationsdatei wird beispielsweise generiert, wenn Sie BIDS zum Erstellen eines SSIS-Pakets verwenden, 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 anfänglichen Katalog, wenn Sie die Konfigurationsdatei über den BIDS Designer erstellen oder bearbeiten.

Die feste Version der Beispielkonfigurationsdatei im Abschnitt "Ursache" lautet beispielsweise 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

INFO: Einschränkungen des Microsoft Oracle -ODBC-Treibers und des OLEDB-Anbieters