Ir al contenido


Foto

¿Como controlar las transacciones en Zeos? ¿Alguna documentación?


  • Por favor identifícate para responder
3 respuestas en este tema

#1 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 27 octubre 2014 - 08:04

Como algunos ya saben, estoy empezando con un nuevo mundo. Y vengo de una historia basada en IBX donde estaba bastante cómodo por la documentación y la cantidad de artículos que hablaban de él. Sobre todo el énfasis dedicado al tema de las transacciones.

Ahora con Zeos, que carece de un componente visible de cara al desarrollador que abstraiga el concepto de transacción, me marea un poco los esquemas. Internamente el componente TZConnection se encarga de manerar las cosas directamente. Pero ahora tengo mi duda: supongamos que tengo dos TZQuery, y cada uno debe tener cierto nivel de aislamiento.
Con IBX esto me manejo con dos IBTransaction y listo. ¿Con Zeos?

Me preguntaba si alguno por casualidad no tiene alguna documentación que explique Zeos, y que también toque el tema de las transacciones. Algo análogo como el famoso documento Transaccciones en Firebird e Interbase con IBX del gran Kenobi pero de Zeos.

A pesar de que Zeos tiene un foro dedicado a la documentación tal parece que la Start Guide y/o cualquier material de dicho subforo está caigo.
Y en la búsqueda por San Google no veo algo puntual, salvo el típico "suelte el componente X, cambie estas propiedades y heche a andar".

A los que alguna vez trabajaron con Zeos, ¿que manual o documentación recomiendan leer?

Saludos,
  • 0

#2 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 27 octubre 2014 - 08:19

Hola
La verdad no se por que cambias de ferrari (IBX) a fiat (Zeos).
Yo trate, no solo entender, si no de hacer lo que tu dices y no pude, no hay informacion amigo tambien la busque.
Las transacciones Zeos no las trabaja como lo haria IBX, se pretende que se haga con la simple conexion o por lo menos no encontre la forma de hacerlo, incluso ADO lo hace mejor que zeos.
OJO, para un novato como yo.
Saludos
  • 0

#3 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 27 octubre 2014 - 08:41

Hola
La verdad no se por que cambias de ferrari (IBX) a fiat (Zeos).
Yo trate, no solo entender, si no de hacer lo que tu dices y no pude, no hay informacion amigo tambien la busque.
Las transacciones Zeos no las trabaja como lo haria IBX, se pretende que se haga con la simple conexion o por lo menos no encontre la forma de hacerlo, incluso ADO lo hace mejor que zeos.
OJO, para un novato como yo.
Saludos

La razón amigo es que ya no uso Delphi. Me he pasado al bando de Lazarus, por necesidades actuales y futuras y que me permite multiplataforma. Y si bien existe una suite fork de IBX para Lazarus, las últimas novedades de esa suite datan del 2011 y no estaba del todo afirmado el soporte de esta suite para Firebird 2.5.
Se que Zeos es más lento, pero al menos tiene un buen abanico de componentes para todo (bueno... casi todo... me gustaría que existiera el TZTransaction) lo que necesito.
La suite por defecto (SQLdb) de Lazarus tiene maneras de trabajar con Firebird, y goza de un TSQLTransaction pero carece de otros que si ofrece Zeos.

Por ello mi inquietud.
Lo que hecho en falta a muchos proyectos Open Source y/o Free Code es su desprolijidad en armar una documentación formal (y convengamos que algunos ni la tienen) y después uno tiene que ir probando y probando hasta que le adivina que es o que hace cada cosa. No es el caso de Firebird, sus documentos son un lujo.

Saludos,
  • 0

#4 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 27 octubre 2014 - 10:20

Bueno, al parecer no soy demasiado bueno encontrando cierta documentación, si es que la hay. Pero si he encontrado un programa de código libre que utiliza Zeos codificado en Lazarus. Por si les interesa se llama FacturLinEx, y la frutilla del postre es que está en español.
De lo que estuve viendo en su diseño se valen de varios TZConnection para manejar las transacciones que requieren. De hecho, cada form tiene su propio juego. La conexión se establece en tiempo de ejecución, obteniendo los datos desde variables globales y como es de esperar estas cargan la info desde un .ini.
Creo que esto en parte me permitirá responder parcialmente mi inquitud respecto a la situación con las transacciones.

Me resulta extraño que con los años que tiene Zeos no opte por un diseño más transaction-friendly. Calculo que es para armonizar los diferentes motores de base de datos... y en como cada uno trabaja el tema de las transacciones.

Mientras buscaba material me he dado con que la pregunta de porqué no existe un TSQLStoredProc (por darle un nombre) para la suite por defecto de Lazarus ya ha sido planteada antes, se debe a que como fue planteada la suite no era capaz de reconocerlos ni trabajar con ellos a nivel metadata y uno debe usar medios "no tan directos"... Pero ya se ha propuesto el tema y parecen que van a hacer lo posible para soportarlo en un futuro. En el siguiente hilo lo debaten.

De a poco me voy haciendo de experiencias nuevas.

Saludos,
  • 0




IP.Board spam blocked by CleanTalk.