Results 1 to 7 of 7
  1. #1
    Star Lounger
    Join Date
    Dec 2001
    Location
    Redwood City, California, USA
    Posts
    62
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Disconnects and Corruption (Jet 3.0)

    We experience DB corruptions from time to time in a shared Jet 3.0 database. We have never noticed a data loss, but need to repair the DB because Jet thinks it is corrupted and will not allow access. The database is used in a canned VB application via DAO. The DB is on a Win2k server. The users are on Win2K workstations or on Win2K TS.

    The app vendor warns about anything that might break the connection between an app program and the database. The application is such that many users have the program open, but mostly idle, for long periods of time. Apparently the program keeps a connection to the DB open during this time rather than opening it just before the program needs to access the DB. There are no uncommitted transactions, but there does appear to be at least one lock on the .ldb file.

    If such a program disappears (lost connection, C-A-D, etc.), would that cause Jet to think that the DB was corrupted?

    Do you know of any way to monitor for this sort of thing on a long term basis?

    Thanks,

    Joe

  2. #2
    Plutonium Lounger
    Join Date
    Dec 2000
    Location
    Sacramento, California, USA
    Posts
    16,775
    Thanks
    0
    Thanked 1 Time in 1 Post

    Re: Disconnects and Corruption (Jet 3.0)

    The vendor is telling you the truth. Access/Jet is particularly sensitive to network interruptions, more so than any other program I've found. The persistent connection isn't a bad idea for performance and all it takes to generate an ldb on a database is having a table open through a query, form, etc. If one of your users has a form open that is bound to a table, then you'll see that ldb file even if the app itself isn't maintaining a connection for other reasons.

    What exactly are you wanting to monitor, disconnects, corruption messages, or what?
    Charlotte

  3. #3
    Star Lounger
    Join Date
    Dec 2001
    Location
    Redwood City, California, USA
    Posts
    62
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: Disconnects and Corruption (Jet 3.0)

    Does Jet think the DB corrupted if a program with a connection to it loses the connection even though there is no uncommitted change? I know that the .ldb is an ancillary file for connection and lock information, but what is its relevance to Jet's determination of corruption without uncommitted changes?

    What I want to monitor is what is causing Jet to say "corrupted". If this is due to loss of connections, I would want to somehow log these events. I do not know if this is is even possible. I don't particularly want to monitor the corruption messages -- our administrator does a good job of that and I consider those messages akin to discovering the body in the road rather than watching the accident.

  4. #4
    Plutonium Lounger
    Join Date
    Dec 2000
    Location
    Sacramento, California, USA
    Posts
    16,775
    Thanks
    0
    Thanked 1 Time in 1 Post

    Re: Disconnects and Corruption (Jet 3.0)

    If the app thinks the DB is corrupted, then it probably is. Data loss is a separate issue. Corruption can also apply to the structure itself, and it does occur at times. Given that Jet 3.0 is a couple of releases back, I no longer recall whether it had any specific peculiarities in this regard, but I don't know of any way to determine exactly what kind of corruption has occurred. If you want to monitor lost connections, I would suggest you have your administrator turn on a monitor.
    Charlotte

  5. #5
    Super Moderator
    Join Date
    Aug 2001
    Location
    Evergreen, CO, USA
    Posts
    6,623
    Thanks
    3
    Thanked 60 Times in 60 Posts

    Re: Disconnects and Corruption (Jet 3.0)

    Charlotte's hit the nail on the head - Jet 3.0 basically assumed that any connection that went away unexpectedly had caused the database to go corrupt. So if a user workstation crashed for some reason, you almost bet that the database had a corrupt flag set. Same thing if Access crashed for some reason, and of course a LAN disconnect or other anomoly would cause it too. Jet 3.5 and Jet 4.0 apparently are more resilient as we don't see as many problems. As I recall, once the corrupt flag was set, no more users could open the .mdb file until everyone got out, and then when you tried to open the file it would do a self-repair. I don't know of any way to track the events that are causing the problem short of running a very detailed (and VERY expensive) network analysis.

    It seems to me the issue may be with your vendor's design. First of all it should probably be updated to a later version of Jet, and second, the connection design appears to be the real issue. I suppose you could try user training - i.e. don't open the application until you need it and then close it when you are done, but . . . . Most of the user I know, including myself end up leaving things open for hours on end. <img src=/S/doh.gif border=0 alt=doh width=15 height=15>
    Wendell

  6. #6
    Star Lounger
    Join Date
    Dec 2001
    Location
    Redwood City, California, USA
    Posts
    62
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: Disconnects and Corruption (Jet 3.0)

    We will move to a newer version of the app soon. That is based on Jet 4 and ADO. I do not know what other internal design changes they made, but I can hope for greater robustness.

    If Jet sets the corrupt flag when a connection is lost, that probably counts for "99%" of our problem. We have had corruptions, but never lost data or structure. I am sure user behavior is involved. I was hoping for an easy monitor/log tool to help point fingers, but that does not seem to exist.

    Thanks for your help,

    Joe

  7. #7
    Super Moderator
    Join Date
    Aug 2001
    Location
    Evergreen, CO, USA
    Posts
    6,623
    Thanks
    3
    Thanked 60 Times in 60 Posts

    Re: Disconnects and Corruption (Jet 3.0)

    Well there are at least two user behaviors that can cause those kind of problems - one is doing the three-fingered salute to kill Access or any application using a jet back-end, and the other is either rebooting your PC or powering it down without using the start menu. If you have that going on regularly, you may be able to help the situation some.
    Wendell

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •