Page 1 of 2

Close the sistem

Posted: Thu Aug 14, 2014 7:16 pm
by arthursilvestre
Good afternoon to all my dear colleagues: D
I'm going through a situation where my system is simply closed form 'not advised' and causing much inconvenience to my customers. I have observed that it generates a file called 'hb_out.log'. In this aquivo find the timeline happened to the time of error, is always 'burst' in some of the functions 'DB ... ()' (dbcommit (), dbAppend (), etc.). The information is brought to me is that the CDX is corrupted (hb_cdxPageKeyLeafBalance:. Corrupted index). Would like to know if any of your friends or even liniares antonio One can help me.
Already I am grateful to everyone's attention.

Ps: I am Brazilian and I'm using the google translator if my 'english' is not good, I apologize. rsrsrsrsrsrsrs
PS: I use Harbour

Re: Close the sistem

Posted: Thu Aug 14, 2014 8:15 pm
by karinha
i suggest you delete the index file and recreate it

Regards.

Re: Close the sistem

Posted: Fri Aug 15, 2014 12:05 pm
by aferra
not solve, I'm also having the same problem, first thought was the database class, then the harbour, I particionei my dbf parameters created in the harbour dbf minimized, but once a week is the same problem and all this then I switched to harbour in xHarbour did not have that problem. all say the harbour is better and while I could see is that I gained speed network and running the program, however has this inconvenience.

let's wait some guro the harbour.

Re: Close the sistem

Posted: Fri Aug 15, 2014 12:11 pm
by cnavarro
You can put the expression you create the index?

Re: Close the sistem

Posted: Fri Aug 15, 2014 12:43 pm
by aferra
sorry arthur enjoy your post, but I have the same difficulty

this is what most corrupts the index, is also the most used

oTxt1:SetText("Arquivo de Clientes")
USE arqcli NEW EXCLUSIVE
IF( lPack, hb_dbPack(), )
nRegCdx := RecCount() / 100
oMetCdx:SetTotal( RecCount() )
oTxt2:SetText("Indexando o Arquivo Por Código")
INDEX ON cod TAG cod EVAL ( oMetCdx:Set(RECNO()), SysRefresh() ) EVERY nRegCdx
oTxt2:SetText("Indexando o Arquivo Por Razão Social")
INDEX ON nom TAG nom EVAL ( oMetCdx:Set(RECNO()), SysRefresh() ) EVERY nRegCdx
oTxt2:SetText("Indexando o Arquivo Por Nome do Cliente")
INDEX ON ape TAG ape EVAL ( oMetCdx:Set(RECNO()), SysRefresh() ) EVERY nRegCdx
oTxt2:SetText("Indexando o Arquivo Por C.N.P.J.")
INDEX ON cgc TAG cgc EVAL ( oMetCdx:Set(RECNO()), SysRefresh() ) EVERY nRegCdx
oTxt2:SetText("Indexando o Arquivo Por Município")
INDEX ON mun TAG mun EVAL ( oMetCdx:Set(RECNO()), SysRefresh() ) EVERY nRegCdx
oTxt2:SetText("Indexando o Arquivo Por Ramo de Atividade")
INDEX ON atv TAG atv EVAL ( oMetCdx:Set(RECNO()), SysRefresh() ) EVERY nRegCdx
oTxt2:SetText("Indexando o Arquivo Por Vendedor")
INDEX ON ven TAG ven EVAL ( oMetCdx:Set(RECNO()), SysRefresh() ) EVERY nRegCdx

Re: Close the sistem

Posted: Fri Aug 15, 2014 7:03 pm
by driessen
I had a similar problem some time ago. At that time, I was using xHarbour.

I changed to Harbour and the problem disappeared.

Re: Close the sistem

Posted: Fri Aug 15, 2014 7:55 pm
by aferra
mine was just the opposite, but I'm reviewing the entire structure of dbf, inclusion, change ... hope FIND the problem.

Re: Close the sistem

Posted: Fri Aug 15, 2014 8:04 pm
by cnavarro
Try creating indexes so the first time

Code: Select all

oTxt1:SetText("Arquivo de Clientes")
USE arqcli NEW EXCLUSIVE
IF( lPack, hb_dbPack(), )
nRegCdx := RecCount() / 100
oMetCdx:SetTotal( RecCount() )
oTxt2:SetText("Indexando o Arquivo Por Código")
INDEX ON cod TAG cod //EVAL ( oMetCdx:Set(RECNO()), SysRefresh() ) EVERY nRegCdx
oTxt2:SetText("Indexando o Arquivo Por Razão Social")
INDEX ON nom TAG nom //EVAL ( oMetCdx:Set(RECNO()), SysRefresh() ) EVERY nRegCdx
oTxt2:SetText("Indexando o Arquivo Por Nome do Cliente")
INDEX ON ape TAG ape //EVAL ( oMetCdx:Set(RECNO()), SysRefresh() ) EVERY nRegCdx
oTxt2:SetText("Indexando o Arquivo Por C.N.P.J.")
INDEX ON cgc TAG cgc //EVAL ( oMetCdx:Set(RECNO()), SysRefresh() ) EVERY nRegCdx
oTxt2:SetText("Indexando o Arquivo Por Município")
INDEX ON mun TAG mun //EVAL ( oMetCdx:Set(RECNO()), SysRefresh() ) EVERY nRegCdx
oTxt2:SetText("Indexando o Arquivo Por Ramo de Atividade")
INDEX ON atv TAG atv //EVAL ( oMetCdx:Set(RECNO()), SysRefresh() ) EVERY nRegCdx
oTxt2:SetText("Indexando o Arquivo Por Vendedor")
INDEX ON ven TAG ven //EVAL ( oMetCdx:Set(RECNO()), SysRefresh() ) EVERY nRegCdx
 
What version of FWH and Harbour are you using?

Re: Close the sistem

Posted: Fri Aug 15, 2014 9:19 pm
by aferra
I'll try and then I report you, use FWH 907 / 1312 + harbour 3.0 / 3.2 and two'm in trouble

Re: Close the sistem

Posted: Sat Aug 16, 2014 10:16 am
by ORibeiro
I have the same problem, but only on a few customers, most of them do not.

It seems that is related to equipment.

I don't know what to do.

Re: Close the sistem

Posted: Mon Aug 18, 2014 2:04 am
by marciotullio
Erro irrecuper vel 9201: hb_cdxPageKeyLeafBalance: index corrupted.
Erro irrecuper vel 9201: hb_cdxPageSeekKey: wrong parent key.

I have the same problem, already used XHB, switched to HB and was otimo for 5 days and after this period continues with the same problem, after deleting the CDX and create problem sometimes back again in 1 hour or 6 hours but it comes back happening, this customer has 40 machines that uses accessing the system, but already reduce usage to 20 machines and the problem continues, if some physical problem on some equipament to identify this problem.


Currently use the HB 3.2 and FHW 13.12 and bcc 5.82

Re: Close the sistem

Posted: Mon Aug 18, 2014 9:35 pm
by Kleyber
Marcio Tullio,

The problem is in your dbf that is corrupted. You must do this: rename your DBF like yourdbf_old.dbf and create a new one (maybe using DBU or another of your preference) and create the structure manually. After this, import all data from the old dbf. In your app, recreate all CDX files.

Let us know your results.

Re: Close the sistem

Posted: Mon Aug 18, 2014 10:35 pm
by aferra
Kleyber Hello, I've done it and not resolved, I created all dbf in harbour and spends a few hours, sometimes minutes, corrupts the cdx.

I added this function in application start.
If! WIN_OSNETREGOK () // Need ADM rights
If! WIN_OSNETREGOK (.t.,. T.) // First .t. is to adjust XP / ... W98, the second adjusts the view.
MsgInfo ('Registration not set windows!')
EndIf
EndIf

and took the DBINFO (DBI_SHARED, .F.) opening dbf

Only Tomorrow I will have the results.

Re: Close the sistem

Posted: Tue Aug 19, 2014 11:08 pm
by James Bott
From my notes:
-------------------
4/27/2005 7:08 AM

Windows' Oppontunistic Locking

Is well described at:
http://www.dataaccess.com/whitepapers/o ... ching.html
-----------------

It also appears that you have Win 98 computers on the network--I highly recommend not using those.

The amount of RAM in the computers can be an issue.

Is this a new system, or an existing system that just started generating errors? If it just started, was there an update to the application software or server?

James

Re: Close the sistem

Posted: Wed Aug 20, 2014 12:56 pm
by aferra
Hi James, thanks for answering.

in my case, I dont have computers with w98, machines are core i3 4GB, 3GB 2duo core, but are already two days without problems after the changes.
I'm monitoring and getting everything in order will give the opinion.