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