Jump to content

Delphi chamada_delphi.png acbr.png

C6 chamada_c6.png botao.png

Abrir banco de dados Firebird


milaneznando
Go to solution Solved by milaneznando,
  • Este tópico foi criado há 1527 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Prezados, bom dia!

Recebi um contato esta semana de um cliente que quer modernizar o software dele. O que ocorre é o seguinte, ele tem um sistema muito antigo, desenvolvido em DELPHI com banco de dados InterBase (arquivo extensão GBD).

Ele tem um servidor local linux onde este banco fica hospedado e para fazer o acesso, ele utiliza a ferramenta IBExpert. 

Fiz toda a instalação do InterBase, IBExpert, porém quando eu tento fazer a conexão com o banco de dados do meu cliente, ocorre um erro dizendo que o banco de dados não é valido (irei inserir a foto do erro junto á este tópico).

 

Alguem já enfrentou algum problema similar? Se sim, sabe como resolver?

Grato por enquanto.

 

Att,

Fernando.

ErrorInterBase.PNG

Link to comment
Share on other sites

  • Consultores

então o caminho que está informando não condiz

tu tem que pegar o caminho do linux se é que entendi ele está com o sistema no linux.

 

Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

Link to comment
Share on other sites

8 minutos atrás, Juliomar Marchetti disse:

então o caminho que está informando não condiz

tu tem que pegar o caminho do linux se é que entendi ele está com o sistema no linux.

 

Olá Julio, grato pela sua resposta.

Esta base de dados que eu trouxe esta na minha empresa. O sistema que o meu cliente usa, não fomos nós que desenvolvemos, o cliente disponibilizou a base de dados dele para nós para que pudessemos fazer a importação dos dados para o sistema que nós estamos desenvolvendo para ele, ou seja, essa base de dados não esta na rede dele, esta na rede da nossa empresa. A "unica" coisa que precisamos é conseguir acessar essa base de dados para exportar os dados das tabelas e importar para o novo sistema.

Link to comment
Share on other sites

  • Consultores

Certo então é outra coisa

a versão que tu instalou do firebird não corresponde ao do FDB

Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

Link to comment
Share on other sites

21 horas atrás, Juliomar Marchetti disse:

Certo então é outra coisa

a versão que tu instalou do firebird não corresponde ao do FDB

Consegui configurar via ODBC, pois preciso abrir este banco via excel, porém, ainda estou tendo o erro de que o banco de dados não é valido (desta vez pelo Excel).

Referente á versão do Firebird, eu tenho exatamente a mesma versão instalada que a do meu cliente.

Obrigado pela resposta, Juliomar!

Link to comment
Share on other sites

Bom dia.

Amigo, pelo que entendi o sistema antigo usa Interbase, então vc deve pegar o backup do banco, arquivo GBK, levar pra sua máquina e restaurar, olhando a imagem vc copiou o GDB direto.

O problema é que não sei se o backup do interbase (imagino que seja o 6) restaura sem erros no firebird 2.5/superior, talvez se vc instalar em uma virtual um firebird 1.5 e restaurar esse GBK dai depois subir pra sua versão do firebird atual.

Londrina - PR

Link to comment
Share on other sites

54 minutos atrás, armando.boza disse:

Bom dia.

Amigo, pelo que entendi o sistema antigo usa Interbase, então vc deve pegar o backup do banco, arquivo GBK, levar pra sua máquina e restaurar, olhando a imagem vc copiou o GDB direto.

O problema é que não sei se o backup do interbase (imagino que seja o 6) restaura sem erros no firebird 2.5/superior, talvez se vc instalar em uma virtual um firebird 1.5 e restaurar esse GBK dai depois subir pra sua versão do firebird atual.

Bom dia Armando, obrigado pela sua resposta!

Então, andei procurando na internet e vi que o arquivo que deve ser restaurado é o .GBK, agora estou tentando entrar em contato com o meu cliente para que eu possa tentar gerar o GBK. Ele armazena esse banco em um computador linux (não sei qual distro/versão) e quando precisa acessar o banco, ele acessa via IBExpert. Vou ver se consigo acessar o PC do meu cliente para tentar gerar um backup.

Novamente, grato pela sua resposta!

Link to comment
Share on other sites

5 minutos atrás, milaneznando disse:

Bom dia Armando, obrigado pela sua resposta!

Então, andei procurando na internet e vi que o arquivo que deve ser restaurado é o .GBK, agora estou tentando entrar em contato com o meu cliente para que eu possa tentar gerar o GBK. Ele armazena esse banco em um computador linux (não sei qual distro/versão) e quando precisa acessar o banco, ele acessa via IBExpert. Vou ver se consigo acessar o PC do meu cliente para tentar gerar um backup.

Novamente, grato pela sua resposta!

Quando vc abrir o ibexpert e gerar o backup fique atento ao path de saída do arquivo, pois no linux é "/" (barra normal) ex: /home/user/banco

Londrina - PR

Link to comment
Share on other sites

2 minutos atrás, armando.boza disse:

Quando vc abrir o ibexpert e gerar o backup fique atento ao path de saída do arquivo, pois no linux é "/" (barra normal) ex: /home/user/banco

Certo, Armando. 

Obrigado pela dica, me atentarei ao caminho de output do arquivo.

Link to comment
Share on other sites

Pessoal, estou postando mais duas imagens... 

Depois de muito tempo procurando uma solução para fazer com que o erro citado acima pudesse ser resolvido, descbri que ao configurar o meu banco de dados, eu deveria colocar a conexão Remote/TCP, com o meu ip no servername.

Agora, ao tentar a conexão, o erro é outro... Poderiam me dar mais algumas dicas?

 

Att,

Fernando.

Print1.PNG

Print2.PNG

Link to comment
Share on other sites

1 minuto atrás, armando.boza disse:

Mas o banco de dados não está em servidor linux?

Olá, Armando!

O banco esta em servidor linux na empresa do meu cliente.

Eu trouxe o arquivo GDB para minha empresa e estou tentando acessar do meu computador para que eu possa visualizar as tabelas, porem, quando tento fazer a conexão, os mensagens acima mostradas nas imagens são apresentadas.

Link to comment
Share on other sites

  • Moderadores

A primeira coisa é descobrir se o servidor de produção é Interbase ou Firebird e qual a versão. A extensão indica que é Interbase, mas não necessariamente.

Você pode usar a opção Services - Server Properties / Log do IBExpert para descobrir.

Firebird 1.0 tinha compatibilidade com Interbase 6.0. Versões mais novas dos SGBD não tem compatibilidade.

Um banco de dados criado numa versão do Firebird pode ser acessado em um servidor com uma versão do Firebird mais recente, já o inverso não é verdadeiro. Você terá um erro de versão do ODS incompatível. Mesmo assim, é recomendável fazer um backup na versão antiga e restaurar na mais recente.

Também pode haver problema de compatibilidade se o banco foi criado na versão 64 do Firebird e estiver tentando abrir na versão 32.

Não mantenha Interbase e Firebird instalado ao mesmo tempo, os processos usam a mesma porta 3050 para receber as conexões.

Por último: cuidado com a GDS32.DLL, se selecionar a opção de criar a DLL na instalação do Firebird para retrocompatibilidade. Sempre que desinstalar verifique se ela foi deletada (geralmente ela fica na pasta do sistema \Windows\System32 ou \Windows\SysWOW64. Tenha certeza que a GDS32.DLL é da versão do servidor Interbase ou Firebird instalado.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link to comment
Share on other sites

21 horas atrás, BigWings disse:

A primeira coisa é descobrir se o servidor de produção é Interbase ou Firebird e qual a versão. A extensão indica que é Interbase, mas não necessariamente.

Você pode usar a opção Services - Server Properties / Log do IBExpert para descobrir.

Firebird 1.0 tinha compatibilidade com Interbase 6.0. Versões mais novas dos SGBD não tem compatibilidade.

Um banco de dados criado numa versão do Firebird pode ser acessado em um servidor com uma versão do Firebird mais recente, já o inverso não é verdadeiro. Você terá um erro de versão do ODS incompatível. Mesmo assim, é recomendável fazer um backup na versão antiga e restaurar na mais recente.

Também pode haver problema de compatibilidade se o banco foi criado na versão 64 do Firebird e estiver tentando abrir na versão 32.

Não mantenha Interbase e Firebird instalado ao mesmo tempo, os processos usam a mesma porta 3050 para receber as conexões.

Por último: cuidado com a GDS32.DLL, se selecionar a opção de criar a DLL na instalação do Firebird para retrocompatibilidade. Sempre que desinstalar verifique se ela foi deletada (geralmente ela fica na pasta do sistema \Windows\System32 ou \Windows\SysWOW64. Tenha certeza que a GDS32.DLL é da versão do servidor Interbase ou Firebird instalado.

Olá BigWings, boa tarde! 

O banco de dados é Firebird, e a versão que esta instalada no servidor do meu cliente é a 2.5, igualmente a que tenho instalado em minha máquina. 

Eu estou configurando o banco em um ODBC para que eu possa acessar o banco via Excel.

Eu não tinha me atentado á versão da dll GDS32...

Vou instalar os programas em uma máquina virtual de 32x para testar...

Obrigado por enquanto!

Link to comment
Share on other sites

Amigos houve um grande avaço ao tentar abrir o banco de dados. A dificuldade que eu estou tendo agora, é em relação a usar um select na tabela PREPEDIDOS, em qualquer outra tabela o comando é executado normalmente, a dificuldade é somente com a tabela PREPEDIDOS.

Alguem ja teve este erro? Procurei por esse BLR offset 17, porém, não achei nenhuma resposta referente a esta mensagem.

ErrorDB.PNG

Link to comment
Share on other sites

  • Moderadores
1 hora atrás, milaneznando disse:

Alguem ja teve este erro? Procurei por esse BLR offset 17, porém, não achei nenhuma resposta referente a esta mensagem.

Significa que o banco tenta usar a função DIF que está definida em uma UDF personalizada.

Essas funções são binários compilados .DLL (Window) ou .so (Linux) e devem estar no diretório Firebird\UDF no servidor.

https://www.devmedia.com.br/7-utilizando-e-criando-udfs-no-firebird-interbase/4848

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link to comment
Share on other sites

  • Solution

Pessoal, depois de muito procurar e quebrar a cabeça, descbri o que era... 

O problema era que a minha UDF DIF tinha pendência da DLL rfunc.dll.

Baixei a DLL do site do Firebird e adicionei na pasta UDF no diretório do Firebird.

Ao executar o select, nenhum erro foi apresentado e consegui visualizar as tabelas.

Muito obrigado á todos pela ajuda.

Pode encerrar este tópico.

Link to comment
Share on other sites

  • Este tópico foi criado há 1527 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.