Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problema al subir csv

Estas en el tema de Problema al subir csv en el foro de Mysql en Foros del Web. Hola, tengo un problema al cargar un csv se me genera bien en el archivo temporal pero no me sube ningun dato a la sql. ...
  #1 (permalink)  
Antiguo 30/03/2011, 05:15
 
Fecha de Ingreso: marzo-2011
Mensajes: 45
Antigüedad: 13 años, 1 mes
Puntos: 0
Problema al subir csv

Hola, tengo un problema al cargar un csv se me genera bien en el archivo temporal pero no me sube ningun dato a la sql.

$dc->consultaSimple('LOAD DATA INFILE \'csvs/temporal.csv\' REPLACE INTO TABLE `chat_categoria` FIELDS TERMINATED BY \',\' LINES TERMINATED BY \'\\n\' IGNORE 1 LINES (cabecera,nombre,friendly,imagen,destacada) SET padre='.$catid.', descripcion=null');

a ver si me echais una mano. estaria bien esto? he leido que podria ser problema de permisos.... pero por mas que veo no veo nada.
  #2 (permalink)  
Antiguo 30/03/2011, 05:47
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: Problema al subir csv

Para usar LOAD DATA requieres permisos de FILE, que los hosting no suelen dar porque implica permitir a los usuarios poner en el servidor cualquier cosa sin supervisión, incluyendo ejecutables.
Además, si el archivo no está en el servidor, sino en tu PC, debes usar LOAD DATA LOCAL y poner una ruta absoluta (una genérica buscará el CSV en la carpeta de binarios de MyQSL).
__________________
¿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 30/03/2011, 06:43
 
Fecha de Ingreso: marzo-2011
Mensajes: 45
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Problema al subir csv

muchas gracias por contestar, lo de dar permisos al file a que te refieres.

en el pc de casa, si me funciona pero en el host no, pero eso de los permisos lo desconozco
  #4 (permalink)  
Antiguo 30/03/2011, 06:58
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: Problema al subir csv

Los permisos son precisamente eso: Permisos o privilegios que un usuario tiene en un determinado sistema (no todos los usuarios pueden hacer todo).
Cuando se trata de servidores web + servidores de bases de datos, hay dos niveles de usuarios distintos: Los del servidor web y los de la base de datos.
Tu puedes tener un usuario con totales privilegios en el servidor web, son privilegios de usuario de sistema operativo,como los tienes en tu PC, pero puedes ser un usuario de la base tal que sólo puedas ver una única tabla en toda la base, y sólo leerla y no escribir nada en ella. Esos se denominan privilegios de usuario de base de datos.
Cuando los administradores del servidor de bases de datos crean un usuario, le tienen que dar los privilegios para usarla, sin lo cual ni siquiera puede mirar las tablas. Pero lo que los administrdores de bases compartidas no suelen dar son tres privilegios: 1) Crear usuarios nuevos, 2) Crear bases de datos y 3) Acceder a las carpetas físicas del servidor.
El problema es que el LOAD DATA envía una petición que MySQL debe transferir al sistema operativo: leer un archivo en la carpeta del disco donde está corriendo, y eso es un privilegio que no suele darse a los usuarios de hosting, por lo que si el servicio que contrataste no te dio un usuario con privilegios de FILE, no podrás ejecutar el LOAD DATA, ni en local ni en remoto.

Tip: El tema de los privilegios de usuario es MUY importante en las bases de datos. Trata de leer sobre ese asunto, especialmente en el manual de referencia.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 30/03/2011, 08:45
 
Fecha de Ingreso: marzo-2011
Mensajes: 45
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Problema al subir csv

gracias por contestar, he estado viendo eso y si tienes razon, no hay privilegios pero lo del grant la verdad se me ha complicado desconocia esto por completo y la verdad no se como seguir, seguire leyendo a ver si me entero de algo.
  #6 (permalink)  
Antiguo 30/03/2011, 08:59
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: Problema al subir csv

La administración de usuarios en un servicio de hosting no la haces tu, por lo que en ese aspecto no te tienes que preocupar. L oque si deberías hacer es comunicarte con los que proveen el servicio de hosting para que te indiquen cómo se puede hacer lo que quieres.
ten en cuenta que ellos deben haber tenido antes problemas similares con otro usuario, y es muy probable que tengan un modo de manejarlo.
Respecto a lo que puedas hacer en tu propia PC, eso es otro asunto. En ese caso te conviene aprender por lo menos lo básico de los permisos.

Y un consejo: Nunca, NUNCA borres o cambies los privilegios del usuario root. Es crítico y es el DBA supremo de tu MySQL. Sin ese, reiniciarlo es un verdadero dolor de cabeza.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 30/03/2011, 09:09
 
Fecha de Ingreso: marzo-2011
Mensajes: 45
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Problema al subir csv

Lamentablemente en este caso si la hago yo la gestion ya que es un servidor dedicado.

Leere con calma para aprender como se maneja esto ya que en mi caso todos los servidores que tengo usan panel plesk y ahi no queda otra por lo que veo que aprender.... si fuera cpanel seria otro cantar.

Etiquetas: csv
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 08:40.