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 09-06-2010
JordiP JordiP is offline
Miembro
 
Registrado: nov 2009
Posts: 48
Poder: 0
JordiP Va por buen camino
Wink DUDA trabajar con varias sesiones en FireBird

Buenas, tengo una duda y queria plantearla:

Resulta que tengo una aplicación con una entrada por puerto TCP, en el momento de leer el texto entrante por TCP lo guarda en una tabla de mi base de datos "FireBird".
Por otro lado tengo un TIMER que cada segundo consulta dicha tabla a ver si hay cambios y para evitar conflictos tengo:
IBDataBase1
IBTransaction1
IBQuery1
y
IBDataBase2
IBTransaction2
IBQuery2
El IB...1 lo utilizo para insertar y modificar lo que me llega por el puerto TCP y el IB...2 para las consultas en el TIMER.

Mi duda es si la tabla del FireBird puede bloquearse mientras se hace el INSERT o UPDATE o el SELECT, es decir, mientras el IB...1 hace un INSERT el IB...2 puede hacer un SELECT y viseversa? el hecho que una sesion haga una consulta la otra puede modificar información?

Gracias por todo
Responder Con Cita
  #2  
Antiguo 09-06-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola.

En Firebird las escrituras no bloquean a las lecturas. Únicamente dos escrituras simultaneas se bloquearán, pero no una escritura y diversas lecturas.

De la misma forma, el hecho de tener una o varias lecturas (consultas) en marcha, no bloquea que otra transacción inicie al mismo tiempo una escritura.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 09-06-2010
JordiP JordiP is offline
Miembro
 
Registrado: nov 2009
Posts: 48
Poder: 0
JordiP Va por buen camino
Marc, entonces 2 escrituras simultaneas bloquean, pero acabarán haciendose las 2 no ?, es decir, lo que supongo que hace es poenrlo en cola y hacer una escritura y luego la otra, es asi ?

Gracias por la respuesta
Responder Con Cita
  #4  
Antiguo 09-06-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola Jordi.

Dos escrituras en dos transacciones que estén activas simultaneamente no se acabarán haciendo. La segunda escritura te dará un error de deadlock y no se hará. Tendrás que finalizar la primera transacción antes de poder modificar ese registro en una segunda transacción.

NOTA: Naturalmente el bloqueo solo se da si las dos escrituras intentan escribir sobre el mismo registro de la base de datos. En cambio puedes tener sin problemas tantas escrituras como quieras, siempre que modifiquen registros distintos o añadan nuevos registros.

Salutacions.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #5  
Antiguo 09-06-2010
JordiP JordiP is offline
Miembro
 
Registrado: nov 2009
Posts: 48
Poder: 0
JordiP Va por buen camino
es cierto, solo si se quiere acceder al mismo registro al mismo tiempo, por suerte eso es dificil que ocurra, pero es bueno saberlo.

Gracias Marc, duda solucionada
Responder Con Cita
  #6  
Antiguo 09-06-2010
Gallosuarez Gallosuarez is offline
Miembro
 
Registrado: feb 2007
Posts: 92
Poder: 18
Gallosuarez Va por buen camino
Usar Eventos en Firebird...

JordiP:

Con lo que respecta a tu problema (aunque no hay muchos detalles de lo que hace tu aplicación) , creo que una de las mejores soluciones es utilizar eventos en Firebird. Creeme que es una gran herramienta, por mi parte los he utilizado extensamente en problemas similares a lo que tu quieres hacer y han resultado ser una maravilla.

Saludos

Gerardo Suárez Trejo.
Responder Con Cita
  #7  
Antiguo 09-06-2010
JordiP JordiP is offline
Miembro
 
Registrado: nov 2009
Posts: 48
Poder: 0
JordiP Va por buen camino
Thumbs up

puedes darme más inform. de los eventos en FireBird !!!!
Que es, a travez del IBDatabase ?
Pero en el tema de insertar, modificar y borrar que eventos pueden ser utiles, en principio con un try.... except ...end ya controlamos posibles errores.

Te agradeceria más info. de los eventos x favor

Gracias
Responder Con Cita
  #8  
Antiguo 10-06-2010
Gallosuarez Gallosuarez is offline
Miembro
 
Registrado: feb 2007
Posts: 92
Poder: 18
Gallosuarez Va por buen camino
Información...

JordiP:

Dime como le puedo hacer para hacerte llegar la información que necesitas... tengo un archivo pdf que no recuerdo de donde lo baje (el documento en si, no menciona que tipo de licencia utliza, pero supongo que es de dominio público, pues lo baje de un sitio público donde no se mencionaba algún tipo de restricción). Por otro lado, déjame prepar un buen ejemplo que te pueda ayudar. De hecho, ahora estoy haciendo pruebas en Java utilizando eventos, y como te comentaba es todo una maravilla.

Saludos,

Gerardo Suárez Trejo

PD. Te dejo mi correo para que me escribas, aunque me gustaría saber a quien le puedo enviar el documento para que lo haga público (previa verificación de que no haya ningún problema en el tipo de licencia del documento.

gerardo.suarez@imexme.com

Saludos nuevamente...
Responder Con Cita
  #9  
Antiguo 10-06-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
En Firebird.com.mx puedes encontrar artículos sobre el uso de los Eventos de Firebird.

Por ejemplo aquí hay una introducción.

http://www.firebird.com.mx/modules/s....php?itemid=35

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #10  
Antiguo 10-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Gallosuarez Ver Mensaje
[..] aunque me gustaría saber a quien le puedo enviar el documento para que lo haga público (previa verificación de que no haya ningún problema en el tipo de licencia del documento.[..]
Se puede subir documentos, programas, ejemplos, etc. a nuestro ftp.
Responder Con Cita
  #11  
Antiguo 11-06-2010
Gallosuarez Gallosuarez is offline
Miembro
 
Registrado: feb 2007
Posts: 92
Poder: 18
Gallosuarez Va por buen camino
Eventos en Firebird...

Casimiro:

Gracias por responder.... intenté anexar el archivo pero el botón de subir siempre se encuentra desactivado (me imagino que es por cuestiones de permisos). Por otro lado, el documento se encuentra en inglés, y según yo no estaríamos infringiendo ningura licencia de uso, sin embargo sería bueno que alguíen mas avezado en estas lides nos lo pudiera confirmar...

Saludos,

Gerardo Suárez Trejo

PD. Escucho sugerencias para dar el siguiente paso...

Última edición por Gallosuarez fecha: 11-06-2010 a las 01:33:04.
Responder Con Cita
  #12  
Antiguo 11-06-2010
Gallosuarez Gallosuarez is offline
Miembro
 
Registrado: feb 2007
Posts: 92
Poder: 18
Gallosuarez Va por buen camino
Talking Eventos en Firebird...

Sres:

Perdón pera ya vi porqué no podía subir el archivo (el botón solo se activa si el documento está comprimido en ciertos formatos). Bueno despues de esta novatada... ahora ya lo pude subir... revisenlo y despues me dicen si les sirvio.

Saludos

Gerardo Suárez Trejo
Responder Con Cita
  #13  
Antiguo 11-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Gallosuarez Ver Mensaje
Sres:
Perdón pera ya vi porqué no podía subir el archivo (el botón solo se activa si el documento está comprimido en ciertos formatos). Bueno despues de esta novatada... ahora ya lo pude subir... revisenlo y despues me dicen si les sirvio. Saludos
Gerardo Suárez Trejo
¿Y qué documento es?
Responder Con Cita
  #14  
Antiguo 11-06-2010
Gallosuarez Gallosuarez is offline
Miembro
 
Registrado: feb 2007
Posts: 92
Poder: 18
Gallosuarez Va por buen camino
Talking Eventos en Firebird...

Sres:

El documento se encuentra en Firebird/Documentos/Eventos_en_Firebird.pdf.zip


Saludos,

Gerardo Suárez Trejo
Responder Con Cita
  #15  
Antiguo 14-06-2010
JordiP JordiP is offline
Miembro
 
Registrado: nov 2009
Posts: 48
Poder: 0
JordiP Va por buen camino
Thumbs up

GALLO gracias, ya lo tengo, lo he descargado de la FTP.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Trabajar con OOP - Duda Paulao Varios 4 03-06-2008 12:30:53
DBGrid en varias sesiones Fenareth Tablas planas 7 09-11-2007 01:21:59
Duda sobre tabla access de varias tablas Mathom Varios 28 24-11-2005 18:09:50
Trabajar con varias tablas luxus Conexión con bases de datos 3 22-08-2005 18:32:15
Trabajar con Firebird StartKill Firebird e Interbase 1 20-01-2004 23:31:25


La franja horaria es GMT +2. Ahora son las 20:09:29.


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