Fórum Firebird 1.0 em rede (problemas também) #46953

24/09/2004

0

Caros amigos,

Já lí aqui no forum várias mensagens sobre a configuração do interbase/firebird em rede, e acabei concluindo que a melhor maneira de fazer a conexão funcionar é criar um arquivo .INI com a localização do banco de dados:

alice.ini
-------
[Geral]
Banco de Dados=192.168.1.2:c:\alice\Alice.gdb
---------

E no oncreate do datamodule fazer a leitura do .INI e conectar o banco com:

db.DatabaseName := myINI.ReadString(´Geral´, ´Banco de Dados´, ´alice.gdb´);

No INI servidor uso:
banco de dados=c:\alice\alice.gdb

No INI das estações uso:
banco de dados=192.168.1.2:c:\alice\alice.gdb

Estou testando na estação 192.168.1.15 que localiza o servidor com ping serv1, que responde 192.168.1.2 corretamente.

Porém o banco de dados não abre na estação. Surge uma mensagem indicando que não conseguiu localizar o banco de dados em ´192.168.1.2:c:\alice\alice.gdb´

No servidor o banco abre perfeitamente.
Tenho firebird 1.0 instalado e rodando no servidor. Preciso do firebird na estação?

O que mais posso tentar?


Aerreira

Aerreira

Responder

Posts

24/09/2004

Rodolpho123

Se vc não instalou, tem que instalar o FB client nas estações..


Responder

Gostei + 0

24/09/2004

Vinicius2k

Além do que o Rodolpho mencionou, no servidor use :
[b:767dad3cf0]localhost:c:\alice\Alice.gdb[/b:767dad3cf0]

E lembre-se de setar a propriedade [b:767dad3cf0]AllowStreamedConnect[/b:767dad3cf0] do IBDatabase para [b:767dad3cf0]False[/b:767dad3cf0]

T+


Responder

Gostei + 0

24/09/2004

Aerreira

Além do que o Rodolpho mencionou, no servidor use : [b:1af038d771]localhost:c:\alice\Alice.gdb[/b:1af038d771] E lembre-se de setar a propriedade [b:1af038d771]AllowStreamedConnect[/b:1af038d771] do IBDatabase para [b:1af038d771]False[/b:1af038d771] T+


Já tentei com localhost e não funcionou.

Estou usando Firebird 1.0 e Delphi 5, no componente IBDatabase não existe a propriedade AllowStreamedConnect !

Quanto ao cliente firebird nas estações, ele foi instalado, mas pergunto: não precisa executar nada na inicialização do windows para que o client seja carregado ?


Responder

Gostei + 0

24/09/2004

Gandalf.nho

Atualize seu o IBX e sugiro tentar usar o componente IBDataBaseINI (disponível após atualização). Pegue o IBX em [url]http://codecentral.borland.com/codecentral/ccweb.exe/author?authorid=102[/url]


Responder

Gostei + 0

24/09/2004

Vinicius2k

Já tentei com localhost e não funcionou.

No servidor, TEM que funcionar.

Estou usando Firebird 1.0 e Delphi 5, no componente IBDatabase não existe a propriedade AllowStreamedConnect !

Proceda a atualização do IBX, conforme indicado pela ganldalf.

Quanto ao cliente firebird nas estações, ele foi instalado, mas pergunto: não precisa executar nada na inicialização do windows para que o client seja carregado ?

Absolutamente nada. O Cliente é, basicamente, a DLL [b:8787094a65]gds32.dll[/b:8787094a65]
A instalação do client faz mas uma coisa importante, que é a alteração do arquivo [b:8787094a65]SERVICES[/b:8787094a65], acrescentando a linha :
[b:8787094a65]gds_db 3050/tcp[/b:8787094a65]
ao final do arquivo, verifique se esta linha foi adicionada.

Qual o O.S da(s) estação(ões) e do Servidor?


Responder

Gostei + 0

24/09/2004

Aerreira

Qual o O.S da(s) estação(ões) e do Servidor?


Tudo Win98 SE.
Vou fazer a atualização do IBX e verificar a configuração do Client.
O ´IBX 5.04 for D5 (SP1)´ requer o SP1 do Delphi 5 - onde consigo?


Responder

Gostei + 0

25/09/2004

Aerreira

Vou fazer a atualização do IBX e verificar a configuração do Client. O ´IBX 5.04 for D5 (SP1)´ requer o SP1 do Delphi 5 - onde consigo?


Ok, já estou com Delphi 5 Update Pack 1 e IBX 5.04 instalados e funcionando bem. Propriedade allowStreamedConnected = false.
Sistema funcionando bem em modo local, segunda feira farei testes no ambiente de rede do cliente.


Responder

Gostei + 0

28/09/2004

Aerreira

Ok, já estou com Delphi 5 Update Pack 1 e IBX 5.04 instalados e funcionando bem. Propriedade allowStreamedConnected = false.
Sistema funcionando bem em modo local, segunda feira farei testes no
ambiente de rede do cliente.


Não funcionou. O banco está em 192.168.1.15:c:\alice\alice.gdb

Acho que o problema é que estou primeiro testando se o banco está lá com:

if not fileexists(myINI.ReadString(´Geral´, ´Banco de Dados´, ´alice.gdb´)) then

E a função fileexists não está encontrando. Vou executar linha de conexão (abaixo) sem o teste do fileexists. Porque o filexists não funciona informando o IP ?

db.DatabaseName := myINI.ReadString(´Geral´, ´Banco de Dados´, ´alice.gdb´);


Responder

Gostei + 0

28/09/2004

Vinicius2k

Porque o filexists não funciona informando o IP ?

Porque realmente não existe... este não é um caminho (UNC) válido ...
Para o teste ter sucesso vc teria q fazer :
1. Compartilhar a unidade. (Isso é péssimo) ou no mínimo a pasta onde se encontra o gdb. Note que compartilhamentos compromentem MUITO a segurança e são totalmente desnecessários com o IB/FB.
2. O nome do arquivo para testar teria que ser : \\192.168.1.15\c\alice\alice.gdb

O que deve estar lhe confundindo é a obrigação de informação do path completo do arquivo. Entenda dessa forma...
Vc diz ao Client :
´Quero acessar o serviço gds_db do servidor [b:ee7625172a]192.168.1.15[/b:ee7625172a] e nele conectar-me ao banco [b:ee7625172a]c:\alice\alice.gdb[/b:ee7625172a]´
Esta é uma ilustração para traduzir o quer dizer a linha 192.168.1.15:c:\alice\alice.gdb


Responder

Gostei + 0

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

Aceitar