Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-07-2003
ingel ingel is offline
Miembro
 
Registrado: jun 2003
Posts: 239
Poder: 21
ingel Va por buen camino
2 en 1 . Desbloquear tabla , pasar a Interbase

Hola a todos ..
Necesito hacerles 2 consultas ...
'Creo' que mi sistema en delphi me esta bloqueando alguna tabla dejandola inaccesible para el resto ..en principio lo soluciono reiniciando el servicio de SQL ..lo cual implica que todos reinicien el sistema..quiero saber si puedo desbloquear una determinada tabla desde algun lado del enterprise manager del sql2000

2- es posible MIGRAR mi base de datos SQL con Store Proc , vistas y triggers , etc ...para que funcione en INTERBASE ?

Gracias
INGEL
Responder Con Cita
  #2  
Antiguo 16-07-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 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
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


La franja horaria es GMT +2. Ahora son las 21:23:06.


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