Foros del Web » Programación para mayores de 30 ;) » .NET »

LOAD DATA INFILE (Problemas con tildes)

Estas en el tema de LOAD DATA INFILE (Problemas con tildes) en el foro de .NET en Foros del Web. Hola. Con Visual Net logré importar archivos csv a una base de datos de MySQL. Mi problema es que si el nombre de la carpeta ...
  #1 (permalink)  
Antiguo 28/12/2012, 08:06
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años
Puntos: 3
LOAD DATA INFILE (Problemas con tildes)

Hola.

Con Visual Net logré importar archivos csv a una base de datos de MySQL. Mi problema es que si el nombre de la carpeta o archivo a importar contiene tildes me da error:

File 'C:\Timber\Bases\Temporales\Base de Datos - El Fogón (BASE).csv' not found (Errcode: 2)

En este ejemplo me da error por el tilde de la palabra Fogón. Si renombro el archivo y le sustituyo la ó por la o (sin tilde) funciona ok.

Código:
Comando.CommandText = "LOAD DATA INFILE '" & Replace(Camino & "\Temporales\" & Archivo, "\", "/") & " (BASE).csv' INTO TABLE timber.empresas FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\" & Chr(34) & "' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (maquina,pertenece,operario,cedula,validacion,vacio,establecimiento,cliente,especie,tareas,tratamiento,empresa)"
¿Hay alguna solución para poder importar con nombres de carpetas y/o archivos con tildes?

Desde yá muchas gracias por las respuestas.
Saludos
  #2 (permalink)  
Antiguo 28/12/2012, 10:25
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: LOAD DATA INFILE (Problemas con tildes)

Error. No es por el acento el problema, sino que tanto la ruta como el nombre del archivo deben quedar encerrados entre comillas, ya que el sistema no puede reconocer los espacios en blanco del nombre "Base de Datos - El Fogón (BASE).csv".
El error que te devuelve es producto del SO.
Por esa razón, habrás observado, muchos programas cuando generan backups le ponen rayas (_) donde están los espacios.

De todos modos, poner acentos en los nombres, no es buena práctica.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 11/01/2013, 16:20
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años
Puntos: 3
Respuesta: LOAD DATA INFILE (Problemas con tildes)

gnzsoloyo, gracias por responder.

En realidad el espacio no es el problema, sino que es el tilde. Esto lo afirmo porque lo he probado con espacios y funciona bien, pero si le agrego un tilde deja de funcionar.

Saludos
  #4 (permalink)  
Antiguo 11/01/2013, 16:42
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: LOAD DATA INFILE (Problemas con tildes)

Si dices que es el acento, entonces lo que tienes es un problema con el charset de la conexión.
Normalmente MySQL espera recibir utf8. Verifica eso.
Yo sigo sospechando de los espacios por la forma del mensaje de error:
Cita:
File 'C:\Timber\Bases\Temporales\Base de Datos - El Fogón (BASE).csv' not found (Errcode: 2)
En ese contexto el acento está, por lo que no debería tener problemas con eso.
De todos modos te cuento que usar nombres con acentos para los archivos y objetos de base de datos se considera una muy mala práctica, por los problemas de CHARSET que se pueden generar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: data, infile, load, net, sql, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:52.