Array
(
)

Acesso a dois bancos iguais dependendo da senha

Neto
   - 27 jan 2006

:?:
Olá a todos.
Tenho uma aplicação de controle de pedidos já pronta e funcionando.
O banco de dados é Firebird e o nome do Data module é DMDADOS,
neste datamodule tenho 33 tabelas.
Uso DbExpress e criei variáveis para cada tipo de componente.

Rjun
   - 27 jan 2006

Por que você não cria duas strings de conexão? Uma para cada senha.


Neto
   - 27 jan 2006

Olá Rjun, obrigado pela força.
Ao informar a senha eu estou fazendo uma validacão assim:
If Senha = 1 then
begin
V_SqlCnctn := DmDados.SQLCnctnConexao;
V_SqlCnctn.Connected := true;
end;
else // abrir a segunda conexão - DMDADOS_
begin
V_SqlCnctn := DmDados_.SQLCnctnConexao;
V_SqlCnctn.Connected := true;
end;
Até ai para abrir uma conexão ou outra tudo bem, mas o problema
é ao chamar abrir as tabela, todos as rotinas se referenciam a
conexão DMDADOS. Será que é possível criar tipo um mesmo ALIAS,
para hora uma conexão e hora outra????
Obrigado
Neto


Rjun
   - 27 jan 2006

Você está usando dois Data Modules? Ainda acho que em vez de utilizar dois objetos de conexão, dois data modules, utilize duas strings de conexão.


Neto
   - 27 jan 2006

Preciso de duas conexões porque um banco fica no servidor dentro da empresa e o outro banco fica num prédio fora da empresa (BEM DISTANTE COM OUTRO IP FIXO).
De qualquer forma se sua dica resolver meu problema tudo bem.
Poderia me dar um exemplo de como fazer duas strings de conexão??
Obrigado novamente
Neto


Rjun
   - 27 jan 2006

Eu nunca trabalhei com FB então vamos por parte. No seu objeto SQLCnctnConexao deve ter uma propriedade chamada ConnectionString ou StringConnection. Nela você terá os parâmetros para se conectar ao banco de dados (nome do banco, servidor, usuario, senha, etc...). Faça com que a atribuição da string de conexão seja em run-time, fazendo com que seja alterado os valores que você deseja, dependendo da senha informada.


Neto
   - 27 jan 2006

Puts é isso mesmo, fazendo assim não preciso de dois datamodules e portanto esta resolvida a questão.
Muito obrigado pelas preciosas dicas.
Vou implementar isso, mas já saquei e não tenho duvidas de que vai funcionar.
T+
Neto