Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel hilft Ihnen, das Problem zu beheben, das beim Verwenden des Oracle-Verbindungs-Managers auftritt.
Ursprüngliche Produktversion: SQL Server
Ursprüngliche KB-Nummer: 2009312
Problembeschreibung
Betrachten Sie das folgende Szenario für beide SQL Server:
- Sie entwerfen ein SQL Server Integration Services (SSIS)-Paket mit Business Intelligence Development Studio (BIDS).
- In Ihrem Paket stellen Sie eine Verbindung mit einem Oracle-Server mit einem OLEDB-Anbieter für Oracle her und verwenden entweder Oracle-Client 10G oder 11G.
- Sie verwenden die Paketkonfigurationsdatei, um alle Verbindungseigenschaften für die Oracle-Verbindung zur Laufzeit festzulegen.
In diesem Szenario wird beim Ausführen des Pakets von BIDS die folgende Fehlermeldung angezeigt.
"Fehler: 0xC0202009 bei Package, Verbindungsmanager "OLEDB Provider": SSIS Error Code DTS_E_OLEDBERROR. OLE DB-Fehler. Fehlercode: 0x80040E21.
Ein OLE DB-Datensatz ist verfügbar. Quelle: "Microsoft OLE DB Service Components" Hresult: 0x80040E21 Beschreibung: "Multiple-Step OLE DB operation generated errors. Prüfen Sie die einzelnen OLE DB-Statuswerte, falls vorhanden. Es wurde keine Arbeit geleistet.".
Fehler: 0xC020801C bei Datenfluss Task, Oracle OLEDB Source [1]: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. Fehler beim Aufruf der AcquireConnection-Methode an den Verbindungs-Manager "OLEDB Provider" mit Fehlercode 0xC0202009. Möglicherweise wurden bereits Fehlermeldungen veröffentlicht, die weitere Informationen zum Fehler beim Aufrufen der AcquireConnection-Methode beinhalten.
Fehler: 0xC0047017 bei Datenfluss Vorgang, DTS. Pipeline: Komponente "Oracle OLEDB Source" (1) fehlgeschlagene Überprüfung und zurückgegebener Fehlercode 0xC020801C."
Ursache
Dies liegt daran, dass die Eigenschaft "Initial Catalog " in der Konfigurationsdatei vom Oracle-Anbieter 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 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 anfänglichen Katalog , wenn Sie die Konfigurationsdatei über den 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>