Ver Mensaje Individual
  #2  
Antiguo 16-07-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 24
guillotmarc Va por buen camino
Hola

No me gustan las transacciones de SQL Server, justamente por esto. Aunque teoricamente al modificar un registro dentro de una transacción, solo debería bloquear el registro, la verdad es que (no si será por los bloqueos que se generan sobre los índices o porque razón) ese bloqueo te impide realizar consultas sobre la tabla.

Por eso hay que intentar hacer los transacciones lo más rapidas mejor. Es decir en lugar de iniciar la transacción en el momento de cargar un registro en un formulario, y esperar a finalizarla en el momento en que el usuario le de a aceptar los cambios. Es mejor no iniciar ninguna transacción al cargar los formularios, y iniciar una en el momento de guardar los cambios, para finalizarla acto seguido. De forma que la transacción solo haya durado unos milisegundos. Claro que si te interesa que cuando un usuario trabaja en un registro, este quede bloquead, tendrás que hacerlo de otra forma, no con las transacciones. Por ejemplo activando un campo en el registro para saber que está ocupado.

En todo caso no conozco ninguna forma de finalizar el bloqueo. Lo unico que puedes hacer es ir al Administrador Corporativo, ir a la carpeta de Administración, opción de Actividad Actual, y ver en la opción de Bloqueos por objeto, quien mantiene el bloqueo sobre la tabla. Entonces debes ir al Ordenador de ese usuario y finalizar la transacción (a malas, finalizando la sesión).

Aquí tienes un programa para pasar de SQL Server a Interbase/Firebird, aunque no lo he usado, me han dado muy buenas referencias de él.

http://sourceforge.net/projects/sql2gdb/

Aunque dificilmente podrá pasar triggers y procedimientos almacenados. Puesto que los triggers són bastante distintos (mucho mejores en Interbase), ya que se pueden llamar antes y después de la acción, y se ejecutan registro a registro, y no para toda la operación como en SQL Server. Asimismo la sintaxis de procedimientos almacenados es bastante distinta, aunque en Interbase no tienes tantos comandos y funciones disponibles, la sintaxis me gusta más que en SQL Server.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).

Última edición por guillotmarc fecha: 16-07-2003 a las 22:17:46.
Responder Con Cita