Ir al contenido


Foto

Problema con SQLDialect


  • Por favor identifícate para responder
3 respuestas en este tema

#1 JRichard

JRichard

    Advanced Member

  • Miembros
  • PipPipPip
  • 67 mensajes

Escrito 17 abril 2014 - 09:41

Saludos.

Traigo un problema que espero alguien me pueda ayudar a solucionar.

Actualmente me encuentro realizando una aplicación en Delphi 7 y Firebird 2.5. Dentro de mi base de datos una de las tablas tiene un campo "FECHA" tipo "DATE" y otro campo "HORA" tipo "TIME". El asunto es que cuando intento realizar cualquier operación sobre la tabla se genera una excepción. Adjunto dejo una imagen.

La excepción da a entender que es un error de base de datos "EDatabaseError" y que el tipo de dato "TIME" no es soportado por el SQL dialect 1.

Estoy haciendo uso de la tecnología DBExpress y mi SQLConnection esta configurado correctamente con SQLDialect 3 al igual que mi base de datos.

He leído posibles soluciones pero hasta el momento ninguna me ha funcionado. Hago uso de Windows 7 Ultimate x64.

1.- Borre los archivos gds32.dll de las carpetas System32 y SysWOW64, luego desinstale el Firebird. Instale el Firebird nuevamente, hice una copia del archivo fbclient.dll que se encuentra en la carpeta bin del Firebird luego lo renombre a "gds32.dll" y luego pegue en las carpetas System32 y SysWOW64.

2.- He realizado Backup/Restore 3 veces y configurado la base de datos con SQLDialect 3 y el nuevo archivo gds32.dll.

No se que me recomiendan ya no se que hacer, espero me puedan ayudar! Gracias de antemano! 

Archivos adjuntos


  • 0

#2 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.137 mensajes

Escrito 17 abril 2014 - 08:59

Puedes poner el script de la DB?, Puedes poner el código  Delphi que genera este error?. ¿Utilizas campos persistentes?

Con algo más de información podríamos ayudarte.

Saludos.
  • 0

#3 cram

cram

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 832 mensajes
  • LocationMisiones, Argentina

Escrito 19 abril 2014 - 12:06

¿La reconfiguras con gFix?
¿Por qué no creas al menos una tabla con uno de los campos que te da problema?, y luego pruebas con un select muy simple.
Aparte los campos deben estar definidos como DATE y TIME en forma separada, no como TIMESTAMP.
  • 0

#4 JRichard

JRichard

    Advanced Member

  • Miembros
  • PipPipPip
  • 67 mensajes

Escrito 20 abril 2014 - 05:17

Saludos!

Ya resolví el problema. Era el SQLDialect que no lo estaba configurando bien al iniciar la aplicación. El SQLConnection trae por defecto una configuración predeterminada, lo estaba configurando bien, pero internamente al iniciar la aplicación mediante programación yo le pasaba 3 parámetros "user_name = SYSDBA", "password = masterkey" y "database = ruta a la base de datos". Parece ser que al pasarle algunos parámetros al SQLConnection pierde toda la configuración por defecto y se me alteraban todos los valores que configuraba por defecto en el SQLConnection lo que hacia que el SQLDialect se me colocara en 1 aunque en el SQLConnection por defecto yo le había colocado 3. La solución fue pasarle mediante programación el SQLDialect = 3 y listo asunto resuelto. Gracias por responder!  (b) 
  • 0




IP.Board spam blocked by CleanTalk.