FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
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; 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^ Código:
DM.Transaction.Active := False; DM.Transaction.StartTransaction; StoreProcedure.ParamByName('Parametro1').AsInteger := 1; StoreProcedure.ExecProc; nId := StoreProcedure.ParamByName('LASTID').AsInteger; DM.Transaction.Commit; - 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. |
#2
|
||||
|
||||
¿Se supone que tienes un componente IBDatabase y otro IBTransaction enlazados?
|
#3
|
|||
|
|||
Hola Casimiro, exactamente, el TIBDatabase está enlazado con el TIBTransaction, también probé dejando vacía la propiedad DefaultDatabase del TIBTransaction o enlazado con el TIBDatabase y tampoco da resultado, saludos.
|
#4
|
||||
|
||||
Si tienes esos componentes "TStoredProc" enlazados con el componente TIBTransaction, entonces no necesitas iniciar otra transacción.
Sería más o menos, así:
|
#5
|
|||
|
|||
Cita:
|
#6
|
||||
|
||||
Pues no es lo que has puesto arriba.
|
#7
|
|||
|
|||
Actualización: en el mismo entorno de pruebas con Firedac funciona sin problemas usando este pequeño manual de la página de embarcadero Connect to Firebird (FireDAC) : http://docwiki.embarcadero.com/RADSt...bird_(FireDAC)
Con la diferencia en el FDConnection1 la propiedad UpdateTransaction = Transaction , relacioné el componente de conexión con el componente de transacción. No me gustaría cambiar de componentes , alguna experiencia en el uso de firedac con Firebird 2.5? de antemano muchas gracias . También encontré un manual en la página oficial de Firebird Chapter 3: Developing Firebird Applications in Delphi: https://firebirdsql.org/file/documen...0-firedac.html |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema con proyecto en Delphi Berlin | newtron | Varios | 13 | 26-05-2017 20:09:26 |
Migrar Delphi 2007 a 10.1 Berlin | giko | Varios | 24 | 01-12-2016 08:54:39 |
Seminario Web Delphi y C++Builder 10.1 Berlin | Neftali [Germán.Estévez] | Noticias | 1 | 17-06-2016 16:35:26 |
Problema con transacciones en Access y Delphi | Capi666 | SQL | 1 | 11-01-2007 21:49:14 |
|