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

Migracion De Fox Pro A Mysql

Estas en el tema de Migracion De Fox Pro A Mysql en el foro de Bases de Datos General en Foros del Web. Hola Alguien Sabe Si Esto Se Puede Hacer O Si Existe Algun Software Para Esto???...
  #1 (permalink)  
Antiguo 20/03/2006, 08:09
Avatar de Chudux  
Fecha de Ingreso: marzo-2006
Mensajes: 247
Antigüedad: 18 años, 1 mes
Puntos: 3
Migracion De Fox Pro A Mysql

Hola Alguien Sabe Si Esto Se Puede Hacer O Si Existe Algun Software Para Esto???
  #2 (permalink)  
Antiguo 20/03/2006, 10:13
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
No, no se puede migrar de FoxPro a MySQL debido a que FoxPro es una herramienta de desarrollo y los prg o aplicaciones que genera no son una BD.

Si te referis pasar los DBF a MySQL, si hay forma de hacerlo de forma manual, o sea, sabiendo los el similar de tipo de datos de un campo a MySQL, crear las tablas en MySQL similares a los que tenes en los DBF. Luego pasar los datos de tus DBF a archivos textos delimitados por TAB y luego cargarlos en sus respectivas tablas en MySQL.

Hay otras opciones que lo hacen automáticamente de pago como:
DBF-to-MySQL
ABC Amber DBF Converter 1.05
Migración de bases MS Access y xBase a MySQL
DBF 2 MySQL

Como podes observar, hay muchas herramientas y formas de hacerlo. Lo único que necesitas hacer es buscar con Google o cualquier otro buscador en internet.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 25/05/2006, 09:46
 
Fecha de Ingreso: mayo-2006
Mensajes: 2
Antigüedad: 18 años
Puntos: 0
Hola Soy principiante en php, estoy intentando hacer lo mismo pasar un dbfs a mysql.
pero me sale que no puede ejecutar el insert, pero cuando el comando que me sale en la pantalla lo acomodo en la pantalla del MySql Query Browser ejecuta bien,
Aqui el programita:
<?

$basedbf="articulo.dbf";
$mifile = explode (".",$basedbf);

$based = $mifile[0];

printf($based);
printf("<br>");

$link = mysql_connect("localhost", "asanmiguel","");
mysql_select_db("test", $link);


if (($descriptor=dbase_open ($basedbf, 0))==0)
{
printf ("<br>Error al abrir la base de datos");
}
else
{
$num_registros = dbase_numrecords($descriptor);
$num_campos = dbase_numfields($descriptor);
$regcampos = dbase_get_header_info($descriptor);

$cadenasql = "create table " . $based . " ( ";
$titcampos = "";

for ($j=0;$j<$num_campos -1 ;$j++)
{
$cadenasql = $cadenasql . strtolower($regcampos[$j][name]);
$titcampos = $titcampos . trim(strtolower($regcampos[$j][name])) . ", ";
if ( strtolower($regcampos[$j][type])=="character" )
{
if ( Trim($regcampos[$j][length]) > "20" )
{ $cadenasql = $cadenasql . " varchar(" . $regcampos[$j][length] . "),"; }
else { $cadenasql = $cadenasql . " char(" . $regcampos[$j][length] . "),";}
}
if ( strtolower(trim($regcampos[$j][type]))=="date" )
{
$cadenasql = $cadenasql . " datetime,";
}
if ( strtolower(trim($regcampos[$j][type]))=="number" )
{
if ( Trim($regcampos[$j][precision])=="0")
{ $cadenasql = $cadenasql . " Integer(" . $regcampos[$j][length] . "),";}
else {$cadenasql = $cadenasql . " decimal (" . $regcampos[$j][length] . ",".$regcampos[$j][precision]."),";}
}
}
$cadenasql = $cadenasql . strtolower($regcampos[$j][name]);
$titcampos = $titcampos . trim(strtolower($regcampos[$j][name]));

if ( strtolower($regcampos[$j][type])=="character" )
{
if ( Trim($regcampos[$j][length]) > "20" )
{ $cadenasql = $cadenasql . " varchar(" . $regcampos[$j][length] . ") )"; }
else { $cadenasql = $cadenasql . " char(" . $regcampos[$j][length] . ") )";}
}
if ( strtolower(trim($regcampos[$j][type]))=="date" )
{
$cadenasql = $cadenasql . " datetime ) )";
}
if ( strtolower(trim($regcampos[$j][type]))=="number" )
{
if ( Trim($regcampos[$j][precision])=="0")
{ $cadenasql = $cadenasql . " Integer(" . $regcampos[$j][length] . ") )";}
else {$cadenasql = $cadenasql . " decimal (" . $regcampos[$j][length] . ",".$regcampos[$j][precision].") )";}
}

/* Creando la Tabla */

/* $result = mysql_query($cadenasql, $link); */

/* Insertando los Registros */

/* for ($i=1;$i<=$num_registros;$i++) */
for ($i=1;$i<=50 ;$i++)
{
$cadenadatos = "" ;
$registro= dbase_get_record ($descriptor, $i);
for ($j=0;$j<$num_campos - 1;$j++)
{
if ( strtolower(trim($regcampos[$j][type]))=="date" )
{
$cadenadatos = $cadenadatos . "'" . (trim($registro[$j])=="" ? "\n" : trim($registro[$j])) . "',";
}
if ( strtolower(trim($regcampos[$j][type]))=="character" )
{
$cadenadatos = $cadenadatos . "'" . (trim($registro[$j])=="" ? "\n" : trim($registro[$j])) . "',";
}
if ( strtolower(trim($regcampos[$j][type]))=="number" )
{
$cadenadatos = $cadenadatos . (trim($registro[$j])=="" ? "\n" : trim($registro[$j])) . ",";
}

}
if ( strtolower(trim($regcampos[$j][type]))=="date" )
{
$cadenadatos = $cadenadatos . "'" . (trim($registro[$j])=="" ? "\n" : trim($registro[$j])) . "'";
}
if ( strtolower(trim($regcampos[$j][type]))=="character" )
{
$cadenadatos = $cadenadatos . "'" . (trim($registro[$j])=="" ? "\n" : trim($registro[$j])) . "'";
}
if ( strtolower(trim($regcampos[$j][type]))=="number" )
{
$cadenadatos = $cadenadatos . (trim($registro[$j])=="" ? "\n" : trim($registro[$j])) . "";
}

$cadenasql = "Insert into " . $based . " (" . $titcampos . ") Values (" . $cadenadatos . ")";
printf($cadenasql);
$result = mysql_query($cadenasql, $link) or die ("Invalid query");
printf("<br>");
}

dbase_close($descriptor);
printf ("<br>Base de datos cerrada");
}
mysql_close( $link);

?>

Favor echarle una mirada y si pueden hacerlo funcionar.
Gracias
  #4 (permalink)  
Antiguo 25/05/2006, 10:45
 
Fecha de Ingreso: mayo-2006
Mensajes: 2
Antigüedad: 18 años
Puntos: 0
Sres.
Disculpandome por mi error

$link = mysql_connect("localhost", "asanmiguel","");

el error era que faltaba poner mi clave

$link = mysql_connect("localhost", "asanmiguel","clave");

Gracias y si alguien puede personalizarlo espero que puedan publicarlo yo intentare hacerlo
Gracias
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 16:22.