![]() |
Tipos incompatibles ???
Hola colegas:
Pues ahora estoy atorado con algo bien simple pero ya no le encuentro, creo que mi cerebro está dando las últimas :confused: Estoy utilizando un TZconnection en Delphi7/Zeos 6.6.4 Stable para conectarme a MySQL y SQlite. La situación es que tengo que implementar un mecanismo para conectarse a cualquiera de las dos bases de datos en RunTime. Para cambiarme de Base de Datos (de MySQL a SQlite) hago algo como esto:
Ya declaré un type en mi Form con la siguiente instrucción:
Pero el compilador me marca que los tipos no son compatibles: Código:
[Error] Fmain.pas(7043): Incompatible types: 'ZConnection.TZTransactIsolationLevel' and 'Fmain.TZTransactIsolationLevel' Ayuda please, y gracias de antemano |
¿Funcionan por separado?
¿Por qué no pones 2 conectores?, uno para mysql y otro para sqlite. |
Dos conectores
Cita:
La idea es buena y creo que si no le encuentro como cambiar el nivel de aislamiento lo haré así. El sistema en el que estoy trabajando es para un cliente que maneja diferentes sucursales por internet y se conectan todas a un servidor en MySQL. El problema es que cuando falla el internet deja a todas las sucursales paradas. Lo que idee fue crear una copia local de la base de datos en SQLite y cuando la conexión se reestablezca con el servidor enviar toda la información en modo batch. Entonces, ya que tenemos dos bases de datos iguales, una en MySQL y Otra en SQlite, mi idea es solo cambiar los parámetros de conexión para no afectar todo el demás código. |
Hola darkerbyte.
Cita:
Sólo por curiosidad (y quizá la respuesta sirva a colegas que vengan después), ¿qué razonamiento te indujo a declarar el tipo de dato TZTransactIsolationLevel y sus constantes tiXXX dentro de una unidad de tu proyecto? Saludos. :) |
Cita:
Aunque haz caso a Al, él sabe más que yo de estas cosas. |
Tipos diferentes
Hola Al.
El porqué necesito cambiar el nivel de aislamiento de la conexión en Zeos es porque cuando ejecutas un script no lo procesa. No se si se deba a un error de las librerías de Zeos, pero si mandas una transacción en MySQL usando Zeos/ZQLprocessor funciona bien con: Código:
TZTransactionIsolationLevel:= ReadUncomited; Código:
TZTransatcionIsolationLevel:= tiNone; Bueno contestando tu pregunta, cuando intenté hacer esto: Código:
ZConection.TransactionIsolationLevel := tiNone; Código:
Undeclared identifier: tiNone Así que intenté declarar el tipo de datos para poder asignarlo y tampoco. Y ahí me atoré y ya no supe como hacerle :p Gracias a todos por sus valiosas respuestas :D |
La desesperación....
Pues necesito avanzar con el proyecto y me ganó la desesperación...
Me metí a código del componente Zconnection y declaré estos métodos públicos:
Y ya esta funcionando, ahora si, mando un script en un ZSQLproccessor y me guarda los datos en la BD. Aunque no me siento muy seguro de la solución. Creo que no es lo mas apropiado, pero esta funcionando :p Pero necesito aprender, porque no me funcionó como le intenté antes :confused: |
Cita:
Cita:
Saludos desde Impunilandia. |
Exactamente el mismo error
Hola Al.
Estuve rastreando el código de Zeos y Zconnection.pas usa el type TZTransactionIsolationLevel de otra unidad (que no recuerdo bien el nombre pero es algo así como ZAbstract...pas). Creo entonces que por eso aún cuando importé la unidad Zconnection.pas no me funcionó. Bueno esta es la teoria, necesito hacer una prueba importando el otro archivo. Pero al parecer este era el truco Ah, No sabía que si tu declaras un type en dos unidades diferentes, aunque se llamen iguales para Delphi son diferentes :eek: Gracias Al, eres muy amable. ^\||/ Por cierto estuve revisando tu blog. Vi que mencionas sobre una libreria para Delphi que te permite generar CDFI con Facturaxion, te podría solicitar un poco mas de información por inbox? |
La franja horaria es GMT +2. Ahora son las 06:09:08. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi