Foros del Web » Programando para Internet » PHP »

Como exportar un millon de registros o mas a csv o txt

Estas en el tema de Como exportar un millon de registros o mas a csv o txt en el foro de PHP en Foros del Web. hola amigos, tengo una aplicacion creada con PHP y exporto a csv y txt pero el problema es cuando quiero exportar un millon de registros ...
  #1 (permalink)  
Antiguo 28/09/2015, 19:50
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Como exportar un millon de registros o mas a csv o txt

hola amigos, tengo una aplicacion creada con PHP y exporto a csv y txt pero el problema es cuando quiero exportar un millon de registros obtengo 500 inernal server error (cuando exporto menos datos la aplicacion la hace sin problemas)
  #2 (permalink)  
Antiguo 28/09/2015, 20:25
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Como exportar un millon de registros o mas a csv o txt

hola amiguito,
para este tipo aplicaciones tienes que genrar varios archivos txt o csv
si el archivo es muy pesado, mas de 15mb de un excel no lo abre del todo bien
es como generar un pdf de 100mb. se puede pero no hay programa que lo habra por ser tan pesado.
  #3 (permalink)  
Antiguo 28/09/2015, 21:30
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: Como exportar un millon de registros o mas a csv o txt

Un Error 500 Internal Error, no es un error de PHP. de generación de archivos ni nada parecido. Es un error en el servidor Web, indeterminado. El sistema te Está diciendo que ha habido un error, pero no puede ser más específico.
El fallo es usual ante procesos que generan algún tipo de bloqueo de espera, y no se resuelve programaticamente. Es que el proceso no está bien planeado.
Muy probablemente este causado por un exceso de escritura en disco, dado el tipo de exportación que intentas.
¿Por qué exportas tantos registros a un archivo plano?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 29/09/2015, 07:46
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: Como exportar un millon de registros o mas a csv o txt

explico un poco la situación: en campo se tienen sensores que envia datos cada 10 segundos, estos datos se guardan en una base de datos mysql me solicitaron que desde la aplicacion se pueda descargar todos los datos en archivo plano ya que este sirve como entrada a otras aplicaciones las cuales no tienen conexion a bases de datos.

que me recomiendan? exportar desde la base?
  #5 (permalink)  
Antiguo 29/09/2015, 07:54
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: Como exportar un millon de registros o mas a csv o txt

Exportar desde la base, si es MySQL, es más simple... Especialmente cuando se trata de CSV.
Un simple podría ser suficiente...

Respecto al Error 500, te paso la descripción de lo que te explciaba:
Cita:
Errores 500 en el ciclo HTTP

Cualquier cliente (por ejemplo, su navegador web o nuestro robot CheckUpDown) sigue el siguiente ciclo cuando se comunica con el servidor web:

Obtiene una dirección IP del nombre IP del sitio (la URL del sitio sin el encabezado "http://"). Esta búsqueda (la conversión del nombre IP a dirección IP) es provista por los servidores de nombre de dominio (DNS).
Abre una conexión de socket IP hacia esa dirección IP.
Escribe un flujo de datos HTTP a través de ese socket.
Recibe un flujo de datos HTTP en respuesta desde el servidor web. Este flujo de datos contiene códigos de estado cuyos valores son determinados por el protocolo HTTP. Analiza este flujo de datos en busca de códigos de estado y otra información útil.

Este error ocurre en el paso final mencionado arriba cuando el cliente recibe un código de estado HTTP que reconoce como "500".
Vale decir, es un problema de retorno de datos, posiblemente por escribir masivamente en el flujo de datos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 29/09/2015, 17:13
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 6 meses
Puntos: 38
Respuesta: Como exportar un millon de registros o mas a csv o txt

Solo como apunte , yo miraría el error-log del apache a ver si te da mas pistas de que sucede , también me huele a que superas el máximo de tiempo de.ejecución por defecto es de unos 30 seg ,que viene configurado en el php.ini ,luego intenta usar: set_time_limit(0); que anulas el máximo y en el mismo script por ejemplo a ver que pasa !

Saludos suerte!!B

Etiquetas: csv, registro, registros, txt
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 09:51.