Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 3 of 3 total
Thread File EDBDatabase.EDBCat is locked by ElevateDB even if the database is closed
Sun, Aug 23 2009 10:46 AMPermanent Link

Mats Berggren
Hi,

I use ElevateDB VCL-STD-SRC (Unicode) version 2.02 Build 15 with Delphi 2006.
I also use ElevateDB-ADD Version 2.02 Build 15.

I use embedded ElevateDB in a Delphi 2006 application.
I use a file share database. The application never use client server mode.

The application contains a function for making a backup copy of the database.
Backup is done with a function creating a ZIP-file of the database.
The ZIP-copy is done after the database has been closed with the TEDBDatabase.close method.

The application also contains a function for making a copy of the database to a different file path.
The file copying is done after the database has been closed with the TEDBDatabase.close method.

Both these functions described above works fine most of the time, but sometimes they don't.
Sometimes I get error messages like 'Can not backup the file EDBDatabase.EDBCat'.

It seems like the file EDBDatabase.EDBCat sometimes is locked by the embedded ElevateDB even if the database has been closed!?
It is a very annoying problem since I want to make sure that backup copies are created safely and correctly all the time.

What can I do to solve this problem? Is there a way to make sure that the file EDBDatabase.EDBCat is "released" when a database is closed?
How does the embedded ElevateDB handle the file EDBDatabase.EDBCat? When is the file locked and when not?

I would be very grateful if someone could help me with this problem.

Regards,
Mats Berggren
Sun, Aug 23 2009 11:39 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Mats


1. Make sure you close the session not just the database

2. Why not check out ElevateDB's own inbuilt backup facilities?

Roy Lambert [Team Elevate]
Mon, Aug 24 2009 12:43 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Mats,

<< Both these functions described above works fine most of the time, but
sometimes they don't. Sometimes I get error messages like 'Can not backup
the file EDBDatabase.EDBCat'.

It seems like the file EDBDatabase.EDBCat sometimes is locked by the
embedded ElevateDB even if the database has been closed!? >>

Did you check to make sure that all TEDBTable, TEDBQuery, TEDBScript, and
TEDBStoredProc components refer directly (via their DatabaseName property)
to the TEDBDatabase component that you're using (via its DatabaseName
property) ?  If not, then EDB will create a temporary database component
that will not be closed until the session is closed.  You can also control
this via the TEDBSession.DropConnections method, which will force all
databases to be closed, even temporary ones:

http://www.elevatesoft.com/manual?action=mancompmethod&id=edb2&product=d&version=7&comp=TEDBSession&method=DropConnections

--
Tim Young
Elevate Software
www.elevatesoft.com

Image