Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-06-2010
David82 David82 is offline
Miembro
 
Registrado: ago 2008
Posts: 27
Poder: 0
David82 Va por buen camino
Equivalencia campo mysql e interbase

Hola a todos, he pasado una base de datos mysql a interbase con la intencion de utilizarla en un programa que ya tengo funcionando, pero en algunos campos me da errores, como por ejemplo los tipo DATE en mysql los tengo que pasar a TIMESTAMP en interbase. Alguien sabe la equivalencia entre otros tipos de datos? Porque al pasar un tipo DOUBLE a DECIMAL me da el siguiente fallo:

Client SQL dialect 1 does not support reference to 64-bit numerical datatype

He probado con DECIMAL y NUMERIC, y con varias precisiones pero no hay manera.

Un saludo!
Responder Con Cita
  #2  
Antiguo 01-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Prueba a usar campos "double" para los números.
Las fechas no sé con seguridad, aunque con firebird que es muy parecido, existen 3 tipos: date, time y timestamp... donde se almacenan fechas, horas y fechashoras... respectivamente.
Ten en cuenta que con interbase/firebird existen el dialecto 1 y el 3. Con el dialecto 1 sólo existen campos date que almacenan fecha y hora juntos.
Sin embargo con dialecto 3 existen los 3 tipos que te he referenciado antes.
Responder Con Cita
  #3  
Antiguo 01-06-2010
David82 David82 is offline
Miembro
 
Registrado: ago 2008
Posts: 27
Poder: 0
David82 Va por buen camino
Perdona pero soy un poco nuevo, para cambiar entre dialectos como puedo hacerlo?

Muchas gracias.
Responder Con Cita
  #4  
Antiguo 01-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Puedes cambiarlo con la utilidad gfix, la encontrarás en el directorio 'bin' de interbase/firebird.
Aquí tienes un sencillo tutorial en formato pdf con los parámetros que acepta.

También creo recordar que se puede cambiar mediante sentencia sql, algo así como:
Código SQL [-]
set dialect 3
Responder Con Cita
  #5  
Antiguo 02-06-2010
David82 David82 is offline
Miembro
 
Registrado: ago 2008
Posts: 27
Poder: 0
David82 Va por buen camino
He utilizado el gfix, no me ha dado ningún error pero tampoco me ha solucionado el problema, me continua dando el mismo error.
También he probado con la sentencia en el editor SQL y me da el siguiente mensaje:

Código:
Executing of script failed
Format '%d' invalid or incompatible with argument
Y por último probé a cambiar el campo a double precision y me da:

Código:
Unsuccessful metadata update
Cannot change datatype for DEBE. Conversion from base type 64-bit numeric to DOUBLE PRECISION is not supported
Cuando ejecuto en el IBconsole la sentencia sql que da problemas en el programa la hace bien, por lo que pienso que el problema estará a la hora de interpretar los datos por parte del delphi, tal vez en los campos de la query, que los tengo definidos como TFloatField
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Equivalencia For Each en Delphi MAXIUM Varios 2 27-03-2009 19:07:29
Equivalencia del map de las STL de c++ savior Varios 2 16-12-2005 16:30:37
equivalencia en Sybase Enan0 SQL 1 19-10-2005 23:58:50
Equivalencia de TShellExecuteInfo en D5 Enan0 Varios 0 10-08-2005 14:41:42
Equivalencia de código. jplj SQL 8 16-06-2004 19:18:00


La franja horaria es GMT +2. Ahora son las 01:40:17.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi