Fórum Firebird na rede com Delphi/DBX #423619

14/09/2012

0

Pessoal,

Eu tenho um sistema em Delphi 7/DBX/Firebird 2.5. O Banco de Dados era Paradox e funcionava na rede com BDE. Agora estou precisando fazer esse sistema funcionar na rede com Firebird. Se eu configuro o Firebird localmente (mesmo usando o REMOTO/LOCALHOST ele funciona normalmente. Ou seja, o executavel e o Firebird no mesmo computador.

Aí eu instalei o Firebird no Servidor e coloquei o banco de dados num diretorio do servidor. Compilei uma Conexão BDX com o caminho da rede do servidor e chamo o executável do micro do usuario, mas ele dá I/O error e não abre o banco de dados do servidor.

Sumarizando, eu preciso configurar a rede para acessar do cliente o servidor.

Se alguem me ajudar, agradeço,

Airton
Airton Santos

Airton Santos

Responder

Post mais votado

24/02/2014

Caros, eu gostaria de saber se essa conexão Firebird/Servidor em rede funciona numa aplicação local. Eu tenho uma aplicação local e gostaria de migrar para Firebird em rede. O que precisaria para tal conversão? Na minha aplicação eu tenho: Data Modulo com os componentes DBExpress (ClientDataSet/DataSetProvider/DataSource). Grato se alguém poder me ajudar.


Olá Ricardo.
Para funcionar localmente, basta nas configurações onde pede IP do servidor, você colocar LOCALHOST ou IP Local 127.0.0.1

Simples assim.

Até!

Landerson Santos

Landerson Santos
Responder

Gostei + 1

Mais Posts

14/09/2012

William

Airton poste a configuração do seu componente de conexão?
Responder

Gostei + 0

14/09/2012

Airton Santos

Olá,

No Delphi, eu entro no componente TSQLConnection, crio uma conexão e coloco os parâmetros:

DriverName Interbase
Database 192.168.5.27:\SMIERP\SMIERPDBCMERC.FDB
RoleName RoleName
User_Name sysdba
Password masterkey
ServerCharSet
SQLDialect 3
BlobSize -1
CommitRetain False
WaitOnLocks True
ErrorResourceFile
LocaleCode 0000
Interbase TransIsolation ReadCommited
Trim Char False

Aí eu compilo e coloco o executável delphi na máquina do usuário que tem o delphi e o firebird instalado.
No servidor tem o banco de dados e o firebird instalado. Lá nós já testamos com o IBExpert e acessa normalmente como LOCAL.

Na maquina do usuário, eu testei o acesso remoto com o IBExpert e dá o erro:
I/O error
Responder

Gostei + 0

15/09/2012

William

Colega a porta 3306 do Servidor está aberta para essa conexão?
Responder

Gostei + 0

15/09/2012

Singular Ti

Se sua rede for windows vc tem que compartilhar o local onde esta o banco de dados e utilizar no delphi assim:

TSQLConnection:
Database ipservidor:C:\basedados\meubanco.fdb
lembrando que este local deve ta compartilhado na rede se vc utiliza samba na rede dae nao precisa compartilhar
só passar o caminho como lhe disse

Se seu servidor fica em um linux e sua aplicacao fica em terminais windows dae vc configura assim:

TSQLConnection:
Database ipServidor:/basedados/meubanco.fdb

Eu tenho diversas aplicações rodando em rede tanto linux qto windows nunca tive problemas.. porem na aplicacao eu nao compilo o TSQLConnection com o caminho do database eu crio um arquivo .ini e pego o caminho da conexao...

Abraços... Espero ter ajudado..
Responder

Gostei + 0

17/09/2012

Airton Santos

Leandro,

Por favor, será que voce poderia me dizer como fazer para o Delphi pegar o caminho no arquivo .INI e que nome se dá para esse arquivo .INI e em que local ( servidor? diretorio? )

Outra coisa, o executável tem que ser chamado do micro do usuário ou servidor ?

É que eu usava o BDE na rede. Era bem mais simples.

Obrigado
Responder

Gostei + 0

17/09/2012

Airton Santos

Olá Leandro,
Encontrei aqui mesmo um artigo sobre o assunto, porem as perguntas que fiz ainda são importantes para mim.

Obrigado
Responder

Gostei + 0

17/09/2012

Alisson Santos

Leandro o ideal é criar um arquivo ini com o caminho do banco, e quando for conectar faz a leitura do arquivo e retorno o caminho do banco.
Sempre lembra de instalar no servidor o firebird como servidor e nas estações como cliente.
Responder

Gostei + 0

17/09/2012

Airton Santos

Caro Alisson,

Eu criei na estação o Firebird como servidor. Será que é por isso que não está conseguindo ler o banco no servidor?

Tem obrigatoriamente que ser instalado como cliente na maquina do usuário??

Obrigado
Responder

Gostei + 0

18/09/2012

Alisson Santos

Já passei por isso aqui na empresa logo que entrei.
Todas as estações eram instaladas como servidor, sendo que já existia um servidor de dados aonde fica o banco.
Quando você tem em uma rede dois servidores de firebird mesmo que seja em seu micro, corre o risco de perca de dados e integridade com o proprio banco de dados.
Quando está trabalhando como cliente e servidor o ideal é o servidor está instalado como servidor mesmo e tudo configurado e nas estações como cliente e apenas executando a aplicação.
Só lembrando que caso tenha que fazer algum comando que tenha que utilizar o firebird como o gbak, gsec entre outros tem que direcionar para o firebrid do servidor.

Espero ter ajudado.
Responder

Gostei + 0

18/09/2012

William

Colegas é interessante salientar que para máquina do cliente não é necessário nenhum tipo de instalação Client do Firebird, somente copiar a dll fbclient.dll para o diretório do executável ou pasta System32 do S.O.

Já no servidor é necessário executar a instalação completa.
Responder

Gostei + 0

19/09/2012

Airton Santos

Obrigado a todos,

Vou até o local da instalação para fazer os testes.

T+
Responder

Gostei + 0

19/09/2012

Alisson Santos

Caro amigo wllfl

O que ocorre é que para funcionar corretamente o firebird tem que ter instalado nas estações como cliente, devido a integridade de dados.
Responder

Gostei + 0

19/09/2012

William

Caro colega Alisson, tenho vários sistemas rodando com essa prática e nunca tive problemas com a base de dados, facilita muito o processo de implantação do sistema.

Imagine vc instalar em 50 máquinas ou mais o Firebrid Client...
Responder

Gostei + 0

19/09/2012

Alisson Santos

Caro colega Alisson, tenho vários sistemas rodando com essa prática e nunca tive problemas com a base de dados, facilita muito o processo de implantação do sistema.

Imagine vc instalar em 50 máquinas ou mais o Firebrid Client...


Mais você não vai ter que instalar em cada estação o firebird para funcionar o seu sistema?
Responder

Gostei + 0

19/09/2012

William

Vc pode mandar somente a fbclient.dll para cada estação...
Responder

Gostei + 0

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

Aceitar