Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Ejecutar store procedure desde linea de comando. (https://www.clubdelphi.com/foros/showthread.php?t=51601)

mcalmanovici 20-12-2007 17:11:45

Ejecutar store procedure desde linea de comando.
 
Hola gente:
Les quiero preguntar algo y como siempre me salvan por ahí esta vez también.
Quiero ejecutar desde la línea de comando (DOS) un store procedure.
Probe con: isql execute procedure nombre_procedimiento pero no me funciona, me dice que no reconoce el isql.
Estuve buscando en internet y no encuentro info.
Por favor si alguien me puede ayudar estaré muy agradecido.

Muchas gracias.
Mariano.

jhonny 20-12-2007 17:55:55

El siguiente es un ejempolo de como se usaria el isql.exe para tu caso, desde el DOS.

Si la ruta de la base de datos tiene espacios, debe ir entre comillas, yo usare como password "masterkey", pero tu sabras cual es el tuyo :).

Cita:

C:\>isql <enter>

SQL>CONNECT RutaBaseDedatos.FDB password "masterkey" user "SYSDBA";<enter>
Database: D:\Tablas\LAVERLAM:GDB, User: SYSDBA //Esto lo muestra el isql luego de realizar correctamente la linea anterior
SQL>execute procedure NombreDelProcedure(Parametro1, Parametro2...ParametroN);<enter>
Muy importante, no olvides el punto y coma al final de cada instrucción ;).

Espero te sirva :).

mcalmanovici 20-12-2007 22:14:47

Gracias
 
Eso me anduvo muy bien...

Ahora no sé si alguien me puede ayudar con esto:
necesito ejecutar lo mismo que me dijiste vos pero desde un bat:
el bat que ejecuto es el siguiente:
C:
cd\
cd Program Files\Firebird\Firebird_2_0\bin\
pause
isql.exe
CONNECT 'C:\Work\Cammesa\tesacom\RICTERMINALSERVER.FDB'
USER 'SYSDBA'
PASSWORD 'masterkey';
execute procedure REPORTES_CONTROL_PHP;
commit;
exit;

Me hace todo hasta el isql.exe y luego se queda esperando el CONNECT. Yo necesitaría que se ejecuten esos comandos que pertenecen a la parte del isql.

Muchas gracias si alguien me puede ayudar.

Saludos

jachguate 20-12-2007 23:24:52

Podes poner las instrucciones en un archivo separado (digamos script.sql) y luego ejecutar el isql con el modificador -i: input file.

Código:

c:\>isql -i script.sql
para mas información, ejecutá
c:\>isql -?

Saludos.

;)

mcalmanovici 21-12-2007 15:01:31

El tema no se soluciona
 
Primero gracias por contestar pero te comento que si pongo lo que vos me decís me tira todas las opciones que tiene el isql.
No me ejecuta el script de esa manera.
Alguna otra manera de hacer lo que necesito.

Muchas gracias gente por su tiempo.

Saludos.

Mariano.

Lepe 21-12-2007 15:27:49

No sé si has captado la idea, o igual soy yo el que se equivoca... de todas formas amplío la información.

Debes tener 2 archivos:
- Ejecuta.bat
- script.sql

script.sql (hecho con el bloc de notas)
Código:

CONNECT 'C:\Work\Cammesa\tesacom\RICTERMINALSERVER.FDB'
USER 'SYSDBA'
PASSWORD 'masterkey';
execute procedure REPORTES_CONTROL_PHP;
commit;
exit;

Ejecuta.bat:
Código:

C:
cd\
cd Program Files\Firebird\Firebird_2_0\bin\
pause
isql -i c:\script.sql  <<<<<<<<<<<<<<<<<<<< aquí está el truco. Ojo con la ruta donde está el archivo


mcalmanovici 21-12-2007 16:13:33

Solucionado
 
Cita:

Empezado por Lepe (Mensaje 253911)
No sé si has captado la idea, o igual soy yo el que se equivoca... de todas formas amplío la información.

Debes tener 2 archivos:
- Ejecuta.bat
- script.sql

script.sql (hecho con el bloc de notas)
Código:

CONNECT 'C:\Work\Cammesa\tesacom\RICTERMINALSERVER.FDB'
USER 'SYSDBA'
PASSWORD 'masterkey';
execute procedure REPORTES_CONTROL_PHP;
commit;
exit;

Ejecuta.bat:
Código:

C:
cd\
cd Program Files\Firebird\Firebird_2_0\bin\
pause
isql -i c:\script.sql  <<<<<<<<<<<<<<<<<<<< aquí está el truco. Ojo con la ruta donde está el archivo


De esta manera me anduvo. Antes no sé si estaba poniendo mal el path o algo parecido.
Aprovecho para agredecer un montón la paciencia y todas las respuestas que dan, no solo en esta pregunta sino siempre que pregunte algo.
Muchas gracias a todos los que hacen este foro posible. Realmente cada día me es de más utilidad.

Felices fiestas.

Mariano.


La franja horaria es GMT +2. Ahora son las 02:14:06.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi