Question Split Database sometimes VERY slow (more than 1 user?)

I dunno exactly what " file-share declaration " means but I assume its the Shared folder?

this?:

I've just logged in to check, ALL folders have Everyone set to full access in the Security Tab, on the Permissions of the Shared folder the Everyone group is Set to Full access
.
 
Hi Chris,


Try disabling OpLocks, per this KB article:

Configuring opportunistic locking in Windows
h t t p : / / support . microsoft . com / kb / 296264

Note: This system made me remove links, since I have less than 10 posts to this forum. So, just remove the spaces in the above URL.


Also, see the Wikipedia article "Server Message Block", in the section subtitled Opportunistic Locking, for more details:

h t t p :/ / en.wikipedia.org/wiki/Server_Message_Block #Opportunistic_locking


It appears as if this option, enabled by default, may be causing the delay for any additional users who attempt to use your application.

Tom Wickerath
Access MVP Alumni
2006 - 2012
 
Heh Tom...

Big THANKS for stopping by!
 
Hi Gina,

I'm actually quite interested in this thread, especially since Chris used Wireshark to do some packet sniffing. My new focus, after Access, is network troubleshooting, including wired and wireless networks.

The next time you come to Seattle, I'd like to show you some "gently-used" Fluke Networks test equipment that I have recently acquired for my still-fledgling company, Cable Northwest (www . cablenorthwest . com).


Tom
 
Try disabling OpLocks, per this KB article:

Configuring opportunistic locking in Windows
h t t p : / / support . microsoft . com / kb / 296264

"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\EnableOplocks" already = 0

We changed this setting a year or two ago when troubleshooting another issue.

From what I understand we do not need to change the settings on the clients as this setting on the server will prevent all OpLocks?
 
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\EnableOplocks" already = 0

We changed this setting a year or two ago when troubleshooting another issue.

From what I understand we do not need to change the settings on the clients as this setting on the server will prevent all OpLocks?

Hi Chris,

You made the above registry change on the server, right?

Yes, this is my understanding as well, that you don't need to disable on both the server and all clients. That said, I don't think it would hurt anything to go ahead and disable the client's attempt to make the request. I would try using Wireshark again, to monitor before and after making this change, while monitoring the second computer attempting to open your application.


Good Luck,
Tom Wickerath
 
@Tom... Well, I am thrilled because this is outside my wheel house and I am convinced this issue needs to be resolved to get this database working properly!

With any luck at all I'll be there in November! So, I'll see you then! <crossing fingers>
 
Hi Chris,

You made the above registry change on the server, right?

Yes, this is my understanding as well, that you don't need to disable on both the server and all clients. That said, I don't think it would hurt anything to go ahead and disable the client's attempt to make the request. I would try using Wireshark again, to monitor before and after making this change, while monitoring the second computer attempting to open your application.


Good Luck,
Tom Wickerath

Yes the server has had OpLocks disabled for a year at least

I will try diabling it on a client and monitor the result

would you like a more complete wireshark trace? (is there a length limit on posts here?
 
Yes the server has had OpLocks disabled for a year at least

I will try diabling it on a client and monitor the result

would you like a more complete wireshark trace? (is there a length limit on posts here?

Do you have admin rights on the server box, to verify that this setting is the same as it was a year ago? It is not clear to me if you are quoting historical information, or if you have very recently verified that Oplocks has not somehow been re-enabled on this server.

Sorry to sound like Mr. Obvious, but you have tried rebooting the file server and clients, right? In other words, you're not working with a sytem where one or more components has gone a long time between reboots. I would even reset the entire network, by rebooting any switches involved.

Have you verified, with Wireshark, that you are *not* seeing the sharing violation message on the computer used to create the first connection to your database and that this message only shows up for subsequent attempts to open?

Try creating a new split Access application, including implementing all the normal steps for good performance (Name Autocorrect disabled, all subdatasheets set to [None], and establish a persistant connection as discussed in my article:

http :// www . accessmvp . com /TWickerath/articles/multiuser . htm

You might use a copy of Northwind to do this. Then see if that application suffers the same performance hit, when a copy of the FE is on 2 or more computers.

Have you inspected the various logs available, in the clients and in the server (for example, Control Panel | Administrative Tools | Computer Management | Event Viewer, in Windows 7)?

Sure, go ahead and post a more extensive Wireshark trace, but I'm no expert at intrepreting these yet. But there might be useful information. I do not know the limits, as far as posting to this group.


Tom Wickerath
 
Here is something else to try, from http: // support . microsoft . com/?id=889588:

Turn off the sharing violation notification delay
You can turn off the sharing violation notification delay to improve file server performance. To do this, follow these steps on the file server that stores the Access or Jet database engine-based program database.

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756(http : // support.microsoft.com/kb/322756/ )
How to back up and restore the registry in Windows
  1. Click Start, click Run, type regedit, and then click OK.
  2. Locate the following registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  3. Right-click Parameters, point to New, click DWORD Value, type SharingViolationDelay, and then press ENTER.

    Note When you create the SharingViolationDelay subkey entry, the default value that is assigned is 0x0. This is what we want.

    If the SharingViolationDelay subkey entry already exists, right-click the SharingViolationDelay entry, click Modify, type 0, and then click OK.
  4. Right-click Parameters, point to New, click DWORD Value, type SharingViolationRetries, and the press ENTER.

    Note When you create the SharingViolationRetries subkey entry, the default value that is assigned is 0x0. This is what we want.

    If the SharingViolationRetries subkey entry already exists, right-click the SharingViolationRetries entry, click Modify, type 0, and then click OK.
  5. Quit Registry Editor.
 
The timeout sounds very interesting, will give that a look tomorrow.

Do you have admin rights on the server box, to verify that this setting is the same as it was a year ago? It is not clear to me if you are quoting historical information, or if you have very recently verified that Oplocks has not somehow been re-enabled on this server.
Yep, remoted in to check just before I posted, Definitely disabled

Sorry to sound like Mr. Obvious, but you have tried rebooting the file server and clients, right? In other words, you're not working with a sytem where one or more components has gone a long time between reboots. I would even reset the entire network, by rebooting any switches involved.
Haha, as a master of the old "off and on" I can see where you are coming from, The server was rebooted friday so we will see if there has been any change.


Have you verified, with Wireshark, that you are *not* seeing the sharing violation message on the computer used to create the first connection to your database and that this message only shows up for subsequent attempts to open?
I'm not sure if its more or less experimentally valid, but I verified with wireshark that the same computer doesn't get the error if its the first connection, only when its the second/third connection

edit: The delay is present on all computers I've tested on so I assume as the timing matches almost exactly that the Error does as well



Try creating a new split Access application, including implementing all the normal steps for good performance (Name Autocorrect disabled, all subdatasheets set to [None], and establish a persistant connection as discussed in my article:

http :// www . accessmvp . com /TWickerath/articles/multiuser . htm

You might use a copy of Northwind to do this. Then see if that application suffers the same performance hit, when a copy of the FE is on 2 or more computers.
I've tried with a new FE, I have not tried with a new BE,
Regarding "Persistent connections" if these do what i assume they do which is basically the same as opening an already linked table when the FE is opened, and leaving it open they will get the same error (I've tried this) but once that intial connection hiccup is overcome the connection functions normally. Its all to do with that first connection, and some "stabalisation" that occures within a few seconds of opening which stops the error causing issues with all subsequent connections

Have you inspected the various logs available, in the clients and in the server (for example, Control Panel | Administrative Tools | Computer Management | Event Viewer, in Windows 7)?

What am I looking for in the logs?
 
I've tried with a new FE, I have not tried with a new BE,
Regarding "Persistent connections" if these do what i assume they do...
A persistent connection means that each client computer will maintain it's connection to the BE database. One easy way of doing this is to open a form, in hidden mode, that is bound to a very small table in the BE database. I think it is worth trying with a new FE/BE, such as a split Northwind, just to rule out anything with the database itself. I put this in the "divide and conquer" category.

What am I looking for in the logs?
Anything that looks out of the ordinary, incluing errors and warnings. Try clearing the logs on the 2nd client computer, before opening your shared Access application. That way, if anything does show up, it will likely be the result of attempting to open your application--less stuff to weed through.


Tom
 
A persistent connection means that each client computer will maintain it's connection to the BE database. One easy way of doing this is to open a form, in hidden mode, that is bound to a very small table in the BE database. I think it is worth trying with a new FE/BE, such as a split Northwind, just to rule out anything with the database itself. I put this in the "divide and conquer" category.

This works... in as much as the error only appears once and causes a 1 second slowdown per BE, I guess its a solution but I'm not that happy with it?
 
This works... in as much as the error only appears once and causes a 1 second slowdown per BE, I guess its a solution but I'm not that happy with it?

Perhaps it is time to rebuild all of your BE database(s). I don't know if this will help at all, but it can't hurt to try. For each BE database that you need to rebuild, create a brand new database, then immediately disable Name Autocorrect. Then import all tables and relationships from the source DB to the new DB.

I believe you indicated that you have multiple BE databases, so you might try Luke Chung's method of establishing a persistant connection, which allows one to easily persist several connections:

http : // www . fmsinc.com/free/NewTips/Access/LinkedDatabase.asp

Note: Personally, I prefer a slightly re-written version, where the paths are stored in a table, in the FE application file, rather than hard-coded in the VBA code, but that should be a pretty easy change to make, if your initial investigations show that this really helps.


Tom Wickerath
 
Sorry to keep going over this but i still do not see how the persistent connection idea applies to my problem?
 
WireShark traces from a test DB called testfe/be, with one table called "table1" with about 20 rows in.

Code:
482    3.858198    10.0.0.42    10.0.0.10    SMB    NT Create AndX Request, FID: 0xc29c, Path: \Stuff\TEST\testBE.laccdb
483    3.858631    10.0.0.10    10.0.0.42    SMB    NT Create AndX Response, FID: 0xc29c
484    3.858813    10.0.0.42    10.0.0.10    SMB    Trans2 Request, QUERY_FILE_INFO, FID: 0xc29c, Query File Standard Info
485    3.859059    10.0.0.10    10.0.0.42    SMB    Trans2 Response, FID: 0xc29c, QUERY_FILE_INFO
486    3.859219    10.0.0.42    10.0.0.10    SMB    Trans2 Request, QUERY_FILE_INFO, FID: 0xc29c, Query File Basic Info
487    3.859489    10.0.0.10    10.0.0.42    SMB    Trans2 Response, FID: 0xc29c, QUERY_FILE_INFO
488    3.859661    10.0.0.42    10.0.0.10    SMB    Trans2 Request, QUERY_FILE_INFO, FID: 0xc29c, Query File Standard Info
489    3.859846    10.0.0.10    10.0.0.42    SMB    Trans2 Response, FID: 0xc29c, QUERY_FILE_INFO
490    3.860018    10.0.0.42    10.0.0.10    SMB    Trans2 Request, QUERY_FILE_INFO, FID: 0xc29c, Query File EA Info
491    3.860385    10.0.0.10    10.0.0.42    SMB    Trans2 Response, FID: 0xc29c, QUERY_FILE_INFO
492    3.860586    10.0.0.42    10.0.0.10    SMB    Locking AndX Request, FID: 0xc29c
493    3.860763    10.0.0.10    10.0.0.42    SMB    Locking AndX Response, FID: 0xc29c, Error: STATUS_LOCK_NOT_GRANTED
494    3.86097    10.0.0.42    10.0.0.10    SMB    Locking AndX Request, FID: 0xc29c
512    4.110405    10.0.0.10    10.0.0.42    SMB    Locking AndX Response, FID: 0xc29c, Error: STATUS_FILE_LOCK_CONFLICT
513    4.110651    10.0.0.42    10.0.0.10    SMB    Locking AndX Request, FID: 0xc29c
514    4.110821    10.0.0.10    10.0.0.42    SMB    Locking AndX Response, FID: 0xc29c, Error: STATUS_LOCK_NOT_GRANTED
Code:
590    4.123542    10.0.0.42    10.0.0.10    SMB    NT Create AndX Request, Path: \Stuff\TEST\testBE.laccdb
609    4.427273    10.0.0.42    10.0.0.10    SMB    NT Cancel Request
610    4.427575    10.0.0.10    10.0.0.42    SMB    NT Trans Response, <unknown>, Error: STATUS_CANCELLED
Code:
734    5.124124    10.0.0.10    10.0.0.42    SMB    NT Create AndX Response, FID: 0x0000, Error: STATUS_SHARING_VIOLATION
Code:
915    5.140956    10.0.0.42    10.0.0.10    SMB    NT Create AndX Request, FID: 0x4202, Path: \Stuff\TEST\testBE.laccdb
916    5.141379    10.0.0.10    10.0.0.42    SMB    NT Create AndX Response, FID: 0x4202
917    5.141495    10.0.0.42    10.0.0.10    SMB    Trans2 Request, QUERY_FILE_INFO, FID: 0x4202, Query File Standard Info
918    5.141682    10.0.0.10    10.0.0.42    SMB    Trans2 Response, FID: 0x4202, QUERY_FILE_INFO
919    5.14179    10.0.0.42    10.0.0.10    SMB    Trans2 Request, QUERY_FILE_INFO, FID: 0x4202, Query File Basic Info
920    5.142076    10.0.0.10    10.0.0.42    SMB    Trans2 Response, FID: 0x4202, QUERY_FILE_INFO
921    5.14215    10.0.0.42    10.0.0.10    SMB    Trans2 Request, QUERY_FILE_INFO, FID: 0x4202, Query File Standard Info
922    5.142324    10.0.0.10    10.0.0.42    SMB    Trans2 Response, FID: 0x4202, QUERY_FILE_INFO
923    5.142368    10.0.0.42    10.0.0.10    SMB    Trans2 Request, QUERY_FILE_INFO, FID: 0x4202, Query File EA Info
924    5.142613    10.0.0.10    10.0.0.42    SMB    Trans2 Response, FID: 0x4202, QUERY_FILE_INFO
925    5.142767    10.0.0.42    10.0.0.10    SMB    Locking AndX Request, FID: 0x4202
926    5.142911    10.0.0.10    10.0.0.42    SMB    Locking AndX Response, FID: 0x4202, Error: STATUS_LOCK_NOT_GRANTED
927    5.143055    10.0.0.42    10.0.0.10    SMB    Locking AndX Request, FID: 0x4202
946    5.392676    10.0.0.10    10.0.0.42    SMB    Locking AndX Response, FID: 0x4202, Error: STATUS_FILE_LOCK_CONFLICT
947    5.392882    10.0.0.42    10.0.0.10    SMB    Locking AndX Request, FID: 0x4202
948    5.393093    10.0.0.10    10.0.0.42    SMB    Locking AndX Response, FID: 0x4202, Error: STATUS_LOCK_NOT_GRANTED
Code:
1058    5.417049    10.0.0.42    10.0.0.10    SMB    NT Create AndX Request, FID: 0x02e4, Path: \Stuff\TEST\testBE.laccdb
1059    5.41722    10.0.0.10    10.0.0.42    SMB    NT Create AndX Response, FID: 0x02e4
1060    5.417343    10.0.0.42    10.0.0.10    SMB    Trans2 Request, QUERY_FILE_INFO, FID: 0x02e4, Query File Standard Info
1061    5.417462    10.0.0.10    10.0.0.42    SMB    Trans2 Response, FID: 0x02e4, QUERY_FILE_INFO
1062    5.417515    10.0.0.42    10.0.0.10    SMB    Trans2 Request, QUERY_FILE_INFO, FID: 0x02e4, Query File Basic Info
1063    5.417648    10.0.0.10    10.0.0.42    SMB    Trans2 Response, FID: 0x02e4, QUERY_FILE_INFO
1064    5.417686    10.0.0.42    10.0.0.10    SMB    Trans2 Request, QUERY_FILE_INFO, FID: 0x02e4, Query File Standard Info
1065    5.417879    10.0.0.10    10.0.0.42    SMB    Trans2 Response, FID: 0x02e4, QUERY_FILE_INFO
1066    5.417957    10.0.0.42    10.0.0.10    SMB    Read AndX Request, FID: 0x02e4, 1024 bytes at offset 0
1067    5.418107    10.0.0.10    10.0.0.42    SMB    Read AndX Response, FID: 0x02e4, 128 bytes
1068    5.418137    10.0.0.42    10.0.0.10    SMB    Read AndX Request, FID: 0x02e4, 896 bytes at offset 128
1069    5.418315    10.0.0.10    10.0.0.42    SMB    Read AndX Response, FID: 0x02e4, 0 bytes
1070    5.418398    10.0.0.42    10.0.0.10    SMB    Close Request, FID: 0x02e4
1071    5.418606    10.0.0.10    10.0.0.42    SMB    Close Response, FID: 0x02e4
1072    5.418753    10.0.0.42    10.0.0.10    SMB    NT Create AndX Request, Path: \Stuff\TEST\testBE.laccdb
1127    6.120633    10.0.0.42    10.0.0.10    SMB    NT Trans Request, NT NOTIFY, FID: 0xc1bb
1149    6.419958    10.0.0.10    10.0.0.42    SMB    NT Create AndX Response, FID: 0x0000, Error: STATUS_SHARING_VIOLATION
Code:
               1303   6.444042   10.0.0.42   10.0.0.10   SMB   NT Create AndX Request, FID: 0x81df, Path:   \Stuff\TEST\testBE.laccdb       1304   6.444261   10.0.0.10   10.0.0.42   SMB   NT Create AndX Response, FID: 0x81df       1305   6.444498   10.0.0.42   10.0.0.10   SMB   Trans2 Request, QUERY_FILE_INFO, FID: 0x81df, Query File Standard Info       1306   6.444674   10.0.0.10   10.0.0.42   SMB   Trans2 Response, FID: 0x81df, QUERY_FILE_INFO       1307   6.444869   10.0.0.42   10.0.0.10   SMB   Trans2 Request, QUERY_FILE_INFO, FID: 0x81df, Query File Basic Info       1308   6.445048   10.0.0.10   10.0.0.42   SMB   Trans2 Response, FID: 0x81df, QUERY_FILE_INFO       1309   6.4452   10.0.0.42   10.0.0.10   SMB   Trans2 Request, QUERY_FILE_INFO, FID: 0x81df, Query File Standard Info       1310   6.445386   10.0.0.10   10.0.0.42   SMB   Trans2 Response, FID: 0x81df, QUERY_FILE_INFO       1311   6.445536   10.0.0.42   10.0.0.10   SMB   Trans2 Request, QUERY_FILE_INFO, FID: 0x81df, Query File EA Info       1312   6.44571   10.0.0.10   10.0.0.42   SMB   Trans2 Response, FID: 0x81df, QUERY_FILE_INFO       1313   6.445903   10.0.0.42   10.0.0.10   SMB   Locking AndX Request, FID: 0x81df       1314   6.446077   10.0.0.10   10.0.0.42   SMB   Locking AndX Response, FID: 0x81df, Error: STATUS_LOCK_NOT_GRANTED       1315   6.446297   10.0.0.42   10.0.0.10   SMB   Locking AndX Request, FID: 0x81df       1365   6.696178   10.0.0.10   10.0.0.42   SMB   Locking AndX Response, FID: 0x81df, Error: STATUS_FILE_LOCK_CONFLICT       1366   6.696389   10.0.0.42   10.0.0.10   SMB   Locking AndX Request, FID: 0x81df       1367   6.696623   10.0.0.10   10.0.0.42   SMB   Locking AndX Response, FID: 0x81df, Error: STATUS_LOCK_NOT_GRANTED
Like you said, there's a one second delay on the "error sharing violation" which is most of why I see the slowdown, ovbiously the other sharing errors cause a delay but its orders of magnitude smaller!
 
Compare that Wireshark to our 2003 server to this from a Win7 machine running SMB2

Code:
2776    8.050954    10.0.0.42    10.0.0.40    SMB2    GetInfo Request FILE_INFO/SMB2_FILE_EA_INFO File: test\testBE.laccdb
2777    8.051246    10.0.0.40    10.0.0.42    SMB2    GetInfo Response
2778    8.051308    10.0.0.42    10.0.0.40    SMB2    Lock Request File: test\testBE.laccdb
2779    8.051476    10.0.0.40    10.0.0.42    SMB2    Lock Response, Error: STATUS_LOCK_NOT_GRANTED
2780    8.051560    10.0.0.42    10.0.0.40    SMB2    Lock Request File: test\testBE.laccdb
2781    8.051860    10.0.0.40    10.0.0.42    SMB2    Lock Response, Error: STATUS_LOCK_NOT_GRANTED
2782    8.051940    10.0.0.42    10.0.0.40    SMB2    Lock Request File: test\testBE.laccdb
2783    8.052254    10.0.0.40    10.0.0.42    SMB2    Lock Response, Error: STATUS_LOCK_NOT_GRANTED
2784    8.052310    10.0.0.42    10.0.0.40    SMB2    Lock Request File: test\testBE.laccdb
2785    8.052545    10.0.0.40    10.0.0.42    SMB2    Lock Response
                    
2843    8.060190    10.0.0.42    10.0.0.40    SMB2    Create Request File: test\testBE.laccdb
2844    8.060404    10.0.0.40    10.0.0.42    SMB2    Create Response, Error: STATUS_PENDING
2845    8.060498    10.0.0.40    10.0.0.42    SMB2    Create Response, Error: STATUS_SHARING_VIOLATION
2847    8.062247    10.0.0.42    10.0.0.40    SMB2    Create Request File: test\testBE.laccdb
2848    8.062557    10.0.0.40    10.0.0.42    SMB2    Create Response File: test\testBE.laccdb
                    
2900    8.071840    10.0.0.42    10.0.0.40    SMB2    Lock Request File: test\testBE.laccdb
2901    8.072269    10.0.0.40    10.0.0.42    SMB2    Lock Response, Error: STATUS_LOCK_NOT_GRANTED
2902    8.072333    10.0.0.42    10.0.0.40    SMB2    Lock Request File: test\testBE.laccdb
2903    8.072532    10.0.0.40    10.0.0.42    SMB2    Lock Response, Error: STATUS_LOCK_NOT_GRANTED
2904    8.072689    10.0.0.42    10.0.0.40    SMB2    Lock Request File: test\testBE.laccdb
2905    8.072898    10.0.0.40    10.0.0.42    SMB2    Lock Response, Error: STATUS_LOCK_NOT_GRANTED
                    
2952    8.090368    10.0.0.42    10.0.0.40    SMB2    Create Request File: test\testBE.laccdb
2953    8.090688    10.0.0.40    10.0.0.42    SMB2    Create Response, Error: STATUS_PENDING
2954    8.090715    10.0.0.40    10.0.0.42    SMB2    Create Response, Error: STATUS_SHARING_VIOLATION
                    
3011    8.104991    10.0.0.42    10.0.0.40    SMB2    Lock Request File: test\testBE.laccdb
3012    8.105126    10.0.0.40    10.0.0.42    SMB2    Lock Response, Error: STATUS_LOCK_NOT_GRANTED
3013    8.105237    10.0.0.42    10.0.0.40    SMB2    Lock Request File: test\testBE.laccdb
3014    8.105504    10.0.0.40    10.0.0.42    SMB2    Lock Response, Error: STATUS_LOCK_NOT_GRANTED
3015    8.105666    10.0.0.42    10.0.0.40    SMB2    Lock Request File: test\testBE.laccdb
3016    8.105871    10.0.0.40    10.0.0.42    SMB2    Lock Response, Error: STATUS_LOCK_NOT_GRANTED

Specifically the timestamps, the whole "conversation" occures in a fraction of a second - this was apparent with how quickly the DB opened, so I guess I need ot change that delay setting you spoke about and do a reboot and hopefully it'll be a lot better! :)
 
Soooo GLAD Tom stopped by, looks like you guys are making progress! But what I really came for is... This is the way I explain persistent connection.

You just went grocery shopping and your car is full of groceries. Which is faster?

Take bag from car, open door to house, put bag inside house, go back out door closing it behind you, repeat as many times till done

OR

(And, here's the persistent connection part)
Take bag from car, open door to house and leave it open, repeat as many times till done

Note how much faster the second part it, no reopening the door to get in. It's the same with the database, you are holding the *connection* open for *quicker* requests for information.

Did that help?
 
Hi Chris,

Sorry to keep going over this but i still do not see how the persistent connection idea applies to my problem?
Didn't you report some success?:
This works... in as much as the error only appears once and causes a 1 second slowdown per BE, I guess its a solution but I'm not that happy with it?

A persistent connection is *very helpful* in speeding up shared Access applications, including relinking tables. You can run a simple experiment, timing how long it takes to relink tables with and without a persistent connection, and you should see a vast improvement with a persistent connection present.

Persistent connections prevent the file server from continually deleting and re-creating a locking database file, when there is a single user using the application. The FE clients can re-use a connection that has been persisted, instead of having to spend the time creating a new connection each time. Regardless of your specific issue, I highly recommend that you implement persistent connections to all BE JET databases, for your Access applications.


Tom
 
Soooo GLAD Tom stopped by, looks like you guys are making progress! But what I really came for is... This is the way I explain persistent connection.

You just went grocery shopping and your car is full of groceries. Which is faster?

Take bag from car, open door to house, put bag inside house, go back out door closing it behind you, repeat as many times till done

OR

(And, here's the persistent connection part)
Take bag from car, open door to house and leave it open, repeat as many times till done

Note how much faster the second part it, no reopening the door to get in. It's the same with the database, you are holding the *connection* open for *quicker* requests for information.

Did that help?

Hi Gina,

I would just add some to your analogy: Without a persistent connection, lock the door after each trip, and reset the security alarm system. Then, when returning with the second bag of groceries, disable the security system and unlock the door. Repeat this laborious sequence until you have all your groceries brought in. Hey, what's for dinner? :)


Tom
 

Users who are viewing this thread

Back
Top Bottom