Consulta sobre base de datos DBF y Ntx

General Help regarding HMG, Compilation, Linking, Samples

Moderator: Rathinagiri

Post Reply
arroya2
Posts: 172
Joined: Thu Aug 06, 2009 7:16 am

Consulta sobre base de datos DBF y Ntx

Post by arroya2 »

Hola a todos.

Tengo una base de datos DBF con 65000 registros con un campo Memo y con indices NTX.

Hasta ahora todo ha ido bien, pero hace una semana que no admite ni un dato más en los campos memo. Cuando se introduce algún dato en los campos memo se trastocan los datos de los campos memo.

¿Puede ser que halla alcanzado el límite de datos del campo Memo?, porque los demás campos se comportan bien.

¿Con índice CDX podría almacenar más datos en los campos Memo?

Muy agradecido

Rafael Pérez
User avatar
mustafa
Posts: 1160
Joined: Fri Mar 20, 2009 11:38 am
DBs Used: DBF
Location: Alicante - Spain
Contact:

Re: Consulta sobre base de datos DBF y Ntx

Post by mustafa »

Hola Rafael Pérez
Creo que los indices CDX son mejores que los NTX para el campo memo
mira la siguiente direccion http://www.ea6dd.com/ftp/bielsys/dbfcdx ... ndices.pdf

en uno de los puntos pone:
· Ahora, los archivos memo (.FPT) pueden almacenar hasta 4.2 Gb, siendo más pequeños y eficientes que los del formato DBFNTX (.DBT)
· Crear ficheros memo con un tamaño mínimo del bloque de 1 byte.

Espero que te sirva esta información
Saludos

Hello Rafael Perez
I think the CDX index are better than NTX for the memo field
look at the following address: http://www.ea6dd.com/ftp/bielsys/dbfcdx ... ndices.pdf

in one of the places:
· Now, the memo file (. FPT) can store up to 4.2 Gb, being smaller, more efficient DBFNTX that format (. DBT)
• Create files memo with a minimum size of 1 byte block.

I hope this information will serve
greetings

Mustafa
arroya2
Posts: 172
Joined: Thu Aug 06, 2009 7:16 am

Re: Consulta sobre base de datos DBF y Ntx

Post by arroya2 »

Muchas Gracias Mustafa.

Saludos
Rafael Pérez
arroya2
Posts: 172
Joined: Thu Aug 06, 2009 7:16 am

Re: Consulta sobre base de datos DBF y Ntx

Post by arroya2 »

Hola de nuevo.

He convertido 3 bases de datos de DBFNTX a DBFCDX. Las tres tienen un campo principal numérico por el que están ordenadas y 2 de ellas (que no tienen nada que ver una con la otra), cuando llegan al registro número 43 saltan al 1024 y luegon vuelven atrás yvuelven a dar saltos en la númeración. Los números que indico son los correspondientes al campo numérico y no al orden natural.

Con el RDD DBFNTX funcionaban perfectamente y no se a qué puede ser debido.

Agradeceré cualquier información.

Saludos para todos.
arroya2
Posts: 172
Joined: Thu Aug 06, 2009 7:16 am

Re: Consulta sobre base de datos DBF y Ntx

Post by arroya2 »

Hola.

El código que utilizo para ordenar la base DBFCDX es el siguiente:

Code: Select all

If !File(Dat1+"\Clientes\CliNum.Idx")
   Use (Dat1)+"\Clientes\Clientes" Via "DBFCDX"
   Index On Clientes->Numero To (Dat1)+"\Clientes\CliNum"
   Close
EndIf

Use (Dat1)+"\Clientes\Clientes" Index (Dat1)+"\Clientes\CliNum" New Via "DBFCDX"
Pero sale desordenado y no sé porque.

Abro Clientes.Dbf con DBF Manager y ordeno por Clientes->Numero y sale todo perfectamente ordenado.

¿Qué puedo hacer?

Saludos
Rafael Pérez
User avatar
luisvasquezcl
Posts: 1258
Joined: Thu Jul 31, 2008 3:23 am
Location: Chile
Contact:

Re: Consulta sobre base de datos DBF y Ntx

Post by luisvasquezcl »

Hola arroya2
Me da la impresion que el problema esta en la forma en que indexas.
esta es la información de las ng de clipper que indica como se hace.
INDEX ON <expClave> [TAG <cNombreOrden>] [TO <cNombreContOrden>]
[FOR <lCondición>] [ALL]
[WHILE <lCondición>] [NEXT <nNúmero>]
[RECORD <nRegistro>] [REST]
[EVAL <bBloque>] [EVERY <nIntervalo>]
[UNIQUE] [ASCENDING|DESCENDING]
[USECURRENT] [ADDITIVE]
[CUSTOM] [NOOPTIMIZE]
ahora, vi que la condicion if valida un archivo .idx, no será que estas poniendo esa extensión al archivo indice???.
Espero te ayude.
Saludos cordiales,
Luis Vasquez
arroya2
Posts: 172
Joined: Thu Aug 06, 2009 7:16 am

Re: Consulta sobre base de datos DBF y Ntx

Post by arroya2 »

Gracias Luis.

De la forma que me indicas es para hacer índices compuestos o BAGs. De esa forma también lo he hecho y el resultado es el mismo que con los índices individuales (que es como yo lo he escrito en el ejemplo y que en vez de llevar la extensión "CDX", llevan la extensión "IDX").

Sigo con el problema, aún no he encontrado la solución.

Para profundizar más os diré que la base de datos estaba en formato DBFNTX y yo la convertí a DBFCDX mediante el siguiente código:

Code: Select all

Function NtxToCdx()

REQUEST DBFCDX
RDDSETDEFAULT ("DBFCDX")

Use "C:\RecMedic\Clientes\Cliente0" Via "DBFNTX"

Copy To Clientes.Dbf

Return Nil
En formato DBFNTX el índice funciona perfectamente, pero después de la conversión a DBFCDX, el índice hace lo que le dá la gana.

Saludos
Rafael Pérez
User avatar
luisvasquezcl
Posts: 1258
Joined: Thu Jul 31, 2008 3:23 am
Location: Chile
Contact:

Re: Consulta sobre base de datos DBF y Ntx

Post by luisvasquezcl »

Estimado,
tiene que haber algo en tu tabla que está con problemas.
yo tengo algunas tablas con indices numéricos y me funcionan bien.
Por qué en vez de copiar la tabla traspasas registro a registro hasta eof() puede que en esta operación salte algún problema que no detecta cuando copia la tabla completa.
Espero te sea de utilidad.
Saludos cordiales,
Luis Vasquez
arroya2
Posts: 172
Joined: Thu Aug 06, 2009 7:16 am

Re: Consulta sobre base de datos DBF y Ntx

Post by arroya2 »

Gracias Luis.

He traspasado los datos registro a registro y ahora todo funciona bien.

Saludos
Rafael Pérez
arroya2
Posts: 172
Joined: Thu Aug 06, 2009 7:16 am

Re: Consulta sobre base de datos DBF y Ntx

Post by arroya2 »

Hola a todos.

Quiero aclarar (por si alguien lee esto posteriormente), que actualmente el driver DBFCDX construye los indices con la extensión CDX tanto para los indices compuestos (los BAGs) como para los indices individuales (que anteriormente y según leí en un manual, les daba la extensión IDX).

Saludos para todos
Rafael Pérez
Post Reply