Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
Marcelo_Ribeiro Aprendiz

Registrado: Quarta-Feira, 17 de Fevereiro de 2010 Mensagens: 127
|
Enviada: Seg Jul 30, 2018 11:54 pm Assunto: Acesso Remoto - Firebird + TSqlConnection |
|
|
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 |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Ter Jul 31, 2018 9:36 am Assunto: |
|
|
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 |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Ter Jul 31, 2018 10:02 am Assunto: |
|
|
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 |
|
 |
Marcelo_Ribeiro Aprendiz

Registrado: Quarta-Feira, 17 de Fevereiro de 2010 Mensagens: 127
|
Enviada: Ter Jul 31, 2018 10:26 am Assunto: |
|
|
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 |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Ter Jul 31, 2018 2:44 pm Assunto: |
|
|
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 |
|
 |
Marcelo_Ribeiro Aprendiz

Registrado: Quarta-Feira, 17 de Fevereiro de 2010 Mensagens: 127
|
Enviada: Ter Jul 31, 2018 2:55 pm Assunto: |
|
|
Confirmei aqui, e a principio, o server vai estar na mesma rede que os clients |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Ter Jul 31, 2018 3:34 pm Assunto: |
|
|
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 |
|
 |
Marcelo_Ribeiro Aprendiz

Registrado: Quarta-Feira, 17 de Fevereiro de 2010 Mensagens: 127
|
Enviada: Ter Jul 31, 2018 3:41 pm Assunto: |
|
|
Entendi.
Blz manos, vou fazer os testes hoje à noite. Aí posto os resultados.
Vlw pela ajuda
Abs |
|
Voltar ao Topo |
|
 |
Marcelo_Ribeiro Aprendiz

Registrado: Quarta-Feira, 17 de Fevereiro de 2010 Mensagens: 127
|
Enviada: Qua Ago 01, 2018 12:05 am Assunto: |
|
|
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 |
|
 |
|