Compartir a través de


DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER cuando se usa el administrador de conexiones de Oracle

Este artículo le ayuda a resolver el problema que se produce al usar el administrador de conexiones de Oracle.

Versión del producto original: SQL Server
Número de KB original: 2009312

Síntomas

Tenga en cuenta el siguiente escenario para SQL Server:

  • Diseñe un paquete de SQL Server Integration Services (SSIS) mediante Business Intelligence Development Studio (BIDS).
  • En el paquete, se conecta a un servidor de Oracle mediante un proveedor OLEDB para Oracle y se usa el cliente de Oracle 10G o 11G.
  • Use el archivo de configuración del paquete para establecer todas las propiedades de conexión de la conexión de Oracle en tiempo de ejecución.

En este escenario, si ejecuta el paquete desde BIDS, recibirá el siguiente mensaje de error.

"Error: 0xC0202009 en Package, Connection manager "OLEDB Provider": código de error de SSIS DTS_E_OLEDBERROR. Error de OLE DB. Código de error: 0x80040E21.

Hay un registro OLE DB disponible. Origen: "Microsoft OLE DB Service Components" Hresult: 0x80040E21 Description: "Multiple-step OLE DB operation generated errors. Compruebe los valores de estado de OLE DB si es posible. No se realizó ningún trabajo".

Error: 0xC020801C en la tarea Flujo de datos, origen OLEDB de Oracle [1]: código de error de SSIS DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. Error en la llamada del método AcquireConnection al administrador de conexiones "Proveedor OLEDB" con código de error 0xC0202009. Puede que haya otros mensajes de error expuestos anteriores a éste con más información sobre el motivo del error del método AcquireConnection.

Error: 0xC0047017 en la tarea Flujo de datos, DTS. Canalización: el componente "Origen OLEDB de Oracle" (1) produjo un error en la validación y devolvió el código de error 0xC020801C".

Causa

Esto se debe a que el proveedor de Oracle no reconoce la propiedad Catálogo inicial en el archivo de configuración. Esto está en blanco para el administrador de conexiones de Oracle en el archivo de configuración.

Por ejemplo, el siguiente archivo de configuración XML se genera cuando se usa BIDS para crear un paquete SSIS que se conecta a un servidor oracle:

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

Solución

Quite la casilla del catálogo inicial al crear o editar el archivo de configuración a través del Diseñador BIDS.

Por ejemplo, la versión fija del archivo de configuración de ejemplo que se muestra en la sección Causa será la siguiente:

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

Más información

Limitaciones conocidas del proveedor OLE DB para ODBC