[firebase-br] ISQL com script para Criar Banco de Dados

Marcelo Durães da Silva madusil em gmail.com
Qua Fev 1 13:07:56 -03 2017


Senhores, gostaria de sanar uma dúvida para uma instalação que estou 
fazendo. Estou gerando um instalador para minha aplicação. Este 
instalador instala a aplicação, o firebird e deve criar o banco de dados.

No passo da criação do banco de dados, escolhi utilizar o ISQL para 
fazer a criação do BD e rodar alguns DMLs que forem necessários.

O problema é o seguinte:

Ao executar o ISQL podemos utilizar uma opção (como parâmetro da linha 
de comando) para informar o banco de dados que será trabalhado. Porém no 
caso da criação do banco de dados, por script, deve conter a cláusula 
CREATE DATABASE dentro do script. obviamente deve ser informado o nome 
do banco de dados (e como diz o manual do ISQL, deve ser informado o 
caminho completo quando criado em máquina local).

O Usuário, quando está executando o programa de instalação, pode 
modificar o path original onde a aplicação será instalada. Sendo assim, 
o nome do banco de dados, informado no script sempre será o mesmo.

Há alguma forma de informar o nome do banco de dados no script por 
parâmetro ou por variável de ambiente?

mais ou menos como CREATE DATABASE '%BANCODEDADOS%'


*** CreateDatabase.sql

SET SQL DIALECT 3;
SET NAMES NONE;
CREATE DATABASE 'BANCO.FDB'
USER 'SYSDBA' PASSWORD 'masterkey'
PAGE_SIZE 16384
DEFAULT CHARACTER SET NONE;

...

***UsuarioAdmin.sql

CONNECT 'BANCO.FDB' USER 'SYSDBA' PASSWORD 'masterkey';
insert into USUARIOS (id, senha) values ('admin', 'admin')
commit;


Sds,


Marcelo Durães da Silva

Desenvolvedor Software





Mais detalhes sobre a lista de discussão lista