Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Rollback Transaction con Tablas Cobol (https://www.clubdelphi.com/foros/showthread.php?t=63572)

agustibaldo 19-02-2009 18:22:34

Rollback Transaction con Tablas Cobol
 
Estimados amigos de ClubDelphi, acudo una vez más a su generosa ayuda porque tengo una cuestión que no logro resolver.

Estoy desarrollando una aplicación para una empresa que fabrica máquinas industriales. Este sistema trabaja sobre SQL Server 2005 y además requiere leer y escribir algunos datos sobre tablas .DAT, que pertenecen a un sistema de gestión que posee la empresa hecho en COBOL bajo UNIX.

En un principio, trabaje para encontrar una solución para realizar una conexión con estas tablas - en adelante "Tablas COBOL" -, y después de cansarme de "googlear" y no encontrar nada nativo (sumado al escaso tiempo que tenía), termine por crear un archivo en Access y vincular estas tablas .DAT, a través de sus archivos .XFD (los cuales contienen la estructura). Para leer estas tablas, utilizo un ADOConnection que "linkea" con este archivo Access.

Aquí es donde surge el problema. En uno de mis procedimientos necesito generar una Orden de Servicio, que requiere la recolección de ciertos datos y la inserción, tanto en SQL Server como en las tablas COBOL. Esto lo enmarco dentro de una transacción que me controla el proceso y realiza un Rollback frente a la presencia de un error.
El inconveniente surge debido a que no es posible - al menos no he podido - hacer un Rollback sobre las tablas COBOL; y en consecuencia los datos entre las tablas SQL y las de COBOL quedan inconsistentes. He intentado hacer un roolback tomando la conexión con Access y no lo he conseguido. Una vez que graba en las tablas los datos son físicos y no pueden deshacerse.

Alguien tiene idea de que forma se podría solucionar este inconveniente?

Si no entienden alguna parte, pregunten y se los explico de nuevo.

Desde ya muchas gracias.

luisgutierrezb 19-02-2009 19:12:49

hay varios conectores ODBC para cobol pero son de paga, cuestion de que los veas a lo mejor merece la pena comprarlos

agustibaldo 19-02-2009 19:28:05

luis, muchas gracias por tu respuesta.

Me podrías pasar algún nombre para probarlos. Con estos componentes puedo realizar Rollbacks como si usara una transacción en sql server?

Nuevamente gracias por tu respuesta.

avmm2004 10-03-2009 19:23:14

Primero de todo: ¿que cobol utilizas (RM/cobol, Microfocus, Acucobol, Fujitsu cobol........?
En base a eso, la respuesta.

agustibaldo 17-03-2009 20:37:14

avmm2004 he aquí la respuesta a tu pregunta: AcuCobol

Muchas gracias y espero puedas darme una mano

Saludos

avmm2004 18-03-2009 12:10:10

En acucobol tiene dos productos que te ¿solucionan ? el problema.

El primero es AcuOdbc que te permite grabar ficheros .dat de cobol programando desde delphi, visual studio.... etc. (como habras supuesto es un odbc).

El otro producto es acu4gl para (oracle, sysbase, sql server, ....) y este producto te permite grabar datos de bases de datos relacionales desde lenguaje cobol.

El producto acu4gl tiene sentencias start transaction, commit, rollback ..... incorporadas al lenguaje cobol.

Yo los utilize como parte de mi estrategia para pasarme de acucobol a delphi y funcionaron bien.

Acuodbc es sencillo y acu4gl es mas complicado y requiere algun cambio en tus programas cobol.

No se si esto te ayuda, si no, hazmelo saber.

Por supuesto ambos productos son de pago y los puedes encontrar en la web de acucorp.com (http://www.acucorp.com


La franja horaria es GMT +2. Ahora son las 15:30:35.

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