Udostępnij za pośrednictwem


DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER podczas korzystania z menedżera połączeń Oracle

Ten artykuł ułatwia rozwiązanie problemu występującego podczas korzystania z menedżera połączeń Oracle.

Oryginalna wersja produktu: SQL Server
Oryginalny numer KB: 2009312

Symptomy

Rozważmy następujący scenariusz dla dowolnego z programów SQL Server:

  • Projektujesz pakiet usług SQL Server Integration Services (SSIS) przy użyciu programu Business Intelligence Development Studio (BIDS).
  • W pakiecie nawiąż połączenie z serwerem Oracle przy użyciu dostawcy OLEDB dla oracle i użyjesz klienta Oracle 10G lub 11G.
  • Plik konfiguracji pakietu służy do ustawiania wszystkich właściwości połączenia dla połączenia Oracle w czasie wykonywania.

W tym scenariuszu, jeśli pakiet zostanie wykonany z usługi BIDS, zostanie wyświetlony następujący komunikat o błędzie

"Błąd: 0xC0202009 w oknie Package, Menedżer połączeń "DOSTAWCA OLEDB": kod błędu usługi SSIS DTS_E_OLEDBERROR. Wystąpił błąd OLE DB. Kod błędu: 0x80040E21.

Dostępny jest rekord OLE DB. Źródło: "Microsoft OLE DB Service Components" Hresult: 0x80040E21 Description: "Wiele kroków operacja OLE DB wygenerowała błędy. Sprawdź każdą wartość stanu OLE DB, jeśli jest dostępna. Nie wykonano żadnej pracy".

Błąd: 0xC020801C w Przepływ danych Task, Oracle OLEDB Source [1]: kod błędu SSIS DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. Wywołanie metody AcquireConnection do menedżera połączeń "DOSTAWCA OLEDB" nie powiodło się z kodem błędu 0xC0202009. Przed tym mogą pojawić się komunikaty o błędach, aby uzyskać więcej informacji o tym, dlaczego wywołanie metody AcquireConnection nie powiodło się.

Błąd: 0xC0047017 w Przepływ danych Task, DTS. Potok: składnik "Źródło Oracle OLEDB" (1) zakończył się niepowodzeniem weryfikacji i zwrócił kod błędu 0xC020801C".

Przyczyna

Wynika to z faktu, że właściwość Katalogu początkowego w pliku konfiguracji nie jest rozpoznawana przez dostawcę Oracle. Jest to puste dla menedżera połączeń Oracle w pliku konfiguracji.

Na przykład następujący plik konfiguracji XML jest generowany podczas tworzenia pakietu usług SSIS łączącego się z serwerem Oracle za pomocą usługi BIDS:

<?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>

Rozwiązanie

Usuń pole wyboru katalogu początkowego podczas tworzenia lub edytowania pliku konfiguracji za pośrednictwem projektanta BIDS.

Na przykład stała wersja przykładowego pliku konfiguracji pokazanego w sekcji Przyczyna będzie następująca:

<?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>

Więcej informacji

Znane ograniczenia dostawcy OLE DB dla ODBC