Firebird 2.1 migrado para firebird 2.5 e qual Sql Dialect 1 ou 3
26/09/2016
0
Eu to com uma dificuldade aqui no Delphi e no firebird.
Eu estava utilizando o fb 2.1 e resolvi migrar para o 2.5 para fazer uns testes
e me deparei com um problema nos tipos de dados (DATE, TIME e TIMESTAMP) nas tabelas estão como DATE só que
Quando vou para o Delphi no DBE com o SQL Dialect 1 da o erro
"Coluna xxx
Client SQL dialect 1 does not support reference to DATE datatype."
e com o SQL Dialect 3 da esse erro
" '0.0' is not a valid timestamp. "
não sei o que fazer já verifiquei se tem esse valor nas tabelas mais a maioria da tabelas estão vazias só a Tabela de Parametros_do_sistema tem um campo com data e é bem nesta hora que da o erro, eu já verifiquei se tem 0.0 e não tem tem a data e nada mais. devo usar o Dialeto 1 ou 3 e como eu resolvo essa questão dos dados...?
Eduardo Silva
Post mais votado
27/09/2016
1º - Realmente você tem um problema, e talvez precisemos trocar um pouco mais de respostas aqui, mas a primeira coisa que Devemos fazer na migração é verificar se os nossos componentes de acesso ao banco suportam o novo banco. Li que você utiliza o BDE mas não há garantias que ele funcione bem com o firebird 2.5. Talvez seja a hora de você pensar numa migração ao menos para o DBExpress.
2 - Outra coisa é sobre a migração da Base. Embora na internet, tenho lido sobre não haver problema em abrir uma base que está no formato 2.1 (OSD 11.1) num firebird 2.5 (OSD 11.2), em minha experiência de trabalho, descobri vários bugs. O correto é você fazer um backup utilizando o executável gback ou o ibExper ainda com o firebird 2.1 instalado e depois, instalar o firebird 2.5 e restaurar o backup usando o gback que vem na pasta do firebird 2.5 (ou restaurar usando o ibexpert mesmo). Feito isso, você pode ter certeza que toda a estrutura OSD foi atualizada.
3 - Se na sua base, tem campos Date e Time então vocÊ só pode trabalhar com o Dialect 3 visto que o dialect 1 não suporta esse tipo, mas se no 3 gera um erro talvez seja ou por causa do formato do BDE ou da falta da conversão correta da base.
Experimente seguir o passo dois e acessar com o Dialect 3, se não der certo, você deveria planejar a migração para o DBExpress.
Espero ter ajudado. se procurar pode responder aqui, se fui útil, marque no joinha dizendo que o tópico foi útil.
Hélio Devmedia
Mais Posts
27/09/2016
Eduardo Silva
Client SQL dialect 1 does not support reference to DATE datatype."
dai quando mudei para o 3 apareceu a msg "'0.0' is not a valid timestamp."
29/09/2016
Eduardo Silva
quando ele passa nesta linha
if (DataModuleGeral.tbParametrosDATA_SISTEMA.AsDateTime<Date) then DataModuleGeral.tbParametrosDATA_SISTEMA.AsDateTime := Date;
da o erro "'0.0' is not a valid timestamp."
29/09/2016
Eduardo Silva
quando ele passa nesta linha
if (DataModuleGeral.tbParametrosDATA_SISTEMA.AsDateTime<Date) then DataModuleGeral.tbParametrosDATA_SISTEMA.AsDateTime := Date;
da o erro "''0.0'' is not a valid timestamp."
29/09/2016
Hélio Devmedia
30/09/2016
Eduardo Silva
Clique aqui para fazer login e interagir na Comunidade :)