Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Cómo saber si una instrucción sql esta activa en un servidor de interbase? (https://www.clubdelphi.com/foros/showthread.php?t=63311)

fredycc 09-02-2009 04:43:52

Cómo saber si una instrucción sql esta activa en un servidor de interbase?
 
Estoy desarrollando una aplicación con tipos de datos blob, donde el usuario puede descargar un uno o varios archivos correspondientes a un cliente desde el servidor de base de datos, pero quisiera controlar las descargas conociendo si se encuentra en el servidor descargandose actualmente un blob, ya que debido a su tamaño y el tipo de conexión el tiempo se prolonga pero he visto que mientras esta se encuentra ejecutanose se mantiene registrada la trasanción en el manejador; actualmente el blob es un parametro de salida de un stored procedure; habría alguna consulta o forma de conocer si la sentencia SQL se encuentra ejecutandose?:rolleyes:

Se me ocurre entrar al sistema de tablas interna de mi base de datos, pero sería correcto hacer consultas a estos tipos de tablas?.

select MP$TRANSACTION_ID as "Transaction ID",
TMP$SQL as "SQL",
from TMP$STATEMENTS

habría otra forma de realizarlo?:confused:; agradecería sus comentarios. Ya que la consulta anterior "SQL" me devuelve un tipo de dato varchar muy grande :confused:

duilioisola 09-02-2009 10:10:01

Yo me decantaría por algo más fácil.

- Creas una tabla DESCARGA_ACTIVA (usuario,descarga,fecha_inicio,...)
- Antes de hacer la descarga, insertas un registro en esta tabla.
--- Quizás deberías borrar los registros de ese usuario, antes de insertar, por si hubiera habido alguna desconexión.
- Descargas.
- Borras el registro.


La franja horaria es GMT +2. Ahora son las 05:47:39.

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