en xHarbour + ADS no andan los indices idx.
en xHarbour + ADS no andan los indices idx.
Estoy migrando las aplicaciones a xHarbour + Fivewin con RddAds, pero me encuentro con el problema que en xHarbour las tablas de mas de 2 millones de registros tienen problemas con los indices (no encuentra los registros en bases dbf con indices idx, no pasa en ADT con indices ADI) y migrar a adt + adi me trae el problema con la aplicaciones viejas en clipper. Si se les ocurre alguna idea te lo voy a agradecer.
Andres
ADS 8.1 para 250 usuarios sobre novell 5.
xHarbour 0.9971 + FiveWin 7.01
esta con el cliente que viene en la version 8.1
y con la correcta ace32.lib
Andres
ADS 8.1 para 250 usuarios sobre novell 5.
xHarbour 0.9971 + FiveWin 7.01
esta con el cliente que viene en la version 8.1
y con la correcta ace32.lib
-
- Posts: 988
- Joined: Thu Nov 24, 2005 3:01 pm
- Location: Madrid, España
En indices como numero de documento str(dni,10) o apellido con los 18 caracteres, me da found()=FALSE como que no estuviera en la tabla, cuando en realidad si hago el seek con clipper+fivewin si lo encuentra.
Me da la impresion que cuando la variable del indice supera mas de 10 caracteres ahi empienzan los problemas. Gracias por contestar
Me da la impresion que cuando la variable del indice supera mas de 10 caracteres ahi empienzan los problemas. Gracias por contestar
-
- Posts: 988
- Joined: Thu Nov 24, 2005 3:01 pm
- Location: Madrid, España
Podrías postear el trozo de código que te falla? La verdad es que me parece extraño. No he usado los IDX desde hace mucho, y no he tenido + de 2 millones de registros, pero que te falle un seek me parece raro. Me gustaria ver el código para ver que puede estar cambiando de un compilador a otro.
Un saludo,
Carlos
Un saludo,
Carlos
- Patricio Avalos Aguirre
- Posts: 1028
- Joined: Fri Oct 07, 2005 1:56 pm
- Location: La Serena, Chile
- Contact:
Hola
Yo tuve algo parecido en algun tiempo
el problema era que utilizaba las bases de datos creadas por clipper,
lo que hice fue hacer un procedimiento de crear las bases de datos en xharbour, luego hacer un append from y luego indexar todo a travez de un programa hecho en xharbour.
podrias probar a ver si te soluciona el problema
suerte..
Yo tuve algo parecido en algun tiempo
el problema era que utilizaba las bases de datos creadas por clipper,
lo que hice fue hacer un procedimiento de crear las bases de datos en xharbour, luego hacer un append from y luego indexar todo a travez de un programa hecho en xharbour.
podrias probar a ver si te soluciona el problema
suerte..
Saludos
Patricio
__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Patricio
__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
No uses FOUND() esa funcion fue marcada como obsoleta en la version 5.3 de Clipper., utiliza mejor :
IF DBSEEK(valor)...
....
...
Funciona mejor.
Tambien es cierto que el hecho de usar tablas DBF con indices CDX afecta, ya que la estructura DBF que Clipper utiliza con los indices CDX no es exactamente compatible con la estructura nativa de FoxPro, y ADS si utiliza una estructura nativa CDX de Fox.
Curiosamente un programa en Clipper no tiene problemas en leer una tabla CDX creada con ADS o con Fox, pero Fox y ADS si pueden presentar problemas manejando una tabla DBF con indices CDX creada con Clipper.
IF DBSEEK(valor)...
....
...
Funciona mejor.
Tambien es cierto que el hecho de usar tablas DBF con indices CDX afecta, ya que la estructura DBF que Clipper utiliza con los indices CDX no es exactamente compatible con la estructura nativa de FoxPro, y ADS si utiliza una estructura nativa CDX de Fox.
Curiosamente un programa en Clipper no tiene problemas en leer una tabla CDX creada con ADS o con Fox, pero Fox y ADS si pueden presentar problemas manejando una tabla DBF con indices CDX creada con Clipper.
Saludos
R.F.
R.F.
Rene:
Cree la dbf con xHarbour e hice un append desde la base, genere los nuevos indices idx y en un archivo de fichas de personas de 3.600.000 registros y con un indice con los primeros 18 digitos del apellido, me encuentra apellidos hasta MORENO, si busco apellidos que empienza con la O en adelante no encuentra nada, el found() y DBSEEK() dan FALSE y con SOFTSEEK ON se va al final del archivo. En clipper + fivewin el seek me encuentra todo sin problemas. Gracias por la atencion.
Andres
ADS 8.1 para 250 usuarios sobre novell 5.
xHarbour 0.9971 + FiveWin 7.01
esta con el cliente que viene en la version 8.1
Cree la dbf con xHarbour e hice un append desde la base, genere los nuevos indices idx y en un archivo de fichas de personas de 3.600.000 registros y con un indice con los primeros 18 digitos del apellido, me encuentra apellidos hasta MORENO, si busco apellidos que empienza con la O en adelante no encuentra nada, el found() y DBSEEK() dan FALSE y con SOFTSEEK ON se va al final del archivo. En clipper + fivewin el seek me encuentra todo sin problemas. Gracias por la atencion.
Andres
ADS 8.1 para 250 usuarios sobre novell 5.
xHarbour 0.9971 + FiveWin 7.01
esta con el cliente que viene en la version 8.1
Aparentemente descubri donde esta el problema, si los indices se generan con Clipper+Fivewin, xHarbour tiene problemas en encontrar algunos registros y si los genero con xHarbour, cuando los abro con Clipper+Fivewin da error al realizar busquedas. No son compatibles entre si los indices generados con aplicaciones de 16 y 32 bits utilizando ADS 8.1.
- Patricio Avalos Aguirre
- Posts: 1028
- Joined: Fri Oct 07, 2005 1:56 pm
- Location: La Serena, Chile
- Contact:
Hola
La version de clipper es la 5.3, si no lo es puedes recompilar con esta version y probar
La version de clipper es la 5.3, si no lo es puedes recompilar con esta version y probar
Saludos
Patricio
__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Patricio
__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl