Ver Mensaje Individual
  #1  
Antiguo 02-06-2018
lavtaro lavtaro is offline
Miembro
 
Registrado: jun 2003
Ubicación: Chile
Posts: 88
Reputación: 21
lavtaro Va por buen camino
Problema transacciones IBX + Delphi Berlin

Hola estimados, vengo a pedir su ayuda con un problema que tengo con IBX + Delphi Berlin, después de trabajar con Delphi 2007 con IBX sin problemas, usando la misma configuración en Delphi Berlin tengo el problema que para que se vean los datos modificados en otros equipos de la red tengo que cerrar la aplicación (cosa que tampoco me pasaba con MDO). Como dato tampoco IBExpert puede ver las modificaciones pero mi aplicación si ve las modificaciones de IBExpert.

Esta es la configuración de los componentes:

TIBDatabase:
Connected = True
DatabaseName = 'Server/3050:C:\firebird\Base.FDB'
Params.Strings = (
'user_name=SYSDBA'
'password=masterkey'
'lc_ctype=ISO8859_1')
LoginPrompt = False
DefaultTransaction = Transaction
ServerType = 'IBServer'

TIBTransaction:
Active = True
Params.Strings = (
'read_committed'
'rec_version'
'nowait')
AutoStopAction = saCommit

Este es un ejemplo de código usando un procedimiento almacenado (simplificado para mejorar lectura):

Código:
  StoreProcedure.ParamByName('Parametro1').AsInteger := 1;
  StoreProcedure.ExecProc;
  nId := StoreProcedure.ParamByName('LASTID').AsInteger;
  DM.Transaction.CommitRetaining;
Procedimiento almacenado (simplificado para mejorar lectura):

Código:
create or alter procedure GRABA_ENCAB (
    Parametro1 integer

returns (
    LASTID integer)
as
begin
  INSERT INTO TABLA
          (
           campo1
          )
  VALUES
          (
           :Parametro1 
          )
  returning IDTABLA
        INTO :lastid;
end^
Otra prueba:
Código:
  DM.Transaction.Active := False;
  DM.Transaction.StartTransaction;
  StoreProcedure.ParamByName('Parametro1').AsInteger := 1;
  StoreProcedure.ExecProc;
  nId := StoreProcedure.ParamByName('LASTID').AsInteger;
  DM.Transaction.Commit;
Versiones de Software que ocupo:
- Embarcadero® Delphi 10.1 Berlin Version 24.0.25048.9432
- InterbaseExpress 19,19
- Firebird-2.5.2.26540_0_x64 en su instalación por defecto.

SO estaciones de trabajo donde se hacen pruebas:
- Windows 7
- Windows 8
- Windows XP

SO usado para servidores probados:
- Windows server 2012 R2
- Windows 7

De antemano muchas gracias.
Responder Con Cita