importação de dados
Srs, tenho 3 perguntas a respeito do Firebird:
1) É possível importar os dados de tabelas paradox para um banco Firebird?
2) Eu estou criando e manipulando o Firebird, através de um front-end, chamado Ibexpert, onde no qual ao criar um banco, eu informo o usuário SYSDBA e a senha masterkey. Eu posso criar um banco e informar um outro usuário e senha, que não sejam SYSDBA/masterkey?
3) O sgbdr Firebird, tem um usuário e senha padrão. Eu posso alterar este usuário e senha padrão, para um que melhor me convier, evitando assim, que se alguém copiar ´surrupiar´ o meu banco ele tenha acesso ao meu banco (arquivo.fdb)?
Abraços a todos.
1) É possível importar os dados de tabelas paradox para um banco Firebird?
2) Eu estou criando e manipulando o Firebird, através de um front-end, chamado Ibexpert, onde no qual ao criar um banco, eu informo o usuário SYSDBA e a senha masterkey. Eu posso criar um banco e informar um outro usuário e senha, que não sejam SYSDBA/masterkey?
3) O sgbdr Firebird, tem um usuário e senha padrão. Eu posso alterar este usuário e senha padrão, para um que melhor me convier, evitando assim, que se alguém copiar ´surrupiar´ o meu banco ele tenha acesso ao meu banco (arquivo.fdb)?
Abraços a todos.
Programalista
Curtidas 0
Respostas
Vinicius2k
27/09/2004
Colega,
Sim. Existem softwares destinados à isso, como este (IBDataPump): http://www.clevercomponents.com/products/datapump/ibdatapump.asp , se não for o único é o mais ´famoso´.
Pessoalmente, quando necessito efetuar alguma migração, prefiro criar pequenas aplicações que façam o trabalho.
Sim. Este usuário será o owner (dono) do banco, e não será necessário dar-lhe permissões sobre os objetos do banco. Mas isto não impede o SYSDBA de realizar qualquer operação. Ele (o SYSDBA) ´pode tudo´.
Vc não só pode, como deve alterá-la. Mas isto não impede que o seu banco (arquivo.fdb) seja lido e/ou modificado, se ele for FISICAMENTE levado para outro servidor onde a senha do SYSDBA seja conhecida.
T+
1) É possível importar os dados de tabelas paradox para um banco Firebird?
Sim. Existem softwares destinados à isso, como este (IBDataPump): http://www.clevercomponents.com/products/datapump/ibdatapump.asp , se não for o único é o mais ´famoso´.
Pessoalmente, quando necessito efetuar alguma migração, prefiro criar pequenas aplicações que façam o trabalho.
2) Eu estou criando e manipulando o Firebird, através de um front-end, chamado Ibexpert, onde no qual ao criar um banco, eu informo o usuário SYSDBA e a senha masterkey. Eu posso criar um banco e informar um outro usuário e senha, que não sejam SYSDBA/masterkey?
Sim. Este usuário será o owner (dono) do banco, e não será necessário dar-lhe permissões sobre os objetos do banco. Mas isto não impede o SYSDBA de realizar qualquer operação. Ele (o SYSDBA) ´pode tudo´.
3) O sgbdr Firebird, tem um usuário e senha padrão. Eu posso alterar este usuário e senha padrão, para um que melhor me convier, evitando assim, que se alguém copiar ´surrupiar´ o meu banco ele tenha acesso ao meu banco (arquivo.fdb)?
Vc não só pode, como deve alterá-la. Mas isto não impede que o seu banco (arquivo.fdb) seja lido e/ou modificado, se ele for FISICAMENTE levado para outro servidor onde a senha do SYSDBA seja conhecida.
T+
GOSTEI 0
Ant.carlos/sp
27/09/2004
Caro amigo!
Para importar sem ter dor de cabeca, crie uma rotinas de importacao e use uma Query p/ selecionar os dados e depois uma SQLQuery p/ gravar os dados.
Ex:
DM.Query1.First;
While Not Query1.Eof do Begin
Inc(I);
WITH SQLQuery Do Begin
Active := false;
SQL.Clear;
SQL.Add(´INSERT INTO AUXSELEC(NUMSEQ,CODIGOX)´);
SQL.Add(´VALUES(:NUMSEQ,:CODIGOX)´);
ParamByName(´CODIGOX´).AsString := ´A999´;
ParamByName(´NUMSEQ´).AsInteger := I;
ExecSQL;
Close;
End;
Query1.Next;
End;
T+
Para importar sem ter dor de cabeca, crie uma rotinas de importacao e use uma Query p/ selecionar os dados e depois uma SQLQuery p/ gravar os dados.
Ex:
DM.Query1.First;
While Not Query1.Eof do Begin
Inc(I);
WITH SQLQuery Do Begin
Active := false;
SQL.Clear;
SQL.Add(´INSERT INTO AUXSELEC(NUMSEQ,CODIGOX)´);
SQL.Add(´VALUES(:NUMSEQ,:CODIGOX)´);
ParamByName(´CODIGOX´).AsString := ´A999´;
ParamByName(´NUMSEQ´).AsInteger := I;
ExecSQL;
Close;
End;
Query1.Next;
End;
T+
GOSTEI 0
Afarias
27/09/2004
Só como ´dica´, este processo seria otimizado pela simples definição do SQL (insert) fora do loop, como segue::
T+
SQLQuery.SQL.Clear; SQLQuery.SQL.Add(´INSERT INTO AUXSELEC(NUMSEQ,CODIGOX)´); SQLQuery.SQL.Add(´VALUES(:NUMSEQ,:CODIGOX)´); DM.Query1.First; while not Query1.Eof do begin Inc(I); with SQLQuery do begin ParamByName(´CODIGOX´).AsString := ´A999´; ParamByName(´NUMSEQ´).AsInteger := I; ExecSQL; end; Query1.Next; end;
T+
GOSTEI 0
Afarias
27/09/2004
|Este usuário será o owner (dono) do banco, e não será necessário
|dar-lhe permissões sobre os objetos do banco
Na verdade Vina, o OWNER do banco NÃO tem permissões automáticas sobre os objetos do banco, em qualquer banco (sendo OWNER ou não) o usuário só tem permissões automáticas sobre seus objetos (objetos criados por ele) -- a exceção do SYSDBA, claro.
T+
|dar-lhe permissões sobre os objetos do banco
Na verdade Vina, o OWNER do banco NÃO tem permissões automáticas sobre os objetos do banco, em qualquer banco (sendo OWNER ou não) o usuário só tem permissões automáticas sobre seus objetos (objetos criados por ele) -- a exceção do SYSDBA, claro.
T+
GOSTEI 0
Vinicius2k
27/09/2004
blz afarias. :wink:
mas é que não faz muito sentido criar só o banco sem objetos... eu quiz dizer como criação do banco e todo o metadado com este usuário...
deste jeito vale o que eu disse, mas coloquei da forma errada... :oops:
T+
mas é que não faz muito sentido criar só o banco sem objetos... eu quiz dizer como criação do banco e todo o metadado com este usuário...
deste jeito vale o que eu disse, mas coloquei da forma errada... :oops:
T+
GOSTEI 0