Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/02/2006, 14:20
DexterLabs
 
Fecha de Ingreso: febrero-2006
Mensajes: 11
Antigüedad: 18 años, 2 meses
Puntos: 0
Me autorespondo para quienes tienen un problema similar... la verdad no pude ejecutar la instrucción IN de Sql que permite leer archivos externos, pero lo logre de otra forma, no es lo óptimo pero saca del paso y consiste en trabajar con archivos planos, me explico, generalmente los archivos planos exportados por otras BD permiten generar ciertas caracterízticas de ellos, por ejemplo permite separar las columnas con comas, punto y coma, etc... en el caso posterior se hizo con comas para delimitar las columnas y salto de linea para delimitar filas, quedando algo como esto:

nombre, apellido, edad, domicilio
nombre2, apellido2, edad2, domicilio2
nombre3, apellido3, edad3, domicilio3
...... y sucesivamente....

ahora para insertar todos los datos y no estar colocando un INSERT INTO para cada linea se ocupa la instrucción LOAD DATA LOCAL INFILE que permite ingresar un archivo plano completo a una BD, en éste caso MySql, quedando asi:

<?php
$direccion='direccion completa del archivo (ej: c:/basesdedatos/archivo.txt)';
$tabla='nombre_de_la_tabla_a_llenar';
$hostname_conexion = "localhost"; //Nombre del Host
$database_conexion = "test"; //Nombre de la BD
$username_conexion = "root"; //Perfil de conexión
$password_conexion = ""; //Contraseña
$conexion = mysql_pconnect($hostname_conexion, $username_conexion, $password_conexion) or die(mysql_error());
//mysql_select_db($database_conexion, $conexion);
$ssql = "LOAD DATA LOCAL INFILE '$direccion' INTO TABLE '$tabla' FIELDS
TERMINATED BY ',' (campo1,campo2,campo3)";
$result = mysql_query($ssql) or die(mysql_error());

//la instrucción TERMINATED BY define como separamos las columnas y por
//defecto es salto de linea...

PD: Creo k esta demás decir que la cantidad de columnas o campos de la BD debe ser igual a la cantidad de columnas de información de los archivos planos... Espero que les sirva...
?>