GARANTIR DESCONTO

Fórum Como acessar Firebird na web Zeos? #59947

08/07/2008

0

Estou iniciando o desenvolvimento com o Firebird utilizando o Zeos 6.6.2 + Firebird 2.0 + Delphi 2007.

Minha dúvida é como acessar o banco de dados na web utilizando o zeos.

Exemplo:
coloquei o banco de dados num endereço como neste exemplo:
http://78.44.330.2/~arquivo/site/firebird/dados.fdb

Se coloco o link acima direto no browser ele baixa o arquivo mas não consigo abri-lo direto do aplicativo.

Tentei a configuração no Zeus:
hostname=78.44.330.2
Database=/~arquivo/site/firebird/dados.fdb

O problema é que o programa chega a acessar a internet mas demora, não conect a apresenta a seguinte mensagem de erro:

[color=red:9b685650fd]SQL Error: Unable to complet network request to host ´77...´
Failed to establish a connection.
...
.Error Code: -902. Unsuccessful excecution caused by a system error that precludes... [/color:9b685650fd]

Agradeço a que puder me ajudar.


Asales

Asales

Responder

Posts

14/07/2008

Discorpio

Boa tarde Asales.

Voce já tentou usar o componente IBDatabase da palheta Interbase :?:

Faço essa pergunta porque este componente permite voce acessar o seu banco remotamente via protocolo TCP/IP.

Coloque um IBDatabase e click duas vezes dentro dele.

Ao aparecer a caixa Database Component Editor, dentro da caixa de texto de nome ´Server´, digite o nome do seu servidor ou o número de IP do mesmo.

Em ´Protocol´ escolha TCP/IP.

Em ´Database´ digite o local da pasta onde se encontra o seu banco físico no Servidor, ex: ´C:\Firebird\Meubanco.gdb´

Em User_Name digite ´SYSDBA´ e Password = ´mastekey´

Desmarque a opção Login Prompt e pronto.

Coloque um componente IBTransaction e na propriedade Default Transaction do IBDatabase, aponte para este IBTransaction.

Depois é só utilizar os outros componentes que lêem tabelas tais como IBQuery, IBTable e etc, ligados ao IBDatabase.

Eu nunca utilizei os componentes Zeos, pensava eu que o mesmo era utilizado para conectar bancos MySQL e o PostGreSQL via ODBC, porém se ele conecta ao Interbase / Firebird, isso eu não sei te informar, mas acredito que não seja, pois até agora não conheço nenhum componente que se conecte com o Firebird via ODBC.


Responder

Gostei + 0

15/07/2008

Moura

Amigo, eu tenho sistema em FB rodando via acesso remoto perfeitamente e é totalmente diferente da forma que você utiliza.
[b:25ce1e9c7f]Eu uso componente ZEOS 6.6[/b:25ce1e9c7f]

Percebo que a forma como vc está fazendo está errada.
Qualquer sistema que acessar ´http://78.44.330.2/~arquivo/site/firebird/dados.fdb´ pensará que é para fazer ´download´ ao invéz de fazer leitura e gravação.

[b:25ce1e9c7f]Utilizo assim:[/b:25ce1e9c7f]
A) - Você deve hospedar em um servidor dentro da empresa empresa do cliente ou em qualquer lugar do planeta que ele queira(opção);

B) - Sua internet ADSL deve dispor de IP fixo e com um bom link (recomendo no minimo 1mb);

C) - O Firewall do seu modem ADSL deve ser configuradao para quando receber uma chamada de fora na porta 3050 (porta padrão do FB/IB) deverá encaminhar para o IP do servidor (ex: 192.168.0.1) onde está hospedado o banco de dados ".FDB". Seu servidor pode até mesmo ser Linux.

C) Na maquina cliente,  no endereço (dependendo do componente dataacess) ao invés de informar "localhost"  para conexão do Firebird vc deve informar o IP fixo do servidor. O servidor pode estar do outro lado do planeta. Vai conectar normalmente desde que esteja devidamente configurado.

D) Deve informar o endereço da pasta onde está localizado o arquivo ".fdb"



[i:25ce1e9c7f]Observação: Tenho um cliente que acessa o banco de dados FB da empresa aqui no Brasil lá dos Estados Unidos quando ele viaja... Dessa forma ele acompanha a movimentação de sua empresa.
[/i:25ce1e9c7f]

Veja imagem de exemplo abaixo.

Em modo runtime:
[img:25ce1e9c7f]http://www.dbsul.com.br/exemplo_remoto/imagem001.jpg[/img:25ce1e9c7f]

Em modo design (componente ZEOS):
[img:25ce1e9c7f]http://www.dbsul.com.br/exemplo_remoto/imagem002.jpg[/img:25ce1e9c7f]

Para maiores esclarecimentos, acesse nosso site ( www.dbsul.com.br ) baixe um demo e teste remotamente.

.


Responder

Gostei + 0

15/07/2008

Discorpio

Boa noite a todos.

Tai, essa eu não sabia.

Para mim os componentes Zeos só conectavam via ODBC, e confesso que já me sinto interessado por eles, pois utilizo muito o banco de dados PostGreSQL e seu que o Zeos é também ótimo para conectar esse banco.


Responder

Gostei + 0

17/07/2008

Asales

Agradeço as dicas mas ainda não consegui solucionar o problema.

O banco de dados do Firebird está hospedado num [b:56e43e2e04]site[/b:56e43e2e04] na internet e não num servidor de empresa.
Ele pode ser acessado desta forma
http://78.44.330.2/~arquivo/site/firebird/dados.fdb
ou desta
http://www.meusite.com.br/~arquivo/site/firebird/dados.fdb

Tentei diversas opções de configuração no zeos, como:
HostName = 78.44.330.2
Database = /~arquivo/site/firebird/dados.fdb

mas não tive sucesso.

Como configurar o zeos para acessar o banco de dados neste site?
Obrigado.


Responder

Gostei + 0

17/07/2008

Moura

Sales,
nesse caso seu site/provedor deve dispor de serviço de banco de dados Firebird. Assim como a maioria oferecem MySQL, SQL-Server e Oracle, etc...

Vou capturar umas telas de exemplos práticos e postar aqui durante o dia.

Mas da forma como está fazendo não funcionará. Como eu falei, o sistema interpretará como instrução para download e não como leitura/gravação.


Responder

Gostei + 0

17/07/2008

Asales

Valeu moura,
Estarei no aguardo dos exemplos.
Obrigado.


Responder

Gostei + 0

17/07/2008

Moura

Discorpio,

A principio eu relutei muito para adotar o uso do ZEOSDBO. Foram meses de testes até decidirmos usar o ZEOSDBO (antes era ZEOSLIB) definiticamente. Há mais de 4 anos.

Ele conecta usando API interna do próprio componente ZEOS e via ODBC tambem por meio de API interna. Particulamente não conheço nenhum componente tão rico em recursos, altamente confiável, rapido e melhor ainda: é opensource!!!

Hoje o ZEOS está na versão 6.6.x.

É semelhante ao respeitado DBExpress, pode acessar qualquer tipo de banco de dados do mercado. Mas o DBExpress ainda dá certos conflitos ao usar MySQL e Firebird 2.0.

O ZEOS não tem isso, ele conecta e trabalha quietinho sem dever nada!

O ruim do DBExpress é que você precisa usar muitos componentes para executar as funções desejadas. Já ZEOS, basta uma unica [i:98ad365b37]zQuery[/i:98ad365b37] e pronto.

Eu mesmo já personalizei o ZEOS para efetuar alguns tratamentos de banco de dados tais com retornar ao usuário instruções em português-Br. Para nós ele está sob medida!

Inclusive acessa dados remotamente como no exemplo acima.
ZEOS é um respeitável e robusto componente!


.


Responder

Gostei + 0

17/07/2008

Discorpio

Bom dia a todos.

Obrigado Moura.

Gostaria de mais uma pergunta. O DBExpress é Unidirecional e trabalha desconectado, esta é a razão dele utilizar muitos componentes. O que é queria saber é se o Zeos trabalha da mesma forma :?:

Muito embora só utilize o componente ZQuery para conectar a tabela, ou seja, como ele trabalha com esse DataSet, este é desconectado também :?:


Responder

Gostei + 0

17/07/2008

Moura

Discorpio,

Concordo. O DBExpress é unidirecional e bidireciona se usar SimpleDataset.

Quanto ao ZEOS ele trabalha sempre conectado. Então como resolver isso?

No ZEOS, componente [i:fb6b19015a]´TZConnection´[/i:fb6b19015a] na propriedade [i:fb6b19015a]´FTransactIsolationLevel´[/i:fb6b19015a] defina [i:fb6b19015a]´tiReadCommitted´[/i:fb6b19015a].

na propriedade [i:fb6b19015a]´Autocommit´[/i:fb6b19015a] deixe como True (padrão).

Dessa forma os dados em rede trabalharão sincronizados. Ele sempre fará uma consulta fisica no banco de dados. O mesmo que o Dbexpress faz quando está desconectado... conecta, trás os dados e fecha a conexão. O ZEOS fará o mesmo.

O que um usuário fizer os outros terminais tem acesso em tempo real! [b:fb6b19015a]Sempre use [i:fb6b19015a]´tiReadCommitted´[/i:fb6b19015a][/b:fb6b19015a].
Do contrário os demais terminais só terão acesso se você fechar ( ZConnection.Connected:=False; ) e abrir (ZConnection.Connected:=True;).

.


Responder

Gostei + 0

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

Aceitar