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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-07-2003
ALMERA ALMERA is offline
Miembro
 
Registrado: may 2003
Posts: 42
Poder: 0
ALMERA Va por buen camino
Limite de espacio en un stored procedure??

¿hay un limite de espacio de código a la hora de hacer un procedimiento almacenado?

sospecho que si, ya que he echo uno enormemente grande y me da el siguiente error :
"Invalid request blr at offset 27165"
uso firebird 1.5.

La cosa es que quito unas 10 lineas y ya no da el error, por eso sospecho lo del limite.


Si es así que solución hay???

que no sea la de meter parte del codigo en otro procedimiento almacenado y meterlo en el general como llamada, que esta solución me parece bastante obvia pero coñazo al mismo tiempo, a ver si alguién sabe otra mejor.


Muchas gracias de antemano a todos, no solo al que conteste también al que se digne a leerlo.
Responder Con Cita
  #2  
Antiguo 03-07-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

En esta misma, en la sección Interbase tienes un artículo con las especificaciones de los limites de Interbase / Firebird.

Parece ser que efectivamente, los procedimientos almacenados están limitados a 48 kb de código compilado (código BLR). Por lo que, o simplificas el procedimiento, o vas a tener que pasar parte del código a otro procedimiento, llamandolo desde el primero (como comentabas).

NOTA : Personalmente no me gusta tener rutinas muy grandes, en estos casos prefiero separarlo en distintos procedimientos, y llamarlos desde el procedimiento principal, donde está el flujo de ejecución del algoritmo.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 04-07-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cool

Oye... ya 48KB de blr es bastante.... me parece que estas tratando de hacer demasiadas cosas en un mismo lugar.... te recomiendo que revises tu diseño.

Yo por lo general acepto procedimientos de no mas de 25 líneas de código (unos 0.5k a lo sumo), salvo que sea realmente imposible dividirlo.

Además, tener procedimientos pequeños y específicos es parte de un buen diseño, una alta generalización de la aplicación y favorece la reutilización del código.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #4  
Antiguo 04-07-2003
Iván Iván is offline
Miembro
 
Registrado: may 2003
Ubicación: Palma de Mallorca
Posts: 118
Poder: 21
Iván Va por buen camino
A pesar de que se que a veces es necesario hacer unos procedimientos un poco más largos de 100 líneas, la verdad es que me parece bastante serio llegar a usar 48KB.

Yo de ti revisaría el procedimiento e intentaría estructurarlo un poco más.

Un saludo.
__________________
Di amigo, y entra...
Guía de estilos de los foros

Visita www.mundobd.com
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


La franja horaria es GMT +2. Ahora son las 10:17:42.


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