Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/03/2015, 18:23
jolquera
 
Fecha de Ingreso: diciembre-2014
Mensajes: 60
Antigüedad: 9 años, 5 meses
Puntos: 1
Respuesta: De postgress a mysli

Basicamente tengo un archivo de texto con esto...

no_serie|fec_inicial_cert|fec_final_cert|RFC|edo_c ertificado
00001000000000066868|2005-01-06 01:56:24|2005-01-06 17:29:15|MOVR711205IN2|R
00001000000000066877|2005-01-06 15:05:30|2006-01-06 15:05:30|TURJ510120V3A|C
00001000000000066969|2005-01-06 16:18:35|2006-01-06 16:18:35|SIC990723JV0|C
00001000000000067589|2005-01-06 21:18:56|2006-01-06 21:18:56|RILA340125FH4|C
00001000000000067821|2005-01-06 23:25:04|2006-01-06 23:25:04|VEAJ490919V48|C
00001000000000067914|2005-01-07 14:31:41|2006-01-07 14:31:41|MAGE5908257M8|C
00001000000000068259|2005-01-07 17:53:47|2006-01-07 17:53:47|FGU830930PD3|C

Y quiero subirlo a la bd a los campos...

no_serie
fec_inicial_cert
fec_final_cert
RFC
edo_certificado

Este es mi codigo....

require_once "global.php";
$pg=$conn->_connectionID; // Directa a postgresql para COPY rapido
$path = $_SERVER['argv'][1];
$csd = $path."/".$_SERVER['argv'][2];

$gestor = fopen($csd, "r");
$primero=true; $cant=0;
if ($gestor) {
while (!feof($gestor)) {
$bufer = fgets($gestor, 4096);
if ($cant%10000==0) echo ".";
if ($primero) {
# Se ignora el primer registro porque son los encabezados
# pero ademas sirve para borrar el contenido actual de las tablas
mysqli_query($mysqli,"TRUNCATE TABLE cfdcsd");
$primero=false;
$sql = "INSERT INTO cfdcsd (no_serie,fec_inicial_cert,fec_final_cert,RFC,edo_ certificado) VALUES ";
//pg_query($pg, "copy cfdcsd from stdin with delimiter '|' null as ''");
} else {
$bufer=trim($bufer);
$l=strlen($bufer);
if ($l>=5) {
$cant++;
if (substr($bufer,-1)=="|")
$bufer=substr($bufer,0,$l-1);
//pg_put_line($pg, $bufer."\n");
$sql .= "('$p1','$p2'),";
} // size 5
} // Primero
} // While
pg_put_line($pg, "\\.\n");
pg_end_copy($pg);
fclose ($gestor);
mysqli_query($mysqli, $sql);
} // gestor
echo "\nCantidad de CSD=$cant\n";
$refe = "'".date(DATE_RSS)."'";
$conn->replace("document", array('docurefe'=>$refe, 'docucvsi'=>6,'docutire'=>"'CARGASAT'",'docunuli'= >11),
array('docucvsi','docutire','docunuli')
);
exit(0);
?>

Última edición por jolquera; 13/03/2015 a las 18:40