Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-12-2008
Sick boy Sick boy is offline
Miembro
 
Registrado: may 2003
Ubicación: Cantabria
Posts: 245
Poder: 21
Sick boy Va por buen camino
Mensaje de error extraño

Hola,

Hace 3 semanas que me estoy volviendo loco con un error en una base de datos Firebird 2.1. Uso Delphy 7 y MDO (Mercury Database Objects)

El error es:
Dynamic SQL ErrorSQL error code= -502 Invalid cursor declaration. Statement alreaady has a cursor XXXXXXX

Entiendo lo que dice el error, los componentes MDO me indican que se esta intentando redeclarar un cursor.

El cursor XXXXXXX esta creado hasta que cierras el programa, de modo que una vez que comienza el error, el numero XXXXXXX aparece varias veces en el error, aunque segun lo que hagas, pueden salir numeros diferentes. Lo que es seguro es que una vez da el error en un cursor, este no se libera, y continua dando errores.

Lo raro es que es:
1.- ALEATORIO. El error comienza a salir aproximadamente 45 minutos despues de comenzar a trabajar con la BBDD. No hay una sentencia en concreto que falla, puede fallar en cualquier sitio.
2.- Solo pasa en 1 base de datos, otras bases de datos iguales funcionan sin problemas.
3.- El programa que accede a la base de datos es el mismo, y llevaba 6 meses funcionando sin problemas.
4.- Si restauro la copia de seguridad en otro equipo, no consigo que aparezca el dichoso error.

El problema surgió del siguiente modo:
1.- Realicé un BackUp de la BBDD, version 2.0
2.- Desinstale Firebird 2.0 e instale 2.1 SuperServer
3.- Restauré la copia de seguridad.
4.- Arranque el programa e inicialmente estaba todo bien, ningun error en todo el proceso.
5.- Me conecté con el servidor via TCP para comprobar la conexion, y todo correcto.

Al dia siguiente, comenzó a salir este error.

He buscado y rebuscado, o no hay nada sobre el error, o son post muy antiguos.

¿Ha nadie le ha pasado????

He probado de todo (uno a uno y en este orden):
** backup y restore (ningun mensaje de error)
** Modifique el firebird.config, aumentando cached database pages a 8192
** gfix (todas las opciones que se ocurrieron, ningun error)
** Volcado de datos manual a una BBDD vacia y nueva (hice una aplicacion que lee los datos y los inserta mediante un query uno a uno, haciendo un commit cada X registros, luego ajusta los generadores y deja la BBDD clonada)

Como veis, no tengo ni idea de por donde atacar el problema

AYUDAAAAAAAAAAAAA, por favorrrrrrrrrrrrr

Quizas este equivocado, pero creo que el problema no esta en mi codigo, entiendo que de ser asi tendría problemas con todas las bases de datos, no solo con esta en concreto.

No se si via codigo hay alguna forma de "bordear" la excepcion, intentando que cuando salte el problema, los MDO utilicen el cursor existente, en lugar de intentar crearlo de nuevo.

Por otro lado, la numeracion de los cursores no es aleatoria????
Si es aleatoria, que mala suerte que mi programa intente declarar aleatoriamente siempre el mismo cursor, no se, es muy raro.

En algun sitio leí que era mejor cambiar los Tquery por TSQL, supongo que no hay mucha diferencia. Que pensais???

Por favor, ayuda, estoy desesperado.
Responder Con Cita
 



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
Mensaje de error extraño Sick boy Firebird e Interbase 0 12-12-2008 11:22:26
Error Extraño SysAdminGCS Varios 1 18-08-2007 16:30:49
Error Extraño Esau SQL 4 17-06-2005 22:44:16
error extraño gilberto_1126 Varios 2 05-09-2004 01:01:01
Error Extraño Esau OOP 5 19-11-2003 18:01:32


La franja horaria es GMT +2. Ahora son las 04:35:23.


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