[firebase-br] Interbase 6.0 e Firebird 1.5.x/2.0 são 100% compatíveis?

marco marky7474 em gmail.com
Sex Dez 14 16:49:38 -03 2007


Olá,

	Em nossa empresa temos um programa para automação comercial, presumo
que escrito (mal) em Delphi, que usa o Interbase 6.0 como banco de
dados. Pelo que pesquisei, ele utiliza a biblioteca GDS32.DLL para se
conectar com o banco de dados. Estamos estudando a mudança do nosso
atual servidor, que atualmente é uma máquina com Windows XP rodando o IB
6.0, para o servidor novo, que atualmente está rodando o Debian 4.0
AMD64. Considerando esses fatores, tenho as seguintes perguntas:

1-É seguro dizer que qualquer programa escrito em Delphi esperando o
Interbase 6.0 como servidor é 100% compatível com os Firebird superiores
ao 1.0 usando as suas respectivas bibliotecas GDS32.DLL?
2-Usando uma máquina virtual com o Debian i386 junto com o Firebird do
repositório (1.5.3-SS), fiz um backup do banco de dados rodando no
servidor atual através do gbak para depois restaurá-lo na máquina
virtual. Ainda usei a extensão do IB, o GDB. Esse procedimento é o mais
seguro para garantir o bom funcionamento do novo banco?
3-É seguro restaurar um backup "transportável" feito com o IB 6.0 no
Windows numa instalação do FB nos Linux?
4-Usando o arranjo da pergunta 2, consegui iniciar o programa com
sucesso e usar os poucos recursos que conheço do mesmo sem nenhum erro
aparente. No entanto, após um tempo sem mexer no programa, o programa
trava (com a ampulhetinha escrito SQL) e sai quando tento acessar
informações dependentes do banco de dados. Pode ser que o firewall do
micro cliente esteja perdendo o estado da conexão e bloqueando conexões
subsequentes? Ou seria algum outro erro de configuração? Noto que isso
não acontece quando o computador está acessando o servidor de produção
(o XP rodando IB 6.0).
5-Em uma outra instalação, no qual não lembro os detalhes se não que
provavelmente fiz o descrito na pergunta 3 (backup do IB 6.0 no FB 1.5.x
Linux), o tal do programa inicia normalmente (e rápido!) mas ao fazer
uma ação trivial no programa (se não me engano, pelo que vi no
wireshark, um statement com INSERT, mas não confiem no meu SQL de fundo
de quintal :P) ele trava com uma mensagem parecido com o contido nesse
bug:
http://tracker.firebirdsql.org/browse/CORE-1331
A parte interessante é essa: "arithmetic exception, numeric overflow, or
string truncation", o resto era diferente mas não lembro o que era.
Seria isso algum possível erro na transição entre o IB 6.0 para o FB ou
seria uma incompatibilidade? Noto que é possível que nessa configuração
o GDS32.DLL usado pelo cliente pode ter sido do IB 6.0.

A razão pela qual quero evitar os binários do IB 6.0 e do FB 1.0 (que
presumo que é muito similar ao IB 6.0) são as falhas de segurança
associados com o mesmo (não que isso faça muita diferença quando os
desenvolvedores do dito programa deixam "masterkey" como a senha do
sysdba...), e o fato de ter o pacote no repositório faz a administração
do servidor uma tarefa bem mais agradável :D.

Aos que leram até aqui, muito obrigado. E desculpem se alguma dessas
dúvidas já foi sanada em outra mensagem, ainda não tive tempo de me
familiarizar com esse negócio de mailing list :).

Marco.





Mais detalhes sobre a lista de discussão lista