Estimados amigos, espero que estén muy bien.
En esta oportunidad, acudo al foro ante el extraño caso que se me presenta al momento de ejecutar un archivo .BAT
Trataré de explicarme lo mejor y más corto posible para no confundirlos.
Mi aplicación realiza tanto el respaldo como la restauración de las bases de datos MariaDB desde una opción del menu.
En el .PRG donde esto se hace, se crean y ejecutan en segundo plano, los respectivos archivos .BAT (desde código fuente) los cuales a través de comandos de consola, hacen respaldo y restauración.
Los respaldos de las bases de datos se siguen ejecutando sin ningún problema. Pero en la restauración se me presenta ahora lo siguiente:
Al querer ejecutar el .BAT, ocurre que el sistema operativo hace dos cosas, inserta en mitad de la instrucción un numero CERO y corta la ultima parte de la instrucción.
Me explcio mejor.
La orden es esta:
mysql -u vdbnr8ds_backup -prestaurardb <c:\Cuentas32\Backup\2023-09-26-H17-M18-Cuentas32BD.sql vdbnr8ds_cuentas32_demo
Si la copio del .BAT y la pego en el prompt en la carpeta de C:\Program Files\MariaDB 11.2\bin y la ejecuto, restaura perfectamente los datos.
Pero si lo hago usando el .BAT, o sea C:\Program Files\MariaDB 11.2\bin\archivo.bat -> enter sucede lo siguiente:
1.- Le aparece un cero a mitad de la instrucción
2.- Corta la ultima parte de la orden.
Pongo ejemplos:
Comando completo y que funciona escribiéndolo directo en la consola:
C:\Program Files\MariaDB 11.2\bin\mysql -u vdbnr8ds_backup -prestaurardb <c:\Cuentas32\Backup\2023-09-26-H17-M18-Cuentas32BD.sql vdbnr8ds_cuentas32_demo
Si lo hago desde el .BAT, muestra esto arrojando el respectivo mensaje de error:
C:\Program Files\MariaDB 11.2\bin>mysql -u vdbnr8ds_backup -prestaurardb 0<C:\Cuentas32\Backup\2023-09-26-H17-M18-Cuentas32BD.sql
ERROR 1046 (3D000) at line 22: No database selected
Como pueden observar, inserta un CERO a mitad de la instrucción (lo resalté en rojo) , y corta el nombre de la base de datos a restaurar al final de la misma.
Ya invertí dos días tratando de conseguir el error y no pude. Sucede lo mismo haciéndolo desde código fuente y también manualmente directo en la consola.
A alguien le ha pasado algo semejante?