Fórum como acessar dois databases usando ADO ? #158395

07/05/2003

0

Tenho que acessar dois databases (SQL Server) no mesmo servidor usando ADO.

Eu passo os parametros de conexao (connectionstring) em tempo de execucao para dois adoconnection e faço:

adoconnection1.connected:=true;
adoconnection2.connected:=true;

Em seguida eu abro as adquerys ligadas ao adoconnection1:

adoquery.open;

Ate aí tudo bem, mas quando vou abrir as adoquerys ligadas ao adoconnection2 dá erro: ´Multiple steps generated erros´.

Já inverti a ordem, ou seja, abrir o segundo depois o primeiro, mas ocorre a mesma coisa. Não consigo abrir ao mesmo adoquerys em conexoes diferentes.

O que eu faço ?


Rodrigo Costa

Rodrigo Costa

Responder

Posts

07/05/2003

Marcelo.c

Eu utilizo conexão com dois BDs, nunca tive esse tipo de problema.

Talvez o problema seja no código SQL.


Responder

Gostei + 0

07/05/2003

Rodrigo Costa

Com é que vc faz ?
procedure TForm_login.logar; var mensagem:integer; begin mensagem:=0; if (trim(edit_senha.Text)=´´) or (trim(edit_usuario.text)=´´) then begin application.MessageBox(´Usuário/Senha inválidos !´,´E R R o´,mb_ok+mb_iconstop); exit; end; // SERVIDOR DE GRAVACAO vservidor:=leini(´ConfigBD´,´BD_GRAVACAO´,´SERVIDOR´); vbase:=leini(´ConfigBD´,´BD_GRAVACAO´,´BASE´); {String de conexão com o banco} Form_matriculaMBA.ADOConexao_gravacao.ConnectionString:=´Provider=SQLOLEDB.1;´+ ´Password=´+form_login.edit_senha.text+´;´+ ´Persist Security Info=True;´+ ´User ID=´+form_login.Edit_usuario.Text+´;´+ ´Initial Catalog=´+vbase+´;´+ ´Data Source=´+vservidor+´;´+ ´Use Procedure for Prepare=1;Auto Translate=True;´+ ´Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False´; {} {Tentativa de se conectar ao banco} try Form_matriculaMBA.ADOConexao_gravacao.connected:=true except on Exception do mensagem:=1; end; {} if mensagem=1 then begin application.MessageBox(´Não foi possível se conectar ao servidor de gravação!´,´E r r o´,mb_ok + mb_iconstop); edit_senha.Text:=´´; edit_usuario.SetFocus; exit; end; // SERVIDOR DE LEITURA vservidor:=leini(´ConfigBD´,´BD_LEITURA´,´SERVIDOR´); vbase:=leini(´ConfigBD´,´BD_LEITURA´,´BASE´); {String de conexão com o banco} Form_matriculaMBA.ADOConexao_leitura.ConnectionString:=´Provider=SQLOLEDB.1;´+ ´Password=´+form_login.edit_senha.text+´;´+ ´Persist Security Info=True;´+ ´User ID=´+form_login.Edit_usuario.Text+´;´+ ´Initial Catalog=´+vbase+´;´+ ´Data Source=´+vservidor+´;´+ ´Use Procedure for Prepare=1;Auto Translate=True;´+ ´Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False´; {} {Tentativa de se conectar ao banco} try Form_matriculaMBA.ADOConexao_leitura.connected:=true except on Exception do mensagem:=1; end; {} if mensagem=1 then begin application.MessageBox(´Não foi possível se conectar ao servidor de leitura!´,´E r r o´,mb_ok + mb_iconstop); edit_senha.Text:=´´; edit_usuario.SetFocus; exit; end; gravaini(´ConfigBD´,´BD_GRAVACAO´,´USUARIOPADRAO´,edit_usuario.Text); hide; adoquery_curso.Open; adoquery_disciplina.Open; adoquery_funcionario.Open; adoquery_sala.Open; adoquery_tbDiscprof.Open; adoquery_tbPraca.Open; adoquery_tbHorario.Open; Form_matriculaMBA.showmodal;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar