Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consultar BD Externas con MySql o MsSql

Estas en el tema de Consultar BD Externas con MySql o MsSql en el foro de Mysql en Foros del Web. Hola a todos... tengo soberano problem y es sobre consultar datos desde MsSql o MySql a Bases de datos externas (*.mdb), por lo que se ...
  #1 (permalink)  
Antiguo 20/02/2006, 10:25
 
Fecha de Ingreso: febrero-2006
Mensajes: 11
Antigüedad: 18 años, 2 meses
Puntos: 0
Exclamación Consultar BD Externas con MySql o MsSql

Hola a todos... tengo soberano problem y es sobre consultar datos desde MsSql o MySql a Bases de datos externas (*.mdb), por lo que se ahi que ocupar la instruccion IN pero no me resulta... si alguien pudiera ayudarme y dejar unos ejemplos para o decirme otra manera de hacerlo..

Thank You
  #2 (permalink)  
Antiguo 20/02/2006, 14:20
 
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...
?>
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:03.