Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 5 of 5 total
Thread Error #10223 (Cannot write lock the lock file)
Mon, Feb 6 2006 4:19 PMPermanent Link

"dbisam"
Hello Everyone  - "Long time listener, first time caller"

I am receiving the error code #10223 "Cannot write lock the lock file for
the database '\\someserver\somedirectory' and am after some advice in
finding the cause, and possible rectification, please.

Application A is installed on ten client PC's and is used to store
information regarding what job an employee should be working on. There are a
multitude of tables, but the main stay is one named tbl_open_jobs
(surprisingly enough!). Users may Add, Change and Delete from this table -
assuming they have the right privileges which are handled in code.



Application B is a simple program that allows employees to "clock in and
out" of the work environment - which stores badge numbers, timestamps, pay
rate, schedules and usual info for this kind of thing.  This app is also
installed locally on the ten client PC's.



Both apps were completely disparate, in that they had their own data stored
in individual databases. A request was made to tie the two together, so that
a "clock-in" by an employee (in app B) would automatically assign the user
to a job (in app A).



It was a simple enough procedure (I thought) to add an additional
TDBISAMDatabase component (and associated TDBISAM Table) to app B, that
would search the tbl_open_jobs, looking for records for the specified user,
and update them as necessary.



In tests, the entire process worked fine. After roll out application A (the
main employee-to-job app) started to report the afore mentioned error
message.

When the error is displayed, the entire tbl_open_jobs table appears to be
locked - as simple select queries simply sit, without returning a result.



Any information this group could give, would be greatly received.



Both programs were written in Delphi 7, windows XP SP2. Both utilize DBIsam
version 4.21.

Each client PC is windows XP, SP2 installed.

The database for App A is help on a remote server, for access from any PC
whereas the database for App B is help locally (for access if the network
goes down).



Thanks in advance for your time

Mark

Tue, Feb 7 2006 11:31 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Mark,

<< In tests, the entire process worked fine. After roll out application A
(the main employee-to-job app) started to report the afore mentioned error
message. >>

Are you using transactions at all ?  Also, are the updates occurring via SQL
or in code ?

--
Tim Young
Elevate Software
www.elevatesoft.com

Tue, Aug 15 2006 9:04 AMPermanent Link

methad
"Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote:

Mark,

<< In tests, the entire process worked fine. After roll out application A
(the main employee-to-job app) started to report the afore mentioned error
message. >>

Are you using transactions at all ?  Also, are the updates occurring via SQL
or in code ?

--
Tim Young
Elevate Software
www.elevatesoft.com

I have an application that iterates through a list of \\ComputerName\Directories, and mapes those to a drive letter, and then executes sql statements (just select) against the mapped drive.
When I run through just one mapping (map one drive letter, and exectue one query), and then run the process again, without closing the application, I get this error. I'm using Delphi 2005,
with DBISAM 4.x.

I thought the OS had the file locked, but I put in a break point, and before I activated the query, or set the dbpath for it, I removed the lock file that was left over, and it still gave me the
error. Also, if I close the application down after the first run, and then start it up and run it again, it's fine.

I'm just using a TDBISAMQuery. You asked if they were using transactions. Am I not closing down properly? I create the query, I set the sql, and the dbpath, and then activate the query. I
use the data, and then close the query and free the object.

Thanks
Tue, Aug 15 2006 10:00 AMPermanent Link

methad
methad <thollingsworth@paychex.com> wrote:

"Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote:

Mark,

<< In tests, the entire process worked fine. After roll out application A
(the main employee-to-job app) started to report the afore mentioned error
message. >>

Are you using transactions at all ?  Also, are the updates occurring via SQL
or in code ?

--
Tim Young
Elevate Software
www.elevatesoft.com

I have an application that iterates through a list of \\ComputerName\Directories, and mapes those to a drive letter, and then executes sql statements (just select) against the mapped drive.
When I run through just one mapping (map one drive letter, and exectue one query), and then run the process again, without closing the application, I get this error. I'm using Delphi 2005,
with DBISAM 4.x.

I thought the OS had the file locked, but I put in a break point, and before I activated the query, or set the dbpath for it, I removed the lock file that was left over, and it still gave me the
error. Also, if I close the application down after the first run, and then start it up and run it again, it's fine.

I'm just using a TDBISAMQuery. You asked if they were using transactions. Am I not closing down properly? I create the query, I set the sql, and the dbpath, and then activate the query. I
use the data, and then close the query and free the object.

Thanks



I guess I should have tried the db/transaction thing first. That seems to do it. So, the closing of the query object doesn't do it?
Tue, Aug 15 2006 12:31 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

<< I have an application that iterates through a list of
\\ComputerName\Directories, and mapes those to a drive letter, and then
executes sql statements (just select) against the mapped drive. When I run
through just one mapping (map one drive letter, and exectue one query), and
then run the process again, without closing the application, I get this
error. I'm using Delphi 2005, with DBISAM 4.x.

I thought the OS had the file locked, but I put in a break point, and
before I activated the query, or set the dbpath for it, I removed the lock
file that was left over, and it still gave me the error. Also, if I close
the application down after the first run, and then start it up and run it
again, it's fine.

I'm just using a TDBISAMQuery. You asked if they were using transactions.
Am I not closing down properly? I create the query, I set the sql, and the
dbpath, and then activate the query. I use the data, and then close the
query and free the object.  >>

My apologies, I misread the title of the original post and missed the "lock
file" part.  If you're getting an error on being able to update the lock
file, then that means that most likely there is an OS user rights issue.

--
Tim Young
Elevate Software
www.elevatesoft.com

Image