View Complete Thread | FoxWeb Forum Home
Search:
Date:    Msg ID:   
From:    Thread:   
Subject:   
Opening eight tables will not be slow.
 
every time your script runs you need to make sure that the environment is good ie. there are no left over tables from some other script that may not have anything to do with you. And you also cannot expect the tables that you opened will still be there on the next request. So i do not see the problem with making sure all data is closed before you start. The chances are that the function is opening all the tables most of the time anyway (thats way you only see the problem ever now and then).
 
 
Sent by on 07/06/2006 04:00:55 PM:
 James,

I'm reluctant to do a "close data all" because of my pereception that opening eight tables is pretty slow. I think I will do it your way if someone else doesn't weigh in soon with other suggestions.

And, I thank you.

Ciao,

Alden

Sent by James Williams on 07/06/2006 03:33:06 PM:
if you do not have control over tables being closed on script finish i would change the opendbf funtion to:
 
Function opendbf
 
Close data all
 
use .\database\workOrders in 0 alias WORKORDERS
use .\database\people in 0 alias PEOPLE
Endfunc
 
this way you know that all databases are closed before your scripts start, and that requests from other scripts (other apps) will not have an effect on yours.
 
Sent by on 07/06/2006 03:17:04 PM:
 1. openDBFs is an incomplete stub. I open 8 files in the same fashion in areas 1 through 8. I Double checked that.

2. I use a FoxWeb ISP and don't have access to the control center. I sent them an email asking if "close database after script finishes" is selected.
Not knowing and not have total control is why I use the:

if !used("WORKORDERS")
  sele 2
  use .\database\workOrders alias WORKORDERS
endif

scheme. It shouldn't matter whether or not files are closed after a script finishes. I have =openDBFs() at the top of every script.

3. I haven't tried opening the table at the top of the script, bypassing opendDBFs(). There are many, many scripts all using openDBFs() and the problem isn't isolated in one script. Any script can provoke the error and the table varies. That is, sometimes it's WORKORDERS and sometimes it's PEOPLE.

I've used this same openDBFs scheme in many systems. All these systems are now exhibiting the error and dammed if it isn't intermittent.

Ciao,

Alden

Sent by James Williams on 07/06/2006 02:38:59 PM:
1. is the opendbfs function you have listed complete or have you cut it down to post on the forum. There could be a another database opening in that work area.
 
2. Do you have close database after script finishes selected in the control centre.
 
3. have you tried just opening the table at the top on the script without using the function.
 
Sent by on 07/06/2006 02:04:09 PM:
Hello,

I'm getting a perplexing intermittent error:

 There was an error during the interpretation of your request.

Error #:              13
Message:         Alias 'WORKORDERS' is not found.
Program:         c:\inetpub\potter\stoutmarinedatabase\mgmt.fxp
Line #:         9
Line:         sele WORKORDERS

If I hit the browser's refresh the error vanishes and all works fine.

mgmt.fwx
line 8 =openDBFs()
line 9 sele WORKORDERS

opendDBFS.prg
if !used("PEOPLE")
  sele 1
  use .\database\people alias PEOPLE
endif
if !used("WORKORDERS")
  sele 2
  use .\database\workOrders alias WORKORDERS
endif
retu(.t.)