ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Acesso Remoto - Firebird + TSqlConnection

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Marcelo_Ribeiro
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 17 de Fevereiro de 2010
Mensagens: 127

MensagemEnviada: Seg Jul 30, 2018 11:54 pm    Assunto: Acesso Remoto - Firebird + TSqlConnection Responder com Citação

E aí pessoal, tudo bem?

Quero montar um sistema que irá acessar um banco de dados Firebird em outra máquina.

Fiz um teste, e criei um datamodule com um TSQLConnection (no database, tá o ip e o caminho \\192.168.1.17\C:\Banco\Banco.FDB).

Coloquei tb um TSQLquery. Ao dar um Connect, ele conecta normal. Se eu tentar executar do meu note (que tá instalado o Firebird), vai normal, faz consulta e traz os dados. Mas se eu colocar o exe em outro pc, na hora de conectar e fazer a consulta, dá um erro (Unable to load dbxfb.dll). Coloquei o Midaslib no uses, mas mesmo assim, nada. Nesse outro pc, não tem nenhum banco instalado.

Nessa aplicação de teste, tem um botão (que faz um select simples), e um edit (que exibe dados de uma coluna).

Será que fazendo a conexão remota desse jeito rola? Ou qual seria o melhor jeito de fazer essa conexão client-server?

Tô mexendo pela primeira vez (tô criando do zero) nessa configuração de ambiente client-server.

Valeu pessoal

Abs
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Ter Jul 31, 2018 9:36 am    Assunto: Responder com Citação

Bom dia,

Experimente copiar a dbxfb.dll do computador onde você tem o Delphi instalado para a pasta onde está o executável no outro computador. Essa é a biblioteca do DBExpress para o Firebird.
Vai ser necessário copiar também a biblioteca do Firebird (fbclient.dll) para a pasta do executável.

Espero que ajude


Editado pela última vez por imex em Ter Mar 07, 2023 5:45 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Ter Jul 31, 2018 10:02 am    Assunto: Responder com Citação

No computador servidor instale o servidor de banco de dados do firebird e abra as portas para entrada e saída no firewall.
Na máquina cliente não precisa instalar nada, mas precisa da biblioteca do banco e do firebird, neste caso, a fbclient.dll.
Você também deve abrir aas portas para entrada e saida do firewall.
Caso dê algum problema ao acessar a rede, verifique também o NAT do modem roteador adsl ou roteador, pois o firewall do mesmo pode impedir o acesso do banco de dados.

Para acessar remotamente é possível, mas você precisa de um ip fixo contratado ou utilizar um servidor de dns free, mas pode ter instabilidades neste caso.



bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Marcelo_Ribeiro
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 17 de Fevereiro de 2010
Mensagens: 127

MensagemEnviada: Ter Jul 31, 2018 10:26 am    Assunto: Responder com Citação

Opa, e aí?

Ah, blz. Vou fazer esses testes então.

Com relação ao banco, uma dúvida: a aplicação seria algo simples. Talvez seria melhor instalar Oracle ou Sql Server Express Edition, ou ficar com o Firebird? Ou usar algum outro SGBD?

No caso do Oracle ou Sql Server, será que precisaria de alguma dll no client (igual ao Firebird)?

Valeu
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Ter Jul 31, 2018 2:44 pm    Assunto: Responder com Citação

Confirma uma coisa... o servidor com o banco de dados vai estar remoto mesmo? Ou vai estar na mesma rede local que esse outro PC?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Marcelo_Ribeiro
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 17 de Fevereiro de 2010
Mensagens: 127

MensagemEnviada: Ter Jul 31, 2018 2:55 pm    Assunto: Responder com Citação

Confirmei aqui, e a principio, o server vai estar na mesma rede que os clients
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Ter Jul 31, 2018 3:34 pm    Assunto: Responder com Citação

Acho que qualquer um dos bancos de dados que você citou pode ser utilizado nesse caso.
E normalmente é necessária a instalação de alguma biblioteca/dll da aplicação e do banco de dados nos clientes, seja qual for o BD utilizado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Marcelo_Ribeiro
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 17 de Fevereiro de 2010
Mensagens: 127

MensagemEnviada: Ter Jul 31, 2018 3:41 pm    Assunto: Responder com Citação

Entendi.

Blz manos, vou fazer os testes hoje à noite. Aí posto os resultados.

Vlw pela ajuda

Abs
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Marcelo_Ribeiro
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 17 de Fevereiro de 2010
Mensagens: 127

MensagemEnviada: Qua Ago 01, 2018 12:05 am    Assunto: Responder com Citação

Consegui fazer a conexão via socket mesmo. Criei um remote data module, criei um server, e pelo socket server, consegui fazer a conexão.

Mas tem um porém. To usando Firebird. No meu note, tô com o server rodando, e rodei o client tb. Ao mesmo tempo, rodei o client em outro pc.

Tenho uma tabela teste que possui 6 registros. Ao abrir o client nos 2 pcs, a consulta traz os 6 registros. No meu note, crio um 7º registro. Mas no outro pc, ao consultar, ele só traz 6 registros. Se eu fechar e abrir de novo, ao consultar traz os 7.

Criei o remote data module como Instancing = Multiple instance e Threading Model = Single. Será que isso tem alguma coisa a ver?

Valeu

----------------------
Update: Instalei o Sql Server. Fazendo tudo do mesmo jeito, o Sql server atualiza, mas o firebird não. Será que é limitação?

Vou continuar fuçando aqui hehe

Valeu
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB