FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Buenas,
Cita:
Cita:
En la IbDatabase en la propiedad DefaultTransation pongo IbTransation1 En el IbTransation en la propiedad DefaultDatabase pongo IbDatabase1 Y la IbTablaPagarés en la propiedad Database pongo IbDatabase1 Todo lo demás es lo que viene por defecto no pongo ningún otro parámetro, ya que en modo local me funciona bien sin problemas durante años, el problema es al trabajar con dos Pc, que al tener el mismo programa abierto en los dos Pc se bloquean, pero no uso ningún parámetro más. Los Post y los Commit, no sé exactamente qué son, ahora investigaré. Cita:
Y hay tres posibilidades Si trabajo en el Pc1 sólo, funciona bien Si trabajo en el Pc2 sólo, sin que el Pc1 tenga abierto el mismo programa funciona bien. Si Trabajo en el Pc1 ó Pc2 teniendo los dos Pc's, con el programa abierto es cuando surge el bloqueo, sólo en ese momento. No quiero dejarme un dato que necesitéis, pero esto es lo que hago, de forma sencilla, tengo que configurar algo en IbTransation, en IbDatabase, o IbTable, no utilizo más elementos a no ser que falte alguno. |
#2
|
||||
|
||||
Me da que estás generando una megatransacción que nunca cierras (Commit) y por eso te va dando bloqueos.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
En otras palabras:
Una transacción esta optimizada para ser CORTA. Mientras puedes tener la BD abierta por horas ( y eso de estar abriendo/cerrando la BD no necesariamente es lo mejor, A MENOS QUE uses un pool de conexiones) , debes "abrir" BEGIN y "cerrar" COMMIT por cada conjunto atómico de operaciones (ie: Por cada BATCH que debe guardarse en un solo conjunto). Eso significa que tu código debe tener varios encapsulamientos de BEGIN/COMMIT. P.D: Es un anti-patron tener un el componente de transacciones "global". Eso debes estar creándolo todo el tiempo. P.D2: Si estas arrancando, intenta siempre usar la ultima version del motor de datos
__________________
El malabarista. |
#4
|
||||
|
||||
Aquí tienes un ejemplo muy básico y simple para que te hagas una idea.
Ahí puedes ver los parámetros del componente IBDatabase y del IBTransaction. Y aquí tienes una captura de pantalla simulando 2 ordenadores. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Unir filas con la misma llave de una misma consulta sql server | DarkBlue | SQL | 4 | 11-09-2012 22:42:24 |
manipular la misma base de datos en la misma pc | DELFIN2000 | Conexión con bases de datos | 10 | 23-07-2010 18:34:28 |
listar ordenadores en la red | Alexandro | Varios | 1 | 26-03-2009 00:32:01 |
Como trabajar con tres BD diferentes en una misma aplicacion | valera | Conexión con bases de datos | 1 | 26-10-2005 03:37:09 |
Conexión de dos ordenadores | Novás | Redes | 4 | 16-08-2005 14:40:51 |
|