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 05-07-2003
Avatar de mlara
[mlara] mlara is offline
Miembro Premium
 
Registrado: jun 2003
Ubicación: Colombia
Posts: 667
Poder: 21
mlara Va por buen camino
Preocupado por la capacidad de los SPs

Hola.

Al igual que ALMERA estoy preocupado por la capacidad de los procedimientos almacenados (SPs). Estoy trabajando en un proyecto grande, y no por esto, en particular, trabajo en un SP algo extenso (es un buen diseño bien estructurado) que estoy migrando. ALMERA trabaja en FireBird 1.5. Yo trabajo en InterBase 7.

Bueno, ya preocupado porque el tiempo apremia, las preguntas que tengo son las siguientes:

1. Definitivamente hay límite de capacidad cuando se trabaja con SPs?

2. Dónde encuentro esa información?

y por último,

3. en una de las respuestas que le dan a ALMERA hablan de código BLR, que entiendo como una especie de código precompilado. Si estoy trabajando en InterBase 7 con IBConsole, registrando mis procedimientos en una base de datos, ese código BLR se embebe o se incrusta en el archivo de base de datos GDB?
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre.
Responder Con Cita
  #2  
Antiguo 05-07-2003
Avatar de mlara
[mlara] mlara is offline
Miembro Premium
 
Registrado: jun 2003
Ubicación: Colombia
Posts: 667
Poder: 21
mlara Va por buen camino
Se me olvido decir que al igual que a ALMERA obtengo un mensaje de error al ejecutar el SP, aunque cabe aclarar que en la tabla donde el SP arroja los resultados indica que todo se proceso como debía. Lo que quiero decir es que ejecuto el SP desde IBConsole y me arroja el error, pero cuando veo la tabla de resultados ahí están todos.

El mensaje de IBConsole es:

Unknow Error: Can´t retrieve plan.

Luego, cuando le quito líneas al SP, el error ya no sale.

El SP tiene 29 KB en archivo texto.
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre.
Responder Con Cita
  #3  
Antiguo 05-07-2003
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 24
kinobi Va por buen camino
Hola,

Cita:
Posteado originalmente por mlara
1. Definitivamente hay límite de capacidad cuando se trabaja con SPs?
Sí, existe un límite máximo de 48 Kb de código BLR por procedimiento. No existe una correspondencia directa con código fuente. Es decir, tus 29 Kb de código fuente pueden dar lugar a más de 48 Kb de BLR, depende del tipo de sentencias SQL y variables que estés utilizando dentro del procedimiento.

Cita:
Posteado originalmente por mlara
2. Dónde encuentro esa información?
En la documentación (en mi caso en la de la versión IB 6.0), volumen "Operations Guide", capítulo "Introduction", "Primary InterBase Features":

"Maximum stored procedure for trigger code size: 48Kb of BLR, the bytecode language compiled from stored procedure or trigger language".

Como tu versión es la 7, localiza esta misma información en tu documentación por si pudiese haber variado, aunque lo dudo.

Cita:
Posteado originalmente por mlara
3. en una de las respuestas que le dan a ALMERA hablan de código BLR, que entiendo como una especie de código precompilado. Si estoy trabajando en InterBase 7 con IBConsole, registrando mis procedimientos en una base de datos, ese código BLR se embebe o se incrusta en el archivo de base de datos GDB?
El propio servidor almacena el BLR (*) junto con el código fuente en la tabla del sistema RDB$PROCEDURES, concretamente en la columna: RDB$PROCEDURE_BLR.

(*) La generación del BLR se produce en el mismo momento que se modifican (CREATE PRODEDURE, ALTER PROCEDURE) los metadatos del procedimiento.

Saludos.

Última edición por kinobi fecha: 05-07-2003 a las 10:34:17.
Responder Con Cita
  #4  
Antiguo 05-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.

Sobre el error :

Unknow Error: Can´t retrieve plan.

Te está indicando que no puede recuperar el plan de ejecución del procedimiento almacenado. Este plan de ejecución te indica los índices que se van a utilizar para accelerar su ejecución.

Tiene todo el aspecto que el error se da en el propio IBConsole (no puede recuperar esa información), y no en Interbase (por eso finaliza correctamente el procedimiento almacenando, realizando los cambios esperados en los registros).

Probablemente si actualizas tu versión de IBConsole, se solucione el problema.

Personalmente no utilizo IBConsole, sinó IB-Expert. La versión Personal http://www.hksoftware.net/download/i....0.47_full.exe es totalmente gratuita y muy buena. Posteriormente puedes adquirir la versión comercial con caracteristicas avanzadas como un depurador de procedimientos almacenados, ...

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
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 19:35:33.


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