By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
434,661 Members | 1,917 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 434,661 IT Pros & Developers. It's quick & easy.

Ldb Persistent Locking

P: n/a
Dear Access Peers,

I am having a problem over a network, where the Database takes 5-Mins
to load instead of the normal 5 seconds. It has only started to do
this since I split the frontend & backend. There is millions of posts
with the same problem, but solving this has not been easy.

I have read http://www.granite.ab.ca/access/performancefaq.htm which
has some excellent points, and I think the solution is the LDB
persistent locking. I have implemented the bound form as suggested -
which indeed increases performance once the database has eventually
loaded.

However - I am using a Function in the Autoexec Macro to "relink"
tables to the backend location, and it's this part which is taking 5
mins+. Unfortunately this must run before the "Bound Form" opens - as
the re-linked is designed to allow the backend to change
directory/network locations without Manual re-linking.

Some more info:

* Frontends are on each workstation.
* Backend is on the Server
* The slowness occurs when more than 1 user is logged in.
* Win XP SP1a, OfficeXP SP2 - Latest JET.
* 3 Backends - with roughly 40 tables.

As I said above - my impression is it's the dreaded ldb persistent
locking problem - but how can I incorporate the Re-linking rountine,
which must occur before opening a table in the backend - to be bound
to a form?

Thankyou for listening!

Elias Farah.
Nov 12 '05 #1
Share this Question
Share on Google+
3 Replies


P: n/a
You could use an If statement to see if the first table linked to each source is linked to
that source and if so, discontinue checking the rest of them. This would let you exit the
routine quicker except when you really need to relink the tables.

--
Wayne Morgan
"Elias Farah" <lo******@hotmail.com> wrote in message
news:c6**************************@posting.google.c om...
Dear Access Peers,

I am having a problem over a network, where the Database takes 5-Mins
to load instead of the normal 5 seconds. It has only started to do
this since I split the frontend & backend. There is millions of posts
with the same problem, but solving this has not been easy.

I have read http://www.granite.ab.ca/access/performancefaq.htm which
has some excellent points, and I think the solution is the LDB
persistent locking. I have implemented the bound form as suggested -
which indeed increases performance once the database has eventually
loaded.

However - I am using a Function in the Autoexec Macro to "relink"
tables to the backend location, and it's this part which is taking 5
mins+. Unfortunately this must run before the "Bound Form" opens - as
the re-linked is designed to allow the backend to change
directory/network locations without Manual re-linking.

Some more info:

* Frontends are on each workstation.
* Backend is on the Server
* The slowness occurs when more than 1 user is logged in.
* Win XP SP1a, OfficeXP SP2 - Latest JET.
* 3 Backends - with roughly 40 tables.

As I said above - my impression is it's the dreaded ldb persistent
locking problem - but how can I incorporate the Re-linking rountine,
which must occur before opening a table in the backend - to be bound
to a form?

Thankyou for listening!

Elias Farah.

Nov 12 '05 #2

P: n/a
Wayne,

Thanks for replying!

I first thought your suggestion might work, but when there is multiple
backends which means the first table can't be assumed to hold all
linked tables. Traversing the tabledef is the only way to make sure
The Data,Global & Product backends are properly re-linked.

Hmmm....... Good suggestion, but the multiple backends ruin it.
I think a bit harder about it. Perhaps I should make a table storing
backend filenames, then I can test 3 tables. Still seems ugly!
Regards,
Elias Farah

You could use an If statement to see if the first table linked to each source is linked to
that source and if so, discontinue checking the rest of them. This would let you exit the
routine quicker except when you really need to relink the tables.

--
Wayne Morgan
"Elias Farah" <lo******@hotmail.com> wrote in message
news:c6**************************@posting.google.c om...
Dear Access Peers,

I am having a problem over a network, where the Database takes 5-Mins
to load instead of the normal 5 seconds. It has only started to do
this since I split the frontend & backend. There is millions of posts
with the same problem, but solving this has not been easy.

I have read http://www.granite.ab.ca/access/performancefaq.htm which
has some excellent points, and I think the solution is the LDB
persistent locking. I have implemented the bound form as suggested -
which indeed increases performance once the database has eventually
loaded.

However - I am using a Function in the Autoexec Macro to "relink"
tables to the backend location, and it's this part which is taking 5
mins+. Unfortunately this must run before the "Bound Form" opens - as
the re-linked is designed to allow the backend to change
directory/network locations without Manual re-linking.

Some more info:

* Frontends are on each workstation.
* Backend is on the Server
* The slowness occurs when more than 1 user is logged in.
* Win XP SP1a, OfficeXP SP2 - Latest JET.
* 3 Backends - with roughly 40 tables.

As I said above - my impression is it's the dreaded ldb persistent
locking problem - but how can I incorporate the Re-linking rountine,
which must occur before opening a table in the backend - to be bound
to a form?

Thankyou for listening!

Elias Farah.

Nov 12 '05 #3

P: n/a

"Elias Farah" <lo******@hotmail.com> wrote in message
news:c6**************************@posting.google.c om...
Wayne,

Thanks for replying!

I first thought your suggestion might work, but when there is multiple
backends which means the first table can't be assumed to hold all
linked tables. Traversing the tabledef is the only way to make sure
The Data,Global & Product backends are properly re-linked.

Hmmm....... Good suggestion, but the multiple backends ruin it.
I think a bit harder about it. Perhaps I should make a table storing
backend filenames, then I can test 3 tables. Still seems ugly!
Regards,
Elias Farah

From experience I have found that a startup routine that simply goes through
and deletes all linked tables and then re-creates them can be faster than
trying to refresh the links. I think I recently answered a post asking for
a routine with multiple back ends. That poster had been storing the info in
an ini file.

Fletcher

Nov 12 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.