Page 1 of 1

Error xHarbour

Posted: Thu Apr 10, 2008 5:11 pm
by mmercado
Alguien sabe que significa este error?

hb_cdxpageseekkey:wrong parent key

No me da mayor explicacion, el errorsys no recibe información de este tipo de errores?

Urgente, gracias.

Manuel Mercado

Re: Error xHarbour

Posted: Thu Apr 10, 2008 5:27 pm
by karinha
mmercado wrote:Alguien sabe que significa este error?

hb_cdxpageseekkey:wrong parent key

No me da mayor explicacion, el errorsys no recibe información de este tipo de errores?

Urgente, gracias.

Manuel Mercado
Hola Maestro, probable un CAMPO FIELD no Especificado en el proyecto de INDEXACIÓN.

Mira este ejemplo:

http://fivetechsoft.com/forums/viewtopic.php?t=10671

Besr regards, saludos

Re: Error xHarbour

Posted: Thu Apr 10, 2008 5:49 pm
by mmercado
Sí, ya estuve probando ese ejemplo, y efectivamente hay un problema serio, con el CDX RDD, no sé si en Harbour también lo tendrá, porque de otra manera, tendré que cambiar inmediatamente a Harbour.

Lo más grave es que el mensaje de error no especifica en que base de datos o en que indice ocurrió el error.

Espero que alguien pueda ayudarnos para aclarar estos 2 casos.

Gracias anticipadas.

Manuel Mercado

Posted: Thu Apr 10, 2008 6:02 pm
by karinha
Bién... desde la version 5.3 del clipper, que asi és.

FIELD CAMPO1, CAMPO2, CAMPO3, etc.

Ó

INDEX ON FIELD->CAMPO1, etc.

y No

INDEX ON cAlias->CAMPO1

Porque el nombre del banco de datos ya esta abierto.

Saludos.

Re: Error xHarbour

Posted: Thu Apr 10, 2008 6:06 pm
by mmercado
El problema que presentó Alberto Torres no se repite con Harbour, aunque hay un comportamiento un poco raro, ya que del segundo loop, solo agrega un registro.

Me permito insistir en la urgencia de este problema para ver si nos pueden ayudar ya que yo todavía no estoy preparado para migrar mis aplicaciones a otro sistema de manejo de bases de datos.

Gracias.

Manuel Mercado

Posted: Thu Apr 10, 2008 6:17 pm
by ADBLANCO
DEBES INDEXAR ASI:

INDEX ON _FIELD->CAMPO1+_FIELD->CAMPO2 TAG ORD1 TO PEPE

Posted: Thu Apr 10, 2008 10:48 pm
by Patricio Avalos Aguirre
Manuel

Puede ser el problema del indice, este tiene un limite

viendo el ejemplo http://fivetechsoft.com/forums/viewtopic.php?t=10671

Code: Select all

FUNCTION Main
Local cTemp := "MYFILE.DBF", cFileCdx := "MYFILE.CDX"
Local nI := 1

SET DATE TO FRENCH
SET EPOCH TO 1960
SET CENTURY ON
SET DELETED ON

REQUEST DBFCDX
RDDSETDEFAULT( "DBFCDX" )

REQUEST HB_LANG_ES
HB_LANGSELECT("ES")

IF FILE("MYFILE.CDX")
	ERASE MYFILE.CDX
ENDIF
IF FILE("MYFILE.DBF")
	ERASE MYFILE.DBF
ENDIF

DBCreate(cTemp,{ {"COD","C",10,0} ,;
					  {"DES","C",196,0}}, "DBFCDX" )


SELE 0 ; USE (cTemp) EXCLUSIVE NEW ALIAS TEMP VIA "DBFCDX"
INDEX ON field->COD TAG COD TO (cFileCdx)
INDEX ON field->DES TAG DES TO (cFileCdx)
SET INDEX TO (cFileCdx)

FOR nI = 1 TO 150 //137 TO 161
	DBAppend()
NEXT

FOR nI = 1 TO 250
	DBAppend()
NEXT
dbcloseall()
RETURN NIL

ahora si aumentamos el campo a 197 o superior nos provoca el error..

Code: Select all

DBCreate(cTemp,{ {"COD","C",10,0} ,;
					  {"DES","C",197,0}}, "DBFCDX" )

En Advantage tambien ocurre lo mismo, al tratar de modificar el campo
a 250 arroja un error
Error 5031

Code: Select all

This error can occur when one of the following problems exist:

1.	The seek key is not the correct length.

Code: Select all

Maximum length of key expression text and maximum length of conditional expression text	NTX	256 bytes
IDX (non-compact)	220 bytes
IDX (compact)	512 bytes**
CDX	512 bytes**
Maximum length of evaluated key expression 	NTX	256 bytes
IDX (non-compact)	100 bytes
IDX (compact)	240 bytes
CDX	240 bytes

Espero que te sirva