Problemas al exportar de excel a sql

La pregunta es porque al realizar el import de excel a sql 2000, hay una columna que tiene datos mixtos, char y numéricos, al momento de importar dicha columna me deja solo los datos numéricos y los char me los pone nulos. Consultando en internet encontré lo siguiente: (tampoco funciono)
Para el que este interesado, ya encontré la solución. En el registry
Hkey_Local_Machine/Software/Microsoft/Jet/4.0/Engines/Excel/TypeGuessRows
Hkey_Local_Machine/Software/Microsoft/Jet/4.0/Engines/Excel/ImportMixedTypes
TypeGuessRows = 0 Para que escanee toda la columna antes de escoger un
tipo de dato.
ImportMixedTypes= 'Text' Para que importe las columnas mixtas como texto
Después de hacer los cambios NO FUNCIONO.

1 respuesta

Respuesta
1
Se me hace raro que no te haya funcionado eso.
Pon en tu cadena de conexión al archivo de exel la propiedad IMEX=1
ejemplo:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\tuarchivo.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'
Puedes ver más información en este link
Si no te funciona avisame para buscar que otra cosa puede ser.
Estoy utilizando el asistente para importar y exportar con Enterprise Manager, trate de cambiar nuevamente la columna en mi archivo de excel le puse tipo de datos text, por lo que no tengo una cadena.
Y aun no pasa nada sigue convirtiendo los campos en null.
Gracias por tu ayuda!
Se que sonara medio raro... pero copia tus celdas con datos (ya con la columna como texto) y pégalos en un nuevo archivo de excel y has la prueba con ese.
Por otro lado verifica que el tamaño de la columna donde vas a importar los datos sea de mayor tamaño que la de excel y que el tipo de dato se pueda convertir implícitamente al que esta en la bd. En este link podrás ver una tabla donde vienen las conversiones que puedes hacer (que sql hace implícitamente).
También puede sonar raro, abrí una nuevo archivo de excel, tipos de datos en formatear celdas los puse texto, copie y pegue los datos del archivo anterior y ahora reconoce los text como EDIFICIOS, pero me pone nulos los números,
PERFIL-> este es el nombre de la columna
EDIFICIOS -> primer campo
null -> segundo campo
null -> tercer campo
null -> cuarto campo
DATASHOW -> quinto campo
EQCOMP_CPU -> sexto campo
4010300 etc
4010400
4010500
4010600
4010800
4140300
4140400...
Gracias por tu ayuda!
Gracias experto!
Tu ayuda me sirvió aunque la solución fue la siguiente:
1. El formato de las celdas en la hoja de excel no fue como texto sino general
2. IMEX=1 Como no tengo una cadena, creando un paquete con el DTS, me dio la opción para agregar Imex.
3. En el regedit el typeguessRows debe ser cero.
Hkey_Local_Machine/Software/Microsoft/Jet/4.0/Engines/Excel/TypeGuessRows
Hkey_Local_Machine/Software/Microsoft/Jet/4.0/Engines/Excel/ImportMixedTypes
TypeGuessRows = 0
4. En esta página encontré gran parte de la solución ademas de la ayuda del experto por supuesto.
http://www.sqldts.com/254.aspx

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas