error 116 occurred while working with file...

Last post 02-01-2007 2:36 PM by lharvey. 2 replies.
Page 1 of 1 (3 items)
Sort Posts: Previous Next
  • 02-01-2007 3:46 AM

    error 116 occurred while working with file...

    we are getting a sharing violation and the error: error 116 occurred while working with file semaphor.lck. we have one psql2000i server/sp4 with a 10 user license. each workstation was connecting fine to the software until last night. there were about 30 microsoft hotfixes ran last night. the server has been rebooted, there are no locked files in the pervasive monitor and there is only one network and no multihomed servers. the software and pervasive were reinstalled and still the same error. the hotfixes were then uninstalled and rebooted and we still had the same error. a file monitor showed that there was a sharing violation on the lck file.
  • 02-01-2007 5:30 AM In reply to

    Re: error 116 occurred while working with file...

    You probably broke the PSQL 2000 service with the updates...

    Also, .lck seems like a very strange extension for a Pervasive table. If you're seeing files with that extension it's an indication that at least one user is using an old Btrieve workstation engine (version 6.15 or older). This in itself should not lead to statuscode 116 however, since this statuscode can only come from a Pervasive.SQL Workstation or Workgroup Engine.

    Check for availability of the Btrieve interface port at your server. Netstat at the console will show you if the TCP port 3351 is enabled and listening at the right address. Even though this might sound silly, you might be able to repair abnormalities here by setting multihomed on in PCC. And clean up your workstations - they're a mess
  • 02-01-2007 2:36 PM In reply to

    Re: error 116 occurred while working with file...

    As Gordon says Pervasive has not used an actual lock file since the 6.x workstation days.
    The 2000i server product handles all locking internally in the engine. This eliminates the problems of using the various locking mechanisms at the OS level and the performance penalty of asking the OS for the lock information.

    If you were using the Workgroup product you might get a Btrieve status 116 which is another workgroup engine has "control" of the data file. Again that is a funny name for a data file, and the current Pervasive engine does not lock data files, only opens exlusive. The workgroup product does lock one file, but it is called ~pvsw~.loc.

    As you are seeing "lock violations" in a "file monitor" I suspect the 116 is a runtime error in the application. Since you mention a file monitor, which application does the file monitor show accessing the file. The Pervasive.SQL server for Windows process is "ntdbsmgr.exe". If it is not that process acessing the file then it is not Pervasive.

    Checking the server for Pervasive listening on port 3351 is reasonable as is checking the pvsw.log file on the server for errors.
Page 1 of 1 (3 items)