Please ommit line #18 from the sequence of statements and then reply. Thanks Ritesh
On Tue, 2006-01-31 at 16:42, Ritesh Kapoor wrote: > Regarding the configuration of NFS - > I have two machines with NFS on them. > - if i run the app on machine 1 it works properly > - now when i run the app on machine 2 it works properly > > But if I login to machine 2 from machine 1 and then run the app I get > the 'database is locked' error message. > > The sequence of statements are - > > 1 if((fp = fopen(fullFileName.c_str(),"w+"))) > 2 { > 3 fclose(fp); > 4 } > 5 else > 6 { > 7 printf("Error creating file"); > 8 return; > 9 } > 10 int res = sqlite3_open(fullFileName.c_str(), &_db); > 11 if( res != SQLITE_OK ) > 12 { > 13 printf("Error opending DB"); > 14 sqlite3_close(_db); > 15 return; > 16 } > 17 > 18 sqlite3_trace(getDB(),logSqlQuery,&sqlLogList); > 19 string query = "create table XYZ"; > 20 res = sqlite3_exec(_db, query.c_str(), NULL , 0, &errmsg); > 21 > 22 if(res == 5) > 23 .... > > > After line #20 the value of 'res' is 5. > > I've even tried to run the app after removing line #18 which contains > the sqlite3_trace() fn call. But that dosen't seem to be the cause. > > I've gone through the mail archive of this list and saw that this > problem did appear for others as well but there the solution was to > check if a previously executing sql statement was still not finished > with its job and a another sql statement was being executed. > > Over here the first sql statement's execution returns this error. > > Another assumption that I made was that the host machine locks the file > after I open a sqlite connection (line #10). So I should wait for it to > release this lock. I ran the app using GDB and after line #10 I paused > the app for some time hoping that the lock would go away but the problem > persists even after pausing for 10, 20 and 30 minutes in seperate runs. > > > If NFS is the problem then what configurations do I need to look at and > change to make my app work properly? > > What if the problem is with the host machine locking the file or some > other process running on my machine or the host machine which locks the > file? Is this possible? > > If yes then is there a way to find out which process is doing this > through the entries in /proc directory? > > > Thanks, > Ritesh > > > > On Mon, 2006-01-30 at 19:31, [EMAIL PROTECTED] wrote: > > Ritesh Kapoor <[EMAIL PROTECTED]> wrote: > > > Yes. > > > My machine has NFS and the machines I log onto also have NFS. But if > > > this is the problem then why dosen't it appear on my machine when I run > > > the app. > > > > Perhaps you are using a local filesystem when you run on > > your machine. Or perhaps NFS is configured properly on > > your machine but not on the other machines. > > > > > > > Is there a workaround for this? without having to change the file system > > > from NFS. > > > > > > > Yes. Configure your NFS so that file locking works correctly. > > > > -- > > D. Richard Hipp <[EMAIL PROTECTED]> > >