PDA

Ver la Versión Completa : Incosistencia Update tablas Paradox!!


emarciazr
20-06-2006, 21:27:41
Hola, buen día.

Tengo un pequeño problema, y quisiera saber si a alguien le paso algo similar o conoce su causa.

Estoy desarrollando un pequeño sistema para control de facturación, por esta causa opté por usar las tablas paradox,un Alias en el BDE y delphi 5.0.
El sistema es utilizado por
+ Tres computadoras con sistema operativo Windows XP.
+ Una computadora con windows 98.

Las tablas estan en un directorio compartido de una maquina con Windows 2000 Server, este directorio tiene configurado los derechos de acceso para cada uno de los usuarios.

En todas las computadoras que accesan al sistema, tengo configurado el Alias de la siguiente forma
Type : STANDARD
Default Dirver: PARADOX
Enable BCD: False
Path:\\Servidor\db

En la sección de Configurarion\Drivers\Native\PARADOX
Tengo
NET DIR:\\servidor\db

Todas las computadoras accesan a las tablas, NO tengo problemas con los archivos LCK.

El problema ocurre cuando realizo UPDATES con SQL en algun campo memo, mediante el componente TQuery. En la computadora con windows 98 y en otra con windows XP, ocurre el error de : "Capability not supported", sin embargo, otras con windows XP realizan el UPDATE sin ningun problema.

Otro problema ocurre con este query

UPDATE Facturas SET TCOficial=(SELECT TC FROM DiarioOficial WHERE Fecha=:FE and TC is not null) WHERE IDFactura= :ID

Al igual que el update con los campos MEMO lo ejecuta sin ningun problema y en otras, cuando el SELECT regresa NULL, cambia el campo IDFactura, que es de tipo AutoIncrement, como si fuera un insert.

Se que puedo corregir este SQL añadiendo un WHERE EXISTS, y los campos memos se solucionan convirtiendolos a Strings, pero me gustaria conocer el origen del error.

Los Alias estan igual en todas las pc's, todas tienen instalado el BDE 5.01, tampoco creo que sea problema del SO, porque algunas con XP lo hacen bien, y otras no; Incluso probé poniendo los datos locales en una de las PC's con windows XP en las que se producia error y obtuve los mismos errores.

Que sera???

Gracias =)

waltergomez
21-06-2006, 14:52:28
Creo que el problema es que en paradox si bien soporta subquerys lo lo soporta en un update.
Me parece que no se puede lo que quieres en paradox.
Salu2,

emarciazr
21-06-2006, 20:06:05
Lo curioso es que si realizo el Query desde el database desktop, en cualquiera de las computadoras en las que se produce el "Capability not Supported", el query se ejecuta adecuadamente.

Problema del paradox, con los subquerys, no creo que sea, porque en algunas computadoras lo realiza adecuadamente.

Que me dices de los updates de campos memo sin subquerys?

Incluso intente hacer un query con Parametros, donde los parametros eran de tipo memo, y asignaba el valor directamente de un objeto memo, pero obtuve el mismo resultado.

En las computadoras donde falla el Update de los memos, tambien comente el error del autoincremento del ID, del update con subquerys

Tengo infinidad de consultas con subquerys en mi programa, y hasta ahora solo he observado esta inconsistencia en esos dos casos de un equipo a otro

Gracias

emarciazr
13-09-2006, 03:40:00
Hace meses que solucione este problema, solo quisiera brindar la respuesta por si alguien mas esta pasando por este problema.

La primera vez que hice el instalador para mi programa tenia instalado Delphi 7.0, y delphi 5.0, por lo que los drivers del BDE Explorer eran de una version mas nueva.

Posteriormente estuve trabajando en otra computadora con delphi 5.0 unicamente, cuando realice nuevas instalaciones del programa lo hice con los
drivers del delphi 5.0, aunque instale los parches de actualizacion, continue con el mismo problema, hasta que compare los drivers en cada una de las computadoras, tenia 3 versiones distintas, instale los mas nuevos, y todo funciono perfectamente =)