Foros del Web » Programando para Internet » PHP »

problemas al cargar mi bd desde un txt

Estas en el tema de problemas al cargar mi bd desde un txt en el foro de PHP en Foros del Web. buenas noches. tengo un pequeño problema al intentar cargar datos desde el contenido de un archivo tipo txt a mi bd. tengo entendido que para ...
  #1 (permalink)  
Antiguo 02/09/2009, 03:58
 
Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 14 años, 8 meses
Puntos: 0
problemas al cargar mi bd desde un txt

buenas noches.
tengo un pequeño problema al intentar cargar datos desde el contenido de un archivo tipo txt a mi bd.
tengo entendido que para usar el LOAD DATA INFILE requiero que mi usuario tenga privilegio FILE, cosa que no tiene. por ende me ha tocado trabajar con INSERT INTO,
el procedimiento lo hace, y carga algunos datos, pero no todos, y requiero cargar todos los registros.
hay veces toma el primer registro y lo carga y alli se detiene, otras veces toma 5 o 10 o 50 o 100, ha llegado a cargar mas de 1000 registros, pero ni archivo txt contiene mas de 3000 registros y requiero cargarlos todos en un solo paso, pues estar abriendo el archivo buscar el registro donde quedo la carga, borrar desde alli hacia atras y volver a hacer el procedimiento es cosa tediosa.

la verdad estoy urgido por resolver este inconveniente ya que tengo que entregar este script el dia de hoy.

les agradezco si me pueden colaborar, diciendome la causa de este problema y / o, en el mejor de los casos, la solucion.

gracias de antemano
  #2 (permalink)  
Antiguo 02/09/2009, 04:27
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: problemas al cargar mi bd desde un txt

Acuerdate que para ayudarte necesitamos ver lo que has hecho. Otra cosa te sugiero observar el archivo de texto cuando no graba. Verifica porque no esta grabando mirando el ultimo caracter que grabo. Tal vez encuentra un error cuando se encuentra ese caracter. Verifica que cualidad tiene esa linea en el texto que no tengan las demas.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 02/09/2009, 04:37
 
Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 14 años, 8 meses
Puntos: 0
Cita:
Iniciado por abimaelrc Ver Mensaje
Acuerdate que para ayudarte necesitamos ver lo que has hecho. Otra cosa te sugiero observar el archivo de texto cuando no graba. Verifica porque no esta grabando mirando el ultimo caracter que grabo. Tal vez encuentra un error cuando se encuentra ese caracter. Verifica que cualidad tiene esa linea en el texto que no tengan las demas.
gracias por contestar.
te cuento que no es problema del archivo, resulta que haciendo pruebas con un archivo con fecha (fecha es uno de los campos de mi bd) 2001-12-24 para poder identificarlo, el mismo archivo en veces me carga 1 registros, otras veces 500, otras 234, en fin, no lo hace bien.
no se si es problema con el servidor o que, pero me tiene bloqueado hace ya varios dias.

que opinas?

este es el codigo que estoy usando:

$lines = file("prueba.txt");
foreach ($lines as $line_num => $line) {
$datos = explode(";", $line);
echo $line;
echo $datos[0].'&nbsp;&nbsp;&nbsp;'.$datos[1].'&nbsp;&nbsp;&nbsp;'.$datos[2].'&nbsp;&nbsp;&nbsp;'.$datos[3].'&nbsp;&nbsp;&nbsp;'.$datos[4].'&nbsp;&nbsp;&nbsp;'.$datos[5].'&nbsp;&nbsp;&nbsp;'.$datos[6].'&nbsp;&nbsp;&nbsp;'.$datos[7].'&nbsp;&nbsp;&nbsp;'.$datos[8].'&nbsp;&nbsp;&nbsp;'.$datos[9].'&nbsp;&nbsp;&nbsp;'.$datos[10].'&nbsp;&nbsp;&nbsp;'.$datos[11].'&nbsp;&nbsp;&nbsp;'.$datos[12].'&nbsp;&nbsp;&nbsp;'.$datos[13].'&nbsp;&nbsp;&nbsp;'.$datos[14].'&nbsp;&nbsp;&nbsp;'.$datos[15].'<br/>';
$insertar="INSERT LOW_PRIORITY INTO procesos (Id, FechaP, ClaseJuzgado, Juzgado, Estado, TipoProceso, ClaseProceso, NoProceso, Demandado, Demandante, Actuacion, Observacion, Asignacion, FechaDigitacion, Exportado, Foto) VALUES ('$datos[0]','$datos[1]','$datos[2]','$datos[3]','$datos[4]','$datos[5]','$datos[6]','$datos[7]','$datos[9]','$datos[8]','$datos[10]','$datos[11]','$datos[12]','$datos[13]','$datos[14]','$datos[15]')";
mysql_query($insertar);
}

Última edición por GatorV; 02/09/2009 a las 08:29
  #4 (permalink)  
Antiguo 02/09/2009, 05:02
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: problemas al cargar mi bd desde un txt

Primero verifica si $lines trae toda la informacion
Código php:
Ver original
  1. print_r($lines);
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 02/09/2009, 05:12
 
Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problemas al cargar mi bd desde un txt

Cita:
Iniciado por abimaelrc Ver Mensaje
Primero verifica si $lines trae toda la informacion
Código php:
Ver original
  1. print_r($lines);
acabo de hacer el proceso y la primera pasada me cargo solo el registro 1:
[0] =>
lo volvi a hacer y me cargo :
[1628] =>

y el archivo contiene 3014 registros
  #6 (permalink)  
Antiguo 02/09/2009, 05:16
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: problemas al cargar mi bd desde un txt

¿Usando solamente esto te enseña un solo proceso?

Código PHP:
Ver original
  1. <?php
  2. $lines = file("prueba.txt");
  3. print_r($lines);

Usa solamente eso y me dejas saber. Sino vas a tener que usar los otro metodos de filesystem para poder lograr lo que quieres. Por ejemplo fread o fgets
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 02/09/2009, 06:55
 
Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problemas al cargar mi bd desde un txt

[QUOTE=abimaelrc;3067953]¿Usando solamente esto te enseña un solo proceso?

Código PHP:
Ver original
  1. <?php
  2. $lines = file("prueba.txt");
  3. print_r($lines);

disculpa, se me habia caido la internet

hice el proceso, como resultado del print_r me muestra la palabra Array,

pero ahora, cuando comienza a mostrarme los datos (por el echo que le tengo en el codigo), me muestra hasta cierto punto, luego que la barra de cargue se llena y aparece la palabra Listo en el explorador, continuan llegando datos y me muestra hasta el final del archivo, cosa que antes no estaba pasando.
realice el proceso dos veces. la primera vez me cargo 998 registros. entre por phpmyadmin y los borre y volvi a ejecutar el proceso, pasando lo mismo en el explorer, pero esta vez me cargo solo 55 registros

esto me esta enloqueciendo.

te agradezco cualquier ayudota.
  #8 (permalink)  
Antiguo 02/09/2009, 07:18
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: problemas al cargar mi bd desde un txt

Pero se supone que usandolo exactamente como te indique, te debe mostrar todos los registros.¿Si usas solamente lo que te indique te muestra todo?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 02/09/2009, 07:36
 
Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problemas al cargar mi bd desde un txt

sip. Me muestra hasta el ultimo registro
([0] => ;2001-12-24;01;001;121;;;0900315;BDO. GARAY Q.;COPROCENVA;SENTENCIA PRIMERA;;;2001-12-24;NO;
...
[3013] => ;2001-12-24;07;005;;;;;;;;Y S E X T O NO HUBO ESTADOS;;2001-12-24;NO; )
  #10 (permalink)  
Antiguo 02/09/2009, 07:38
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: problemas al cargar mi bd desde un txt

Ok pues hay una linea que estas ingresando algun dato que el insert no lo interpreta correctamente. Cuando te encuentres en esas lineas te sugiero verificarla y mira que dato tiene que los demas no tenga.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 02/09/2009, 07:49
 
Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problemas al cargar mi bd desde un txt

Cita:
Iniciado por abimaelrc Ver Mensaje
Ok pues hay una linea que estas ingresando algun dato que el insert no lo interpreta correctamente. Cuando te encuentres en esas lineas te sugiero verificarla y mira que dato tiene que los demas no tenga.
Pues he ahi mi gran problema.
estoy haciendo pruebas con el mismo archivo.
lo cargo una vez y me inserta 55 lineas, otras veces me inserta 998, otras veces una, y asi, al parecer no es por problemas de error en las lineas, o en el registro, pues si asi fuera, siempre se saltaria en el mismo registro.

para mi que es problema de server, o de trafico.

la pregunta del millon.
hay alguna forma para forzar a mysql a que lo termine de insertar.

y otra perlita.

si hago el insert desde phpMyAdmin, me carga el archivo completo.
  #12 (permalink)  
Antiguo 02/09/2009, 07:52
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: problemas al cargar mi bd desde un txt

¿Una linea de texto como la tienes declarada en el archivo?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #13 (permalink)  
Antiguo 02/09/2009, 07:58
 
Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 14 años, 8 meses
Puntos: 0
le digo que cargue todo el archivo, y lo hace perfectamente.
por la opcion importar de phpMyAdmin

voy a hacer la prueba con una sola linea directamente con el editor sql a ver que pasa

pues me da un error de sintaxis SQL. me imagino que por el formato de fecha.
sera que hay que colocarle los comodines %...%?

Última edición por GatorV; 02/09/2009 a las 08:29
  #14 (permalink)  
Antiguo 02/09/2009, 08:12
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: problemas al cargar mi bd desde un txt

Pero en los datos que enviaste las fechas estan bien declaradas, acuerdate encerrar entre comillas las fechas, ¿como declaraste la columna de fecha en la base de datos?.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #15 (permalink)  
Antiguo 02/09/2009, 08:35
 
Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 14 años, 8 meses
Puntos: 0
estan declaradas como date

oye. muchas gracias por la ayuda.
tengo que salir para la oficina a entregar.
por si cualquier cosa, me podrias ayudar con el codigo para intentarlo cargar desde un fread o fgets
te lo agradeceria.
hablamos mas tarde
de nuevo gracias por tu colaboracion

Última edición por GatorV; 02/09/2009 a las 09:33
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 10:01.