#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Feb 2004
    Posts
    5
    Rep Power
    0

    Question 2.5 Embedded file locking


    In the 2.5 release notes its says, "The database file-lock that previously restricted connections to a single application space is replaced by a global lock table that allows simultaneous access to the same database from different embedded server modules." Which seams to be true most of the time for me. I am running this in windows and all processes accessing the database are using the same connection strings and fbembed.dll. There could be up to 4 different processes accessing the same database with the embedded module. For some reason on some machines one or more of the processes throws a file locked error, "Error+while+trying+to+open+file+--->+I/O+error+during+"CreateFile+(open)""

    FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect()
    at FirebirdSql.Data.FirebirdClient.FbConnectionPool.Create()
    at FirebirdSql.Data.FirebirdClient.FbConnectionPool.CheckOut()
    at FirebirdSql.Data.FirebirdClient.FbConnection.Open()


    Am I reading this wrong? Under what circumstances would the embedded server lock the file? I am using version 2.5.2.26539.

    It could be OS related because I have yet to be able to reproduce this on windows 7 but windows 2012 r2 and 2012 I have seen it happen with.
  2. #2
  3. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Oct 2010
    Posts
    43
    Rep Power
    5
    Possibly you are mixing 32-bit and 64-bit client applications backed by Firebird Embedded. While it is true that you now can access one database by several Embedded processes, they all have to have the same bitness.

IMN logo majestic logo threadwatch logo seochat tools logo