Subject: | |
From: | |
Reply To: | |
Date: | Wed, 2 Sep 1998 10:45:42 -0400 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
Birket said after Gary Biggs,
<support stuff snipped>
> The setting was originally put in to avoid run away reads ... I
> know you can
> set things so you can read > 1 million records ... although why someone
> wouldn't run a program in batch for the extract is the question
> that comes to
> my mind - even the 7.5 minutes of hour glass time you know you
> will take seems
> to me to be excessive for most users patience ... are you using
> the right tool
> for the job???
There are three settings in the registry which control how MS JET handles
timeouts. Since MS Access uses JET as it's engine, these values should
utilized. These are:
HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\3.5\Engines\ODBC
Key: ConnectionTimeout
QueryTimeout
LoginTimeout
All three are decimal or hex values, in seconds.
In Gary's case, the default ConnectionTimeout should have been 600 seconds
(per JET) with a 45 second QueryTimeout. LoginTimeout has a default of 20
seconds. These can all be changed with REGEDIT. These are also documented
in the MS KB as some of the parameters to check when dealing with
performance issues when using MS Access and Linked Tables, or if using MS
JET within an application to access a foreign database.
Since these parameters cover the ODBC interface to MS Access, and in this
case, it seems that Access is being used with Linked Tables - then these
timeouts, and not some hardcoded limit, should have been observed and
adhered to.
Lastly, a better method of limiting "queries from hell" (runaway queries) is
to limit rows, not an arbitrary, hardcoded timeout.
My US$0.02 worth - 0.015 or thereabouts in Canada :)
Joe
|
|
|