FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Pues no es lo que has puesto arriba.
|
#2
|
|||
|
|||
Efectivamente estimado Casimiro pero en la segunda versión de prueba, en el primer trozo de código está así:
Código:
StoreProcedure.ParamByName('Parametro1').AsInteger := 1; StoreProcedure.ExecProc; nId := StoreProcedure.ParamByName('LASTID').AsInteger; DM.Transaction.CommitRetaining; |
#3
|
||||
|
||||
A ver, como he puesto en mi ejemplo, primero cierras, le pasas sus parámetros y lo ejecutas.
En cuanto a lo de cambiar a firedac, cámbialo si lo necesitas, pero no porque no te funcione algo que, seguramente, no se está usando correctamente. Yo solamente puedo contarte mi experiencia con delphi+ibx+firebird desde 1998 (antes de firebird era interbase y en lugar de ibx también he usado sus primos y padres: FreeIBcomponentes, FIBplus, MDO, etc.). Pues desde esa fecha, hace 20 años ya, he trabajado en muchos proyectos para todo tipo de empresas, siempre han sido con el servidor y muchos/bastantes/muchísimos terminales, y nunca, en ningún caso, he tenido esos problemas de transacciones. Quiero decir con esto, que si el problema ha surgido al cambiar de versión de delphi, entonces el problema estaría ahí, pero como no creo que eso pueda ser así, entonces pienso que a lo mejor también ha habido otros cambios que sean realmente los culpables, no sé, versión/actualización de windows, por decir algo. Si en el equipo/equipos donde ahora no funciona, si se vuelve a instalar la versión compilada con la versión de delphi que iba bien, ¿funciona bien o también mal? Otra explicación, pero algo "conspiranóica", es que delphi haya añadido algún "error, sin querer" que provoque esos problemas con firebird, y que no ocurra con interbase, que es el suyo, y el que les interesa vender |
#4
|
|||
|
|||
Estimado Casimiro, estoy de acuerdo que algo estoy haciendo mal, por lo mismo pido ayuda a quienes evidentemente tienen mas experiencia que yo, también hice otras pruebas:
- Tomado la aplicación compilada que funciona como yo espero en las mismas estaciones de trabajo con mismo servidor y misma base de datos. - Instalé Delphi Berlin en una máquina limpia. - Delphi Berlin en Windos 7 x64, Windows 8.1 x64 , Windows Server 2012 R2. A estas alturas del proyecto que estoy haciendo no se hace tan difícil cambiar, pero con las aplicaciones ya hechas se puede complicar, saludos y muchas gracias. |
#5
|
||||
|
||||
Hola lavtaro, yo no sé si estás haciendo algo mal, para ello tendría que inspeccionar más el programa, cosa que no puedo hacer desde aquí.
Pero basándome en lo que has comentado, se puede deducir que si todo iba bien con una versión de delphi, y después va mal con otra versión de delphi, la prueba que haría sería paso a paso: Servidor que sé que va bien. Un par de clientes con la aplicación que sé que va bien. ¿Funciona ok? Si es SI, entonces instalo la misma aplicación, pero compilada con otra versión nueva de delphi. ¿Funciona ok? Si es NO, entonces el problema está en esa versión de delphi (aunque no creo que eso vaya a ocurrir). Si es SI, entonces el problema no está en esa versión nueva de delphi. ¿Qué hay diferente? ¿versión de windows/actualización? ¿cambios de configuración? ¿firewall, puertos? etc... Pero siempre las pruebas de una en una, empezando por lo mínimo y básico que sé, seguro, convencido, de que funciona bien porque funcionaba bien. Porque si tampoco funciona, entonces, amigo, el problema es otro. |
#6
|
|||
|
|||
Gracias estimado Casimiro, voy a hacer las pruebas que sugieres, saludos.
|
#7
|
|||
|
|||
Actualización: realice la siguiente prueba:
- Con Delphi 2007 empece un proyecto nuevo, un componente TIBDatabase, TIBTransaction , TIBStoredProc. - Copié el proyecto compilado a la máquina donde está Delphi Berlin y lo ejecute funcionó. - Copié el proyecto a la máquina donde tengo instalado Delphi Berlin, lo abrí, compilé y ejecute, funcionó sin problemas. Me fijé en un detalle, dentro de Delphi Berlin agregué al proyecto otro TIBStoredProc y también un TIBQuery y fíjense la diferencia en las unit que agrega: uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, IBCustomDataSet, IBStoredProc, StdCtrls, IBX.IBQuery; Cuando en un formulario tengo un componente IBX, no agrega nuevas Unit que es obvio, pero cuando las agrega lo hace de otra manera, en por ejemplo IBX.IBQuery. Después, borre el componente IBStoredProc y eliminé de las uses las correspondientes a IBX agregadas por Delphi 2007 , agregué al formulario un IBStoredProc , obviamente cambió el uses: uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Data.DB, IBX.IBCustomDataSet, IBX.IBStoredProc; Ejecute el programa y funciona, hay dos componentes que se mantienen con sus respectivas Unit desde delphi 2007 que son TIBDatabase, TIBTransaction y curiosamente se mantiene el funcionamiento de Delphi 2007. Saludos y de antemano muchas gracias. Última edición por lavtaro fecha: 04-06-2018 a las 01:28:24. |
|
|
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 |
|