Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 7 of 7 total
Thread # 10223 Cannot write lock the lock file for the database WHY ?
Tue, Jan 11 2011 10:57 AMPermanent Link

John Taylor

D2007, DBIsam 4.29 build 4

I have the following bug report excerpt from a user...

exception message : DBISAM Engine Error # 10223 Cannot write lock the lock
file for the database '\\Bobbie\SFSERVER3'.

main thread ($3a0):
00a19e33 +017 SF5.exe dbisamtb       2935   +1 DBISAMError
00a62763 +087 SF5.exe dbisamen       5478  +19 TDataEngine.RaiseError
00a71cfe +0aa SF5.exe dbisamen      13163   +3
TDataDirectoryLocks.WriteLockFile
00a71e2b +00f SF5.exe dbisamen      13193   +1
TDataDirectoryLocks.AddDataTable
00a77ad4 +230 SF5.exe dbisamen      15117  +61 TDataTable.OpenTable
00a736e9 +1fd SF5.exe dbisamen      13888  +55 TDataDirectory.OpenDataTable
00a7ddec +0ac SF5.exe dbisamen      17939   +9 TDataCursor.OpenCursor
009f18da +1da SF5.exe dbisamsq       2015  +32 TSourceTable.Open
00a0de15 +051 SF5.exe dbisamsq      12659   +6 TDataQuery.OpenSourceTables
009fb842 +052 SF5.exe dbisamsq       6106  +15 TDataQuery.PrepareSelectQuery
009fb73b +0df SF5.exe dbisamsq       6054  +14 TDataQuery.PrepareQuery
009f3721 +2f9 SF5.exe dbisamsq       3012  +76
TQueryStatement.PrepareStatement
00a2cc23 +083 SF5.exe dbisamtb      13466   +7
TDBISAMQuery.GetStatementHandle
00a2cb96 +012 SF5.exe dbisamtb      13455   +1 TDBISAMQuery.PrepareSQL
00a2bf4a +04a SF5.exe dbisamtb      13111   +7 TDBISAMQuery.SetPrepared
00a2b9a7 +01f SF5.exe dbisamtb      12984   +2 TDBISAMQuery.Prepare
00fe12d3 +11b SF5.exe ServerMan       108  +18 GetSubmits

here is the GetSubmits function:

  function GetSubmits(var HaveRecord : boolean) : integer;
  var
     Q : TDBIsamQuery;
     TableName : AnsiString;
     us : AnsiString;
  begin
    result := 0;
    Q := TDBIsamQuery.Create(nil);
    try
      Q.SessionName := dm.MainDBSession.Sessionname;
      if not IsRemoteDesktop then
        us := AnsiLowerCase(ThisComputerName)
      else
        us := AnsiLowerCase(ThisTSMachineName);
      TableName := AddSlash(AppOptions.Server_DataPath) +
MAIN_TABLENAME_SERVER_STATS;
      Q.SQL.Add('SELECT * FROM ' + AnsiQuotedStr(TableName,'"'));
      Q.SQL.Add(Format('WHERE
LOWER(STATS_MACHINENAME)=%s',[AnsiQuotedStr(us,'''')]));
      Q.Prepare;   <--------------EXCEPTION HERE
      Q.Open;
      HaveRecord := Q.RecordCount = 1;
      if HaveRecord then
      begin
        Q.First;
        result := Q.FieldByName('STATS_FAXESSUBMITTED').AsInteger;
      end;
      Q.Close;
    finally
      Q.Free;
    end;
  end;

The exception DBISAM Engine Error # 10223 Cannot write lock the lock file
for the database '\\Bobbie\SFSERVER3'.
is thrown on Q.Prepare.

My question is why would the engine be trying to write lock the lock file
with this query ?  All it is doing is getting
a value from the table.

What am I missing here ?

Thanks
John Taylor

Tue, Jan 11 2011 3:22 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

John,

<< The exception DBISAM Engine Error # 10223 Cannot write lock the lock file
for the database '\\Bobbie\SFSERVER3'.
is thrown on Q.Prepare. >>

Is the target database directory running a Windows OS ?   These types of
errors are usually caused by OS locking incompatibilities like using
Linux/Samba.

Also, is this occurring with the DBISAM Database Server, or with a direct
connection to the database directory ?  It could also be an issue with the
large file support setting in the engine.

--
Tim Young
Elevate Software
www.elevatesoft.com
Tue, Jan 11 2011 7:01 PMPermanent Link

John Taylor

Tim,

Only Windows as far as I know, I'll have to ask the customer this question.

Not running the database server at all , I have large file support enabled
in the database engine.

John


"Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote in message
news:FBE9CF0B-B257-4512-9803-9C71CCF18532@news.elevatesoft.com...
> John,
>
> << The exception DBISAM Engine Error # 10223 Cannot write lock the lock
> file for the database '\\Bobbie\SFSERVER3'.
> is thrown on Q.Prepare. >>
>
> Is the target database directory running a Windows OS ?   These types of
> errors are usually caused by OS locking incompatibilities like using
> Linux/Samba.
>
> Also, is this occurring with the DBISAM Database Server, or with a direct
> connection to the database directory ?  It could also be an issue with the
> large file support setting in the engine.
>
> --
> Tim Young
> Elevate Software
> www.elevatesoft.com
Wed, Jan 12 2011 9:47 AMPermanent Link

John Taylor

Tim,

The target database directory is on a machine running Windows XP

John

"Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote in message
news:FBE9CF0B-B257-4512-9803-9C71CCF18532@news.elevatesoft.com...
> John,
>
> << The exception DBISAM Engine Error # 10223 Cannot write lock the lock
> file for the database '\\Bobbie\SFSERVER3'.
> is thrown on Q.Prepare. >>
>
> Is the target database directory running a Windows OS ?   These types of
> errors are usually caused by OS locking incompatibilities like using
> Linux/Samba.
>
> Also, is this occurring with the DBISAM Database Server, or with a direct
> connection to the database directory ?  It could also be an issue with the
> large file support setting in the engine.
>
> --
> Tim Young
> Elevate Software
> www.elevatesoft.com
Wed, Jan 12 2011 3:06 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

John,

<< Not running the database server at all , I have large file support
enabled in the database engine. >>

What's the client OS - also Windows XP ?  Also, does this error happen
consistently, or sporadically ?

--
Tim Young
Elevate Software
www.elevatesoft.com
Thu, Jan 13 2011 9:31 AMPermanent Link

John Taylor

Yes, both on XP.  It is sporadic, of course Frown

John

"Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote in message
news:6A63D32E-518E-4651-B1E9-982DB817BD9E@news.elevatesoft.com...
> John,
>
> << Not running the database server at all , I have large file support
> enabled in the database engine. >>
>
> What's the client OS - also Windows XP ?  Also, does this error happen
> consistently, or sporadically ?
>
> --
> Tim Young
> Elevate Software
> www.elevatesoft.com
Wed, Jan 19 2011 6:35 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

John,

<< Yes, both on XP.  It is sporadic, of course Frown>>

I would have them check their network configuration/components.  This is a
very unusual error, and indicates a failure at the OS level or lower.  If
you want to send them a version of the application with more error checking
built in, I can give you some additional code that can try to grab the
actual OS error that may be causing the locking error.

--
Tim Young
Elevate Software
www.elevatesoft.com
Image