Seemingly random 'object invalid or no longer set'

  • Thread starter Thread starter 4bex
  • Start date Start date
4

4bex

Guest
Hi all,
I have an Access 2002 (SP3) frontend and SQL 2000 (SP3a) backend.
2 sites, 2 SQL servers ( identical hardware and software).
Replication using Push Merge every 5 minutes.

10 users at 1 site and 15 at the other with Access 2002 frontend stored locally on each users PC.

I get random 'object invalid or no longer set' messages just appearing on the workstation screen without the operator doing anything. about 3 or 4 a week, but not on the same workstation at 1 of the sites only, but only during the working hours of the other site. We have out of hours users who never experience this issue.

Occasionally the error is preceeded by a SQL ODBC connectivity error but this rare.

I had been informed it was network issue but I have been running continuous
ping from a suspect workstation to the sql server and back.
When the error occurs there are NO dropouts in the pings.

It doesn't follow volume of data changes either as one site can make hundreds of changes and we don't get the error and then it can be after 10 changes the error occurs.

I have been researching this now for about 2 weeks to no avail, if anyone can point me in the direction of good resources you will make my year. :D
 
If you have any code running in the background (VBA under a hidden or otherwise continuously open form, perhaps), you might want to check that you don't set any objects to Nil. Remember that the Set verb is a pointer manipulator, in effect. I.e. if you declare an object type in a variable and then Set the variable to an instance of that object type, changing the selected object might disconnect or alter the implied pointer.

Also, PING proves network connectivity but NOT application connectivity. It is possible to have a session timeout that would have this effect. Ping, being a UDP/ICMP function, doesn't know a session from a suitcase. Applications, on the other hand, involve TCP sessions (because, for example, you have to provide a username and password for an ODBC function). You would need to know the timer parameters of your session manager, not the network.
 
Many thanks Doc Man,
I don't know much about the coding (meeting with someone soon to have a look at it) but monitoring the application was going to be my next step.
I have inherited this situation so am trying to eliminate the most obvious things first before assassinating my predeccessors programming abilities.
I will investigate the coding and reply here
 
To 4bex

I have the same problem, and like you I have tried to solve the problem in many ways.
Have you found a solution? If such please share it with me.

Yours Martin
 
There are a load of issues that need attention in this context. ODBC, being a connection, can have a lifetime as well as a heartbeat. That is, besides timing out, there can be limits imposed by the network security manager to prevent sessions from hanging on too long. PARTICULARLY if there is a bunch of idle time in the connection. See, idle sessions are the devil's workshop (with apologies to those who first heard that as "idle hands...").

In the world of the security manager, an open port is a gaping hole through which data can be driven or extracted. It is an accident waiting to happen. It is a security flaw. (Of course, a really GOOD security manager is so paranoid that no applications would ever run across the net at all...) So they put lifetimes on sessions. On the system where I am the sys admin and security admin, truly idle sessions die within 15 minutes of first detection.

So it would pay to have the security manager for your site tell you if network idle-session killers are deployed. If so, there is a big part of the answer.

If this applies to your situation, the message then becomes clear. The connection was destroyed by the network idle-session killer or by a lifetime limit killer. Once the session is de-instantiated, of course it is "invalid or no longer set."
 

Users who are viewing this thread

Back
Top Bottom