MySQL - Cargar datos a tabla MYSQL desde archivo TXT

 
Vista:

Cargar datos a tabla MYSQL desde archivo TXT

Publicado por German (1 intervención) el 06/11/2008 17:18:56
Tengo que desarrollar un script que me carge datos a una tabla MYSQL, desde un archivo de texto, pero tengo algunos incovenientes que no logro resolver.
La coneccion se realiza correctamente; porque antes creo la tabla de datos, con las especificaciones indicadas abajo.
a) Cuando cargo el archivo TXT mencionado, se va por el mensaje de:
"No se ha podido actualizar los datos del archivo EXIPRO.TXT en la tabla EXIPRO."
B) Sera que la definicion de la tabla es incorrecta.
c) Sera porque los datos del txt no corresponden a la estructura de la tabla.

Otra duda cuando el valor lleva signo (+ o -) en un valor ¿como debe ir en el archivo txt? 000015- 000015+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?
//Coneccion a Base de Datos
$db=mysql_connect('localhost', 'abc', 'xxx') or die(mysql_error());
//ubicacion archivo txt
$textfile="/programas/archivos/EXIPRO.TXT";
//Tabla de Datos
$table="EXIPRO";
if($textfile != "none")
{
  $query="LOAD DATA LOCAL INFILE $textfile INTO TABLE $table";
  if (@mysql_query($query, $db))
  {
    echo "Loas datos de han actualizado correctamente en la tabla $table";
  }
  else
  {
    echo "No se ha podido actualizar los datos del archivo $textfile en la tabla $table";
  }
}
else
{
  echo "No se actualizaron los datos, posiblemente el tamaño del archivo es mayor o igual a 2 MB";
}
?>
si la deficion de la tabla EXIPRO es:
-------------------------------------
create table EXIPRO (
RUBRO_P INT(2) NOT NULL,
SUBRUB_P INT(2) NOT NULL,
CODPRO_P VARCHAR(15) NOT NULL,
NOMBRE_P VARCHAR(40) NOT NULL,
TIPPRO_P CHAR(1) DEFAULT NULL,
PREVUS_P DECIMAL(6,2) DEFAULT NULL,
GENNAB_P VARCHAR(4) DEFAULT NULL,
UNIDAD_P VARCHAR(2) DEFAULT NULL,
UNIDADB_P VARCHAR(2) DEFAULT NULL,
UNIUNIB_P DECIMAL(3,1) DEFAULT NULL,
SALDO_P SMALLINT(6) DEFAULT NULL,
PRIMARY KEY(CODPRO_P)) TYPE=MyISAM;

EXIPRO.TXT
----------
92;20;0;Flete y Embalaje;N;00000000; ;UN;UN;0010;000705+;
27;14;0-0;ABRAZADERA 07-11mm.;M;00000000; ;CA;UN;1000;000015-;
27;14;0-1;ABRAZADERA 10-15mm.;M;00000000; ;CA;UN;0500;000151+;
99;11;0002-R1483A;CORREA ALT.KANGOO DIESEL;D;00000000; ;UN;UN;0010;000000+;
35;03;09.1801;GUANTERA "ADAPTABLE"SUP.DER.TABLER.60-75;D;00000000; ;UN;UN;0010;000000+;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder