PDA

Ver la Versión Completa : Ejecutar script desde el isql


victork_py
23-06-2003, 23:25:35
Hola a todos, lo que quiero hacer es crear un archivo con *.sql en el cual está el código de creación de algunos Procedimientos Almacenados y luego ejecutar desde el isql.
Se puede?

La idea es no usar el ibexpert o cualquier otro administrador de terceros.

Utilizo Firebird 1.0

kinobi
23-06-2003, 23:59:01
Hola,

isql, además de ser herramienta interactiva, puede ejecutar scripts SQL.

Sintaxis (resumida):


isql -u <usuario> -pass <contraseña> -i script.sql


En la documentación, volumen "Operations Guide", capítulo "Interactive Query" / "Command-line isql tool", tienes una referencia completa de las opciones.

Otra opción, si quieres hacerlo directamente desde tus aplicaciones Delphi sin tener que lanzar isql, es utilizar algún componente que "parsee" y ejecute las sentencias del script, p. ej. IBScript en IBX. En otras bibliotecas, IBO, FIB, ..., existen componentes similares.

Saludos.

victork_py
24-06-2003, 19:53:10
Muchsas gracias kinobi

capo979
11-12-2009, 17:53:41
y si uso el firebird embebido como hago eso??

como uso el isql??

saludos

gracias

jhonny
11-12-2009, 18:09:55
y si uso el firebird embebido como hago eso??

como uso el isql??

saludos

gracias


Quizá probando lo que te comenté hace poco en http://www.clubdelphi.com/foros/showthread.php?t=65402

gustavodiego01
28-02-2017, 19:33:29
Tengo algo de experiencia con Firebird ahora estoy trabajando con la version 3 con buennos resultados, la mejor manera de una insersion masiva en una base de datos es utilizando un script, y a mi me sirvio de de mucho en 5 segundos llene 100000 regitros, intente otras maneras pero ninguna es buena como esta.

$> isql DATABASE -u sysdba -p 12345678 -i d:\texto.sql

bulc
25-05-2017, 15:16:12
Yo no acabo de pillarlo. ¿Podrías poner un trozo del fichero de texto script?
Gracias

Casimiro Notevi
25-05-2017, 16:34:59
Yo no acabo de pillarlo. ¿Podrías poner un trozo del fichero de texto script?
Gracias
Da igual, cualquier script sql válido.

create table tbFamilias
(
id integer not null,
alias varchar(3) not null,
nombre varchar(64) default '',
primary key (id)
);

bulc
25-05-2017, 19:50:03
Es en la ejecución de llamada donde tengo problemas.
Tengo un script pero no sé si lo tengo que ejecutar desde el bin> o desde el sql>
Desde el bin> ejecutaría la sentencia:

isql -q -i c:\carpeta\carpetaza\carpetita\miscript.sql (Intro) El path va sin comillas, supongo. ¿Hay que poner user y password?

¿Es lo correcto?
Y si estoy ya en el sql, ¿se puede ejecutar también?
Gracias.

Casimiro Notevi
25-05-2017, 20:56:54
Mira este tutorial (http://www.intitec.com/varios/isql-firebird-interactive-sql-tool.pdf) básico.

isql es un programa que está en el directorio bin de firebird.
Puedes ejecutar un script externo con él, tendrás que indicarle el user y password, salvo que lo hayas puesto en el script, en ese caso no hará falta.
También puedes ejecutarlo y desde allí interactuar con cualquier base de datos.