[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