PRB: Asistente para DTS puede no detectar tipo de columna de Excel para datos mixtos en SQL Server

Seleccione idioma Seleccione idioma
Id. de artículo: 236605 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Cuando utilice el Asistente para importación de servicios de transformación de datos (DTS) de Microsoft SQL Server para importar datos desde una hoja de cálculo de Microsoft Excel, si una columna de texto contiene datos que se puede interpretar como datos mezclados (por ejemplo, caracteres alfanuméricos que representan datos hexadecimales), las filas de pocas iniciales determinan el tipo de datos real utiliza y las filas subsiguientes pueden transferirse como NULL. DTS no proporciona un mensaje de advertencia para indicar que no pueden transferir algunas filas.

Nota Si utiliza SQL Server 2005, utilizar el asistente la SQL Server para importar y exportar para realizar la transformación de datos.

Causa

Este comportamiento es por diseño para el ISAM de Excel. Las 8 primeras filas determinar el tipo de datos de la columna. Por ejemplo, si la mayoría de las 8 primeras filas contienen caracteres numéricos, el tipo de datos de la columna es un número. Todos los valores siguientes que no caben ese tipo de datos se devuelven como NULL.

Solución

Una solución es guardar la hoja de Excel como un archivo de texto y, a continuación, utilice al Asistente para DTS para importar el archivo en SQL Server.

Más información

Pasos para reproducir el comportamiento

Por ejemplo, cree la siguiente hoja de cálculo en Excel:
Contraer esta tablaAmpliar esta tabla
DecimalHex
11
22
33
44
55
66
77
88
99
10UN
11B
12C
13D
14E
15F
La primera columna que tiene formato general "Decimal" y la segunda columna "HEX" tiene formato de texto.

Si carga esta tabla desde Excel en SQL Server mediante el Asistente para DTS, las filas 10 a 15 (valores a la F) son NULL al cargar en una tabla SQL (la columna HEX formato como texto en el libro, pero DTS facilita un tipo float ya que detecta la columna de origen como DBTYPE_R8).

Referencias

Para obtener más información, vea el tema de "Servicios de transformación de datos de SQL Server" en los libros en pantalla de SQL Server.

Propiedades

Id. de artículo: 236605 - Última revisión: jueves, 22 de febrero de 2007 - Versión: 6.3
La información de este artículo se refiere a:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft Excel 97 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Palabras clave: 
kbmt kbdatabase kbprb KB236605 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 236605

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com