segunda-feira, 1 de março de 2010

Firebird Arquivo INI

Vou falar hoje sobre um problema que todos já passaram ou vão passar, problemas com rede interna e seu sistema.
Você desenvolve seu sistema para rodar na faixa de ip 192.168.0.1, mas no seu cliente esse ip e totalmente diferente, ai o que ocorre problemas com a conexão com o banco de dados.
Para resolver isso irei mostrar aqui como solucionar a conexão com o banco de dados utilizando o arquivo INI.
Inicie um novo projeto e verifique seu codigo fonte ira mostrar algo como isso:

program Project1;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Vamos modificar essas linhas para que seu sistema possa encontrar o caminho do banco de dados independente de onde o mesmo esteja.

program Project1;

uses
Forms,
Windows,
dialogs,
IniFiles,
SysUtils,
uPRINCIPAL in 'uPRINCIPAL.pas' {frmPRINCIPAL},
uDM_BASE in 'uDM_BASE.pas' {DM_BASE: TDataModule},
uDM_CONEXAO in 'uDM_CONEXAO.pas' {DM_CONEXAO: TDataModule},


{$R *.res}

var
vArqIni:TIniFile;
Caminho:string;

begin
Application.Initialize;
Application.CreateForm(TDM_CONEXAO, DM_CONEXAO);
Application.CreateForm(TDM_BASE, DM_BASE);
// Application.CreateForm(TfrmINICIO, frmINICIO);
Caminho:='DIGITE AQUI O CAMINHO';
DM_CONEXAO.conexao.Close;
if not(FileExists(extractfilepath(ParamStr(0))+'Automacao.ini') ) then
begin
ShowMessage('Arquivo de Configurações do Banco de Dados Não Encontrado!');
vArqIni := TIniFile.Create(extractfilepath(ParamStr(0))+'Automacao.ini');
try
DM_CONEXAO.conexao.ConnectionName:='BANCO';
vArqIni.WriteString('BANCO','database',Caminho);
DM_CONEXAO.conexao.Params.Values['DataBase'] :=Caminho;
finally
vArqIni.Free;
end;
end;
try
vArqIni := TIniFile.Create(extractfilepath(ParamStr(0))+'Automacao.ini');
DM_CONEXAO.conexao.ConnectionName:='BANCO';
Caminho :=vArqIni.ReadString('BANCO','database',Caminho);
DM_CONEXAO.conexao.Params.Values['DataBase'] :=Caminho;
finally
vArqIni.Free;
end;
try
DM_CONEXAO.conexao.Connected:=True;
Application.Title := 'NOME DA APLICACAO';
Application.CreateForm(TfrmPRINCIPAL, frmPRINCIPAL);
Application.Run;
except
Application.MessageBox( 'Não foi possivel se conectar com o banco de dados.' + #13 +
'verifique se o arquivo de configuração está configurado, ' + #13 +
'ou se o servidor firebird está instalado em seu sistema.' + #13 +
'Verifique tambem se o Usuario secundario esta cadastrado.' + #13 +
'Entre em contato com suporte para esclarecer qualquer dúvida.',
'Error Interno', mb_ok + mb_IconError );
Application.Terminate;
end;
Feito isso agora simplesmente crie um arquivo na raiz do seu sistema chamado "Automacao.ini".
No conteudo do arquivo de ini coloque as seguintes linhas:

[BANCO]
database=IP DO SERVIDOR:C:\caminho do seu banco de dados\base.fdb
Pronto agora e so modificar o arquivo "INI" com o local onde esta salvo o banco de dados e correr para o abraço.
Qualquer duvida e so entrar em contato.

[]´s








Nenhum comentário:

Postar um comentário