jueves, 16 de abril de 2009

Reindexar CDX con Visual Basic

Pues va a ser que no se puede.

Tanto el controlador ADO y el ODBC provistos por Microsoft para acceso a tablas de FoxPro (DBFs) no tiene contemplado el manejo de índices, ya que el acceso a los datos lo hace via SQL y hay que recordar que en SQL un índice no sirve para lo mismo que en Xbase.

El acceso que realizan los controladores que proporciona Microsoft trabaja directamente haciendo queries sobre las tablas sin tomar en cuenta el indice, de tal forma que si tu haces un "insert" en una tabla o un "delete", los indices no se actualizan.

Lo ideal en estos casos si vas a tener aplicaciones que "convivan" como programas en Fox y en VB o bien en Clipper o xHarbour, es tener un controlador "común" para todos los lenguajes y que soporte además los índices CDX.

Ese controlador existe y es grautito, y es ni mas ni menos que el "cliente" de Advantage Database Server, el cual tiene un RDD para Clipper / xHarbour, y controladores ADO yODBC para Fox y Visual Basic.

Es grautito porque puedes usar el "servidor local" de ADS (ADSLOC32.DLL) y luego usar el cliente que mejor se acomode a tu lenguaje de programación, RDD, ADO u ODBC, los clientes de ADS garantizan total compatiblidad con DBFCDX y las operaciones realizadas por SQL si actualizan los índices.

No hay comentarios:

Publicar un comentario