| ||||
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.
__________________ NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL |
| |||
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 |
| |||
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 |