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: |
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