Hola gente, ya se que si se pregunto lo mismo en otros temas, pero ninguna respuesta satisfizo una solucion para mi...
Planteo brevemente:
Utilizo el motor MySQL Server 5.0, y generé un Back Up de mi base de datos, devolviendome el archivo: <mi_bd .sql>, el cual contiene las instrucciones para crear /*si no exise*/ la base de datos y sus tablas...
Ahora bien, mi pregunta es:
-- ¿Como Restaurar dicha base de datos (mi_bd .sql) desde delphi?
(Mi intencion es que cuando ejecute por 1ra vez la aplicacion que estoy realizando, pues a la vez tambien se cree la bd).
Ya Restauré desde la linea de comandos de DOS, con lo siguiente:
-------------------------------------------------------------------------
1) Primero me situé en la carpeta de los binarios de MySQL, con el comando 'CD' de DOS:
Código:
C:\Document and Settings\Administrador>
CD "c:\Archivos de programa\MySQL\MySQL Server 5.0\Bin"
4) Luego Restauré Satisfactoriamente un script <mi_bd.sql> desde DOS, así:
Código:
C:\Archivos de programa\MySQL\MySQL Server 5.0\Bin>
MySQL --user=root --password=root mi_bd < c:\ mi_bd.sql
-------------------------------------------------------------------------
Ahora bien, esos mismos
comandos de Restauracion que sí funcionaron en DOS, los apliqué infructuosamente, esta vez desde Delphi con WinExec, así:
Código Delphi
[-]WinExec(PChar('cmd /c CD "c:\Archivos de programa\MySQL\MySQL Server 5.0\Bin">MySQL --user=root --password=root mi_db < c:\mi_bd.sql'), SW_Hide);
------------------------------------------------------------------------
Intente mas posibles convinaciones con winexec pero, ninguna che! ya llevo un dia entero intentando! que bajon!
Si tienen alguna solucion... o alguna correccion, o si tal vez intento con ShellEXEcute? pero cual sería la sintaxis exacta?
(y fuera de tema, si alguien trabajo con delphi-mysql, que archivos son necesarios instalar de dicho Motor? claro, la idea es resumir en <un solo> instalador: el motor de base de datos, la conexion obdc, la creacion de la estructura de la base de datos, y el ejecutable... o tal vez en 2, dado que mysql es externo...
Desde ya, gracias...