Microsoft distribuye las correcciones de Microsoft SQL Server 2008 como un archivo descargable. Dado que las correcciones son acumulativas, cada nueva versión contiene todas las revisiones y correcciones de seguridad que se incluyeron con la versión de corrección de SQL Server 2008 anterior.
Síntomas
Crea o edita un paquete de Microsoft SQL Server 2008 Integration Services (SSIS) en Business Intelligence Development Studio (BIDS). Edita un origen OLE DB en una tarea de Data Flow. Al hacer clic en la pestaña Columnas , recibe el siguiente mensaje de error:
Nota
TÍTULO: Microsoft Visual Studio
Error en Data Flow tarea [OLE DB Source [1]]: Código de error SSIS DTS_E_OLEDBERROR. Error OLE DB. Código de error: 0x80040E21.
INFORMACIÓN ADICIONAL:
Excepción de HRESULT: 0xC0202009 (Microsoft.SqlServer.DTSPipelineWrap)
Nota El código de error DTS_E_OLEDBERROR tiene muchas causas. En este artículo solo se describe un problema poco frecuente que tiene una causa específica. Para asegurarse de que el problema está produciéndose, consulte la sección "Más información" para encontrar un método de solución de problemas.
Nota: Este problema no se produce en SQL Server 2005.
Causa
En SQL Server 2008 SSIS, una comprobación específica determina si los identificadores utilizados por un proveedor OLE DB distinguen mayúsculas de minúsculas. Esta comprobación permite que SSIS siga la distinción entre mayúsculas y minúsculas definida por una configuración de proveedor OLE DB cuando SSIS muestra nombres de objetos, de tabla y de columnas. Esta comprobación se realiza mediante la implementación de una propiedad OLE DB denominada DBPROP_IDENTIFIERCASE. Sin embargo, no todos los proveedores de OLE DB admiten e implementan esta propiedad. Si la propiedad no se implementa, puede ocurrir un error en el BIDS.
Resolución
Información sobre la actualización acumulativa
La versión de lanzamiento de SQL Server 2008
Importante: Debe instalar este paquete de actualización acumulativa si su equipo ejecuta la versión de lanzamiento de SQL Server 2008.
La corrección de este problema se publicó por primera vez en la actualización acumulativa 5. Para obtener más información acerca de cómo obtener este paquete de actualizaciones acumulativas para SQL Server 2008, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
969531 paquete de actualización acumulativa 5 para SQL Server 2008Nota: Dado que las compilaciones son acumulativas, cada nueva corrección contiene todas las revisiones y correcciones de seguridad que se incluyeron con la versión de corrección anterior de SQL Server 2008. Recomendamos que se plantee la posibilidad de aplicar la versión de corrección más reciente que contiene esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
956909 Compilaciones de SQL Server 2008 se publicaron después de SQL Server 2008
SQL Server 2008 Service Pack 1
Importante: Debe instalar este paquete de actualización acumulativa si su equipo ejecuta SQL Server 2008 Service Pack 1.
La corrección para este problema también se publicó más adelante en la actualización acumulativa 3 para SQL Server 2008 Service Pack 1. Para obtener más información acerca de este paquete de actualizaciones acumulativas, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
971491 paquete de actualización acumulativa 3 para SQL Server 2008 Service Pack 1Nota Dado que las compilaciones son acumulativas, cada nueva corrección contiene todas las revisiones y correcciones de seguridad que se incluyeron con la versión de corrección anterior de SQL Server 2008. Microsoft recomienda que se plantee la posibilidad de aplicar la versión de corrección más reciente que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
970365 Compilaciones de SQL Server 2008 que se publicaron después de SQL Server 2008 Service Pack 1
Las revisiones de Microsoft SQL Server 2008 se crean para Service Pack de SQL Server específicos. Debe aplicar una revisión de SQL Server 2008 Service Pack 1 a una instalación de SQL Server 2008 Service Pack 1. De forma predeterminada, cualquier revisión que se proporcione en un Service Pack de SQL Server se incluye en el siguiente Service Pack de SQL Server.
Esta revisión cambia el comportamiento del origen OLE DB en SSIS para solicitar la propiedad DBPROP_IDENTIFIERCASE. Después de aplicar esta corrección, SSIS omite el error de la propiedad DBPROP_IDENTIFIERCASE. En su lugar, SSIS utiliza un valor predeterminado para los identificadores. Después de aplicar esta revisión, si el proveedor OLE DB no implementa la propiedad, los identificadores distinguen mayúsculas de minúsculas de manera predeterminada.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".
Más información
Solución de problemas
Para asegurarse de que se produce este problema, siga estos pasos:
- Descargue e instale la herramienta de ejemplo de Visor de conjuntos de filas de OLE DB. Para obtener más información al respecto, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
https://msdn.microsoft.com/library/ms714336(vs.85).aspx - Inicie el Visor de conjuntos de filas.
- En el menú Archivo , haga clic en Conexión completa.
- Seleccione el proveedor, el origen, el inicio de sesión y los demás atributos de la cadena de conexión. A continuación, haga clic en Aceptar.
- Cuando la conexión se haya completado correctamente, en el menú DataSource , seleccione IDBPProperties y haga clic en GetProperties.
- En la lista PropSet , seleccione DBPROPSET_DATASOURCEINFO.
Si la propiedad DBPROP_IDENTIFIERCASE no aparece como una propiedad disponible, o si la propiedad DBPROP_IDENTIFIERCASE tiene un signo de interrogación verde junto a la propiedad, el proveedor no admite esta propiedad. En esta situación, encontrará el problema que se describe en la sección "Síntomas".
Pasos para reproducir el problema
- En SQL Server 2008 BIDS, cree un nuevo paquete SSIS.
- Agregue una tarea de Data Flow al paquete.
- Agregue un componente de origen OLE DB en la tarea Data Flow.
- Configure Administrador de conexiones para usar un proveedor OLE DB que no admita la propiedad DBPROP_IDENTIFIERCASE.
- Seleccione una tabla, una vista o un comando SQL y, a continuación, proporcione el nombre de objeto o el comando SQL necesarios.
- En el panel izquierdo, haga clic en la pestaña Columnas .
Aparece el mensaje de error que se describe en la sección "Síntomas".
Referencias
Para obtener más información acerca de la propiedad DBPROP_IDENTIFIERCASE, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
https://msdn.microsoft.com/library/ms713637(vs.85).aspx Para obtener más información sobre el método IDBProperties::GetProperties que se usa para consultar el valor de propiedad, visite el siguiente sitio web de Microsoft:
https://msdn.microsoft.com/library/ms714344(vs.85).aspxPara obtener más información acerca del modelo de servicio incremental para SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
935897 Un modelo de servicio incremental está disponible en el equipo de SQL Server para entregar revisiones para problemas detectados
Para obtener más información acerca del esquema de nomenclatura de las actualizaciones de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
822499 Nuevo esquema de nomenclatura de los paquetes de actualizaciones de software de Microsoft SQL Server Para obtener más información acerca de la terminología relativa a las actualizaciones de software de Microsoft, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684 Descripción de la terminología estándar que se usa para describir las actualizaciones de software de Microsoft