Hello, Yesterday, we recognized that we had two concurrent SQL Server 
threads reading and writing to the same sqlite database. Furthermore,the reader 
thread was not releasing it's lock. So, now we release the lock by commiting 
the transaction. As a result, we no longer get the SQLite database is locked 
message. Thank you

 

 

    Retval = Keys->Execute("BEGIN EXCLUSIVE");

    sprintf(Command,"SELECT [Key], [RowId], [DupeGroup] "

       "FROM [Keys] WHERE [Cluster]=\"%*.*s\"",BlockSize,BlockSize,_Key);

    Keys->Prepare(Command);

    while (Keys->Step()==SQLITE_ROW) {

       Keys->ColumnText(0,TestKey);

       if ((rc=CompareKeys(TestKey,_Key,0))!=0) {

           ErrorMask|=rc;

           if (DupeCount>=DedupeBlockSize)

              IncreaseDedupeBlocks();

           RowIds[DupeCount]=Keys->ColumnInt(1);

           DupeGroups[DupeCount]=Keys->ColumnInt(2);

       }

   }

   Retval = Keys->Execute("COMMIT");
                                          
_________________________________________________________________
Bing brings you maps, menus, and reviews organized in one place.
http://www.bing.com/search?q=restaurants&form=MFESRP&publ=WLHMTAG&crea=TEXT_MFESRP_Local_MapsMenu_Resturants_1x1
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to