Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Geovane Velmer

[Resolvido] Patch de conexão com tratamento de erros difirenciado

Recommended Posts

Ta ae gente um patch de conexão com banco de dados que fiz

achei que ficou muito bom, ele trata os de erros e mostra uma mensagem diferente para cada tipo de erro

 

é necessario colocar IniFiles e IB na clausula uses;

 

//--------- CONFIGURAÇÃO DO PATCH CONEXAO BANCO --------------------------------
var
config:TIniFile;
caminho,ip_servidor:string;
E:integer;
begin
try
  config := TInifile.Create('C:\PROJETO\DADOS\CONFIG.CFG'); // cria um objeto para manipular o arquivo ini
  caminho:=config.ReadString('CONFIGURACAO DA BASE', 'BASE_DE_DADOS', ''); // PEGA O CAMINHO DA BASE
  ip_servidor:=config.ReadString('CONFIGURACAO DA BASE','IP_SERVIDOR',''); // PEGA O IP DO SERVICOR
  BDtbsMain.DatabaseName:=ip_servidor+':'+caminho;
  BDtbsMain.LoginPrompt:=false; // Desabilita o prompop de login
  config.Free; // apaga o objeto da memória
  BDtbsMain.Connected:=true;
  except
	on E:EIBInterbaseError do
	  begin
	  if ( EIBInterBaseError(E).IBErrorCode = 335544344 ) then
		begin
		ShowMessage('Arquivo de dados não localizado '+caminho+'.Verifique se o caminho está correto');
		Application.Terminate;
		end;

	  if ( EIBInterBaseError(E).IBErrorCode = 335544472 ) then
		begin
		ShowMessage('Nome de usuário e senha incorretos. Contate o Adminstrador do servidor Firebird');
		Application.Terminate;
		end;

	  if ( EIBInterBaseError(E).IBErrorCode = 335544753 ) then
		begin
		ShowMessage('O nome de usuário especificado não foi encontrado no banco de dados de segurança');
		Application.Terminate;
		end;

	  if ( EIBInterBaseError(E).IBErrorCode = 335544721 ) then
		begin
		ShowMessage('Falha ao conectar com servidor Firebird. Verifique se o servidor está ativo');
		Application.Terminate;
		end;

	  Application.Terminate;
	  end;
	end;
end;
//--------- FIM DA CONFIGURAÇÃO ------------------------------------------------

o arquivo do banco de dados fica assim

 

[CONFIGURACAO DA BASE]
BASE_DE_DADOS=C:\PROJETO\DADOS\AUTOMACAO.GDB
IP_SERVIDOR=localhost

caso a base esteja em na rede

coloque o ip do servidor no lugar de "localhost";

 

Espero que gostem e qualquer duvida é só postar ae!

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.