This can be a problem with Access Databases and can even cause corruption
(IMO, base on anecdotal experience). I would back this database up daily so
that you don't loose too much data, in case corruption does occur.
Additionally, I would compact this database often if you are doing any kind
of data manipulation at all. You can do this programmatically via the JRO
library.
Dim src As String
Dim dest As String
Dim tmpDB As String
Dim je As JRO.JetEngine = New JetEngineClass
tmpDB = CLog.GetAppPath() & "\tmp.mdb"
src = con.ConnectionString ' ADODB connection that has already been
opened
dest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & tmpDB & ";Jet
OLEDB:Engine Type=5"
If con.State <ADODB.ObjectStateEnum.adStateClosed Then
con.Close()
End If
je.CompactDatabase(src, dest)
Kill(m_sDBName) ' m_sDBName is the name of the database and it's location
File.Move(tmpDB, m_sDBName)
con.Open()
je = Nothing
Hope you were looking for something like this. Otherwise, sorry I posted
nonsense for you.
Steve
"T Clancey" <tu**@idcodeware.co.ukwrote in message
news:Ko********************@bt.com...
Hi, I have an app which connects to an Access database on a server, there
are around 10 clients. It's a fairly heavy data intensive app, but most
of the traffic is look up data.
While the system appears to run completely error free around every 6 weeks
the server stops serving the network share where the database resides.
When a client tried to connect you get an error message something like Not
enough resources or disk failure. Resetting the server cleares the
problem. More worrying is a large database corruption that happened just
a couple of days ago.
As far as I can tell my code is correct and I'm not leaving anything open
or connected that shouldn't be. Is there any way to trace or track what
connections and/or resources are being used by each Client? Or if my code
is generating any memory leaks?
Cheers,
Tull.