Página 1 de 1

Firebird em LAN

Enviado: 15 Out 2018 10:53
por Hasse
Bom dia colegas.

Para os testes iniciais de conexão ao banco Firebird uso o FlameRobin.

A conexão ao Banco de dados Firebird (*.FDB) em modo LOCAL funciona perfeito.

Ao tentar fazer a conexão ao mesmo Banco via LAN no Servidor dá êrro.
O ODBC instalado no Servidor, configurado. No "Teste" do ODBC informa que está OK.

Onde pode estar o êrro ?

Firebird em LAN

Enviado: 15 Out 2018 11:33
por alxsts
Olá!

Não conheço muito bem o Firebird. Pode ser problema na connection string. Não sei se o FB tem configuração de permissão para acesso externo. Pode ser isto também. Pode ser que o próprio servidor não esteja configurado para acesso externo.

Verifique sua conexão. No site The Connection Strings Reference tem exemplos de conexão para todos os bancos de dados.

Poste o trecho de código que está usando.

Firebird em LAN

Enviado: 15 Out 2018 11:56
por Hasse
O Flamerobin é um APP de manutenção especial para Firebird, e desta forma não tenho acesso à string de conexão que ele usa.

Mas, tentarei fazer conexão direta, via programa e te informo do resultado.

Firebird em LAN

Enviado: 15 Out 2018 17:41
por Hasse
Boa tarde.

Surgiu uma outra questão:

O ODBC deve ser instalado e configurado no computador local e apontado para o Banco no Servidor ou ele deve ser configurado no servidor ?

Firebird em LAN

Enviado: 15 Out 2018 18:21
por alxsts
Olá!

ODBC deve ser instalado e configurado em cada máquina que vai acessar o servidor, apontando para este último. No caso de se instalar o banco de dados na máquina local, ODBC vai apontar para ela mesma (localhost ou 127.0.0.1 no IPv4).

Firebird em LAN

Enviado: 15 Out 2018 23:59
por sygecom
Qual erro?

Firebird em LAN

Enviado: 16 Out 2018 09:37
por MSDN
O driver ODBC específico para o banco de dados que deseja usar seria uma ponte entre sua aplicação e o servidor de dados, então as configurações de acesso, ficariam ou no seu código fonte, ou em uma tabela/txt/xml/ini separado, para ser lido na hora da execução do aplicativo :

Código: Selecionar todos

static function entrada()

	   local m_usuario  := 'sysdba'
	   local m_senha    := 'masterkey'
	   local m_hostname := ''
	   local m_banco    := 'broker'
	   
	   local oCursor
	   local cSQL

/*
** exemplo se quiser acessar o mysql
	   * mysql
	   Try
  	   	  CNN:=CreateObject("ADODB.Connection")
          CNN:Open("DRIVER={MySQL ODBC 3.51 Driver};" + ;
                   "server=localhost" + ;
                   ";database=broker" + ;
                   ";uid=root" + ;
                   ";pwd=121230")
	   Catch e
 		  Error Connection CNN
  		  ExitProcess(0)
       End
*/

	   * firebird
	   Try
       	  CNN:=CreateObject("ADODB.Connection")
    	  CNN:Open("DRIVER=Firebird/InterBase(r) driver;UID="+alltrim(upper(m_usuario))+";PWD="+alltrim(m_senha)+";DBNAME="+alltrim(upper(m_hostname))+alltrim(upper(m_banco))+".fdb;CHARSET=WIN1252;DIALECT=3;CLIENT=fbclient.dll")
       Catch e
          Error Connection CNN
  		  ExitProcess(0)
       End

	   ****************************
	   *                          *
	   * criar tabelas do sistema *
	   *                          *
	   ****************************
	   cSQL := "CREATE TABLE COTACAO (ID VARCHAR(15), ID_VEICULO INTEGER, ID_CLIENTE INTEGER, NOME_VEICULO VARCHAR(40), ID_SEGURADORA INTEGER, VEZES INTEGER, FORMA_PAGAMENTO INTEGER, TIPO_FRANQUIA INTEGER, DATA_INICIO DATE, VALOR_FRANQUIA NUMERIC(12,2), VALOR_SEGURO NUMERIC(12,2), COB_CASCO INTEGER, COB_DANOSMAT INTEGER, COB_DANOSCORP INTEGER, COB_MORTE INTEGER, COB_INVALIDEZ INTEGER, OUTROS BLOB, NOME_SEGURADORA VARCHAR(40), PRIMARY KEY(ID))"
	   Try
   	   	  CNN:Execute(cSQL)
       Catch e
   	      //ExitProcess(MsgStop("tabela já existe"))
       End

       return(nil)
No exemplo, conecta usando ADO (windows) + driver ODBC (tem que instalar o do Firebird), e a parte do Try-Catch seria do xHabour, que pode ser usado com Harbour associando xhb.ch, ou claro, substituindo por seu equivalente, que agora não me recordo o nome e sintaxe.

Abraços

Firebird em LAN

Enviado: 16 Out 2018 16:23
por alxsts
Olá!

Reveja suas participações no tópico INICIANTE XHARBOUR - Como acessar .Fdb .Gdb

Firebird em LAN

Enviado: 16 Out 2018 19:49
por Hasse
O problema está no ODBC ou na sua configuração.

Depois de preenchidos todos os campos, ao clicar em Testar, o APP responde que "Não foi possível encontrar o arquivo".

Amanhã posto a imagem da configuração do ODBC e do Êrro.

Firebird em LAN

Enviado: 17 Out 2018 09:23
por Hasse
Bom dia.
Segue imagem do Erro do ODBC.

Firebird em LAN

Enviado: 17 Out 2018 09:37
por Hasse
Somente para tirar dúvida, fui no Servidor, instalei o ODBC e funcionou corretamente.
O Teste confirmou a conexão.

Firebird em LAN

Enviado: 17 Out 2018 13:02
por alxsts
Olá!

Tua máquina é de 32 ou 64 bits? O ODBC instalado é compatível?

Veja: HOW TO: Create an ODBC connection to the Firebird database

Reveja estes tópicos: Como executar um arquivo .UDL de 32 bits em um SO 64 bits e Acesso a Oracle

Firebird em LAN

Enviado: 17 Out 2018 19:19
por Hasse
As DUAS máquinas são em 32 bit.

ODBC compatível, 32 bit. Mesmo porque já tentei instalar o de 64 bit (por falta de atenção), e o SO recusou.