Fórum Liberar a porta 3050 do firebird e senha do banco? #473699
22/03/2014
0
Osmar
Curtir tópico
+ 0Posts
22/03/2014
Marco Salles
Liberar de quem ??
Não entendi ... A Porta que o Servidor Firebird roda por padrão é a 3050.. Mas isto pode seralaterado
Porém em delphi anteriores a conexão ia direto ... Mas a partir do delph mais novos é necessário indicar além do Path do DataBase o Ip seguido da Porta
Para conexões Locais
127.0.0.1/3050:C:\Caminho\SeuBanco.FDB
Não sei se vc quer dizer como Liberar este processo ????
[]sds e espero ter sido útil
Gostei + 0
24/03/2014
Daniel Qualhato
try
//grava a chave de registro no regedit
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey('progBaruch\Baruchkey', true);
Reg.WriteString('Key', SENHA_CRYPINSTCryp02);
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.CloseKey;
//libera a porta do firebird pelo regedit
Reg.OpenKey('SYSTEM\Select', False);
CtrlSet := FormatFloat('000',Reg.ReadInteger('Current'));
Reg.CloseKey;
Reg.OpenKey('SYSTEM\ControlSet' + CtrlSet + '\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List', True);
if (not Reg.ValueExists('3050:TCP')) then
Reg.WriteString('3050:TCP','3050:TCP:*:Enabled:Firebird');
finally
Reg.CloseKey;
Reg.Free;
end;faça bom proveito
Gostei + 0
27/03/2014
Osmar
O que eu quis dizer o Daniel fez, só que fiquei curioso com o que você postou, colocando um IP e também a opção de liberar a porta 3050, tentei fazer mas não consegui, pois uso um arquivo ini onde pego o IP do servidor e insiro nesse arquivo nas máquinas clientes, mas de acordo com o que você postou falta fazer mais alguma coisa?
O arquivo esta assim:
CONFIG.INI
INF_BD]
Caminho=C:\GE\Dados\DADOS.FDB
IP_Servidor=192.168.0.100
Gostei + 0
28/03/2014
Marco Salles
Então eu utilizo DBX e escrevo meus arquivos Ini Assim
CONFIG.INI
[INF_BD]
Caminho=192.168.0.100\3050:C:\GE\Dados\DADOS.FDB
Gostei + 0
28/03/2014
Osmar
Meu código esta conforme abaixo, como devo fazer de acordo com sua dica?
procedure TDmDados.DataModuleCreate(Sender: TObject);
var
iniConf : TIniFile;
sCaminho, sIPServidor : String;
begin
Ini := TIniFile.Create(ExtractFilePath(ParamStr(1)) + GetCurrentDir + '\Configurar.ini');
iniConf := TiniFile.Create( ExtractFilePath ( Application.ExeName) + 'Config.ini');
sIPServidor := iniConf.ReadString('INF_BD','IP_Servidor','');
sCaminho := iniConf.ReadString('INF_BD','Caminho','');
// Depois de Ler as Chaves, vou configurar o IBDataBase
IBDatabase.Connected := False;
IBDatabase.DatabaseName := sIPServidor +':'+sCaminho;
IBDatabase.LoginPrompt := false; // Para não pedir a senha do banco!
try
if not IBDatabase.Connected then
IBDatabase.Connected := True;
Except
ShowMessage( 'Não foi posssível conectar ao banco!' );
Application.Terminate;
end;
Gostei + 0
28/03/2014
Marco Salles
iniConf := TiniFile.Create( ExtractFilePath ( Application.ExeName) + 'Config.ini');
sIPServidor := iniConf.ReadString('INF_BD','IP_Servidor','');
sCaminho := iniConf.ReadString('INF_BD','Caminho','');
sPorta := iniConf.ReadString('INF_BD','porta','');
// Depois de Ler as Chaves, vou configurar o IBDataBase
IBDatabase.Connected := False;
IBDatabase.DatabaseName := sIPServidor +'/'+sPorta+':'+sCaminho;
IBDatabase.LoginPrompt := false; // Para não pedir a senha do banco
........
[]sds
Gostei + 0
28/03/2014
Osmar
Fiz alguns teste mas não está dando certo, considerando o código que você passou, como ficaria então o arquivo config.ini?
outra observação em um dos exemplos você colocou antes da porta assim ' / ' e depois assim ' \ ' qual a forma correta?
Gostei + 0
28/03/2014
Marco Salles
Bem o seu arquivo Ini pode ficar com os parâmetros separados ,, IP , Porta , Caminho ...Desde que vc monte na Hora de passar para o DataBase
Ou o seu Arquivo Ini pode estar com uma ùnica Linha que ja contém o Ip a Porta e o Caminho . Ai pe so Carregar para o Database
Exemplo de meu Arquivo Ini Local
127.0.0.1/fds25_db:C:\DelphiProjetos\Delphi_Xe2\Nfe_\BANCO.FDB
0 fds25_db que aparece aqui esta definido no Arquivo Services do Windows dentre outros servidores instalados nesta máquina
C:\Windows\System32\drivers\etc
gds_db 3050/tcp
gds75_db 3055/tcp # InterBase Server
fds15_db 3150/tcp #Firebird1.5
fds21_db 3155/tcp #Firebird2.1
fds25_db 3160/tcp #Firebird2.5
Mas caso não tenha definido este Aliase vc definie explicitamente o Valor daPorta
Arquivo Ini
[DataBase]
PathFile=127.0.0.1/3050:C:\DelphiProjetos\Delphi_Xe2\Nfe_Eletronica\Dados\BANCONfe.FDB
espero ter sido claro , lembrando que isto aplico eu DBX
[]sds
Gostei + 0
04/04/2014
Osmar
Estive ausente uns dias, mas já estou na ativa, valos lá, fiz alguns testes o sistema roda blz mas a máquina cliente não consegue fazer o acesso ao servidor veja como está:
procedure TDmDados.DataModuleCreate(Sender: TObject);
var
iniConf : TIniFile;
sPorta, sCaminho, sIPServidor : String;
begin
Ini := TIniFile.Create(ExtractFilePath(ParamStr(1)) + GetCurrentDir + '\Configurar.ini');
iniConf := TiniFile.Create( ExtractFilePath ( Application.ExeName) + 'Config.ini');
sIPServidor := iniConf.ReadString('INF_BD','IP_Servidor','');
sPorta := iniConf.ReadString('INF_BD','porta','');
sCaminho := iniConf.ReadString('INF_BD','Caminho','');
IBDatabase.Connected := False;
IBDatabase.DatabaseName := sIPServidor +'/'+sPorta+':'+sCaminho;
IBDatabase.LoginPrompt := false; // Para não pedir a senha do banco
try
if not IBDatabase.Connected then
IBDatabase.Connected := True;
Except
ShowMessage( 'Não foi posssível conectar ao banco!' );
Application.Terminate;
end;
O arquivo CONFIG.INI está definido da seguinte forma:
[INF_BD] IP_Servidor=127.0.0.1 Porta=3050 Caminho=C:\GE\Dados\DADOS.FDB
O IbDataBaseName está configurado assim: 127.0.0.1/3050:C:\GE\Dados\DADOS.FDB, uma detalhe o IbDataBaseName esta com esse caminho tanto servidor como nas máquinas clientes é assim mesmo que você usa?
Gostei + 0
05/04/2014
Osmar
try
//grava a chave de registro no regedit
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey('progBaruch\Baruchkey', true);
Reg.WriteString('Key', SENHA_CRYPINSTCryp02);
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.CloseKey;
//libera a porta do firebird pelo regedit
Reg.OpenKey('SYSTEM\Select', False);
CtrlSet := FormatFloat('000',Reg.ReadInteger('Current'));
Reg.CloseKey;
Reg.OpenKey('SYSTEM\ControlSet' + CtrlSet + '\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List', True);
if (not Reg.ValueExists('3050:TCP')) then
Reg.WriteString('3050:TCP','3050:TCP:*:Enabled:Firebird');
finally
Reg.CloseKey;
Reg.Free;
end;faça bom proveito
Daniel está dando erro nessa linha, eu mudo a senha do firebird manualmente, como faço nesse caso?
Reg.WriteString('Key', SENHA_CRYPINSTCryp02);
onde você coloca esse código, inseri no datamodulo mas estou tendo problemas.
Gostei + 0
27/05/2014
Nelson Santos
www.3dsistemas.com.br
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)