Page 1 of 1

DbUseArea: index file not opened on slow network

Posted: Fri Aug 29, 2008 2:59 pm
by Timm Sodtalbers
Hi,

in a slow network environment (2 Mbit/s) DbUseArea() does not open the corresponding index file.
I get the error "DBFCDX/1201 - Workarea not indexed" when I try to call DbSeek().
The same code works on any network with normal speed.

Has anybody a idea why this happens?

AUTOPEN is set to ON and I use SET ORDER TO 1 after calling DbUseArea()

I already report this in comp.lang.xharbour with no result.

Posted: Fri Aug 29, 2008 3:16 pm
by James Bott
Personally, I would use this as an excuse to tell whoever that they need to upgrade their network hardware. No matter what you do they are never going to be satisfied with the performance of your app and they will blame your app. Gee, how cheap are network cards now? How much do they cost vs. lost productivity?

I do have one suggestion, but consider the above before you try it. Try adding a sysrefresh() after opening the DBF and index. Even if it works, I wouldn't tell them until after you have tried to convince them to upgrade their hardware and failed. In fact, I might just tell them that the problem can only be fixed by a hardware upgrade.

Regards,
James

Posted: Fri Aug 29, 2008 4:55 pm
by demont frank
Why not try a DO WHILE with a test to see that the indices are open ?

Frank

Posted: Fri Aug 29, 2008 5:21 pm
by Timm Sodtalbers
James,

the customer uses a network environment with good performances.
But there is one pc that is connected to the server by a very slow telephone network cable. The distance between the server and that pc
is about 700 mtr.

Posted: Fri Aug 29, 2008 6:01 pm
by James Bott
Tim,

I see, that is more difficult to overcome.

James

Re: DbUseArea: index file not opened on slow network

Posted: Fri Aug 29, 2008 8:44 pm
by Enrico Maria Giordano
Timm Sodtalbers wrote:Hi,

in a slow network environment (2 Mbit/s) DbUseArea() does not open the corresponding index file.
I get the error "DBFCDX/1201 - Workarea not indexed" when I try to call DbSeek().
The same code works on any network with normal speed.

Has anybody a idea why this happens?
I really can't see how the network speed could affect the index opening...

EMG

Posted: Fri Aug 29, 2008 10:49 pm
by James Bott
Enrico,

>I really can't see how the network speed could affect the index opening...

I agree, except that I have all kinds of very strange things happen that were finally solved by a simple sysrefresh(). Now, I try that more often.

James