This is the detail from Pervasive who owns Btrieve on this error. Has your directory structure changed? Also you may need to re-install the Pervasive database engine.
Gil
11: The specified filename is invalid
The MicroKernel returns this status code in the following situations:
The specified filename does not conform to file naming conventions or the pathname is invalid. Make sure the filename or pathname is valid for the environment.
If operating in the client/server environment:
The application attempted to open a file that has .^^^ as its extension. This extension is reserved for the MicroKernel to use during continuous operation. (Only server engines can use continuous operation.)
The data buffer for a Begin or End continuous operation is not set up correctly.
You attempted to load a remote file when your client configuration settings for Local MicroKernel Engine and Use Remote MicroKernel Engine are incorrectly set to On and Off, respectively. To resolve this condition, at the client workstation, open Pervasive PSQL Control Center (see Starting PCC in Pervasive PSQL User's Guide). Under the Access properties category for MicroKernel Router, set Use Remote MicroKernel Engine to “On” (click the option). See To access configuration settings in PCC for a local client in Advanced Operations Guide.
You attempted to open a local file with a Workgroup engine that isn’t the designated Gateway engine for the file. Go to the directory where the file you attempted to open resides. Check to see if the ~pvsw~.loc in that directory is flagged read only. If it is, change it to read-write.
If you are using the dynamic locator file with your Workgroup engine:
Make sure the name of the second-level locator file specified in your first-level locator file does not have the same name as an existing directory. Also, make sure they are all on the same drive.
Make sure the second-level locator file specified in your first-level locator file can be accessed by the engine.
Make sure all the Workgroup engines sharing the dynamic locator feature have the exact same drive mapping to the server location where the data files reside.
If you are accessing files on a DOS client:
A NET START FULL for the Windows for Workgroups workstation was not used when it was booted into DOS. Use a NET START FULL to get a full redirector in the DOS client mode. BREQNT.EXE requires a full redirection. At the DOS prompt type "net ver" <Enter>. Here is the list of required components for a DOS workstation to connect to a Windows server:
LSL.COM LAN Card Driver
IPXODI.COM
IFSHLP.SYS
NET START FULL
These can be loaded high, using emm386. NET START FULL will load in upper memory. NETX is required ONLY if you are connecting to a NetWare server.
You attempted to open a file with a long filename on NSS volumes. The MicroKernel queries the volumes using OS calls and then loads the appropriate drivers for the associated name spaces it find for the volumes. In this case, the MicroKernel was being loaded before mounting the volumes so it did not find the requirement for long filename support by the NSS volumes.
Issue the MGRstart or Bstart command after loading the volumes. An example would be:
LOAD NSS
MOUNT ALL
SYS:ETC\INITSYS.NCF
MGRSTART or BSTART
Embedded spaces configuration setting is “on.” “On” is the default starting with Pervasive PSQL v9. Change the setting to “off” if your applications do not allow embedded spaces in file names.
If you are working in the Microsoft Terminal Server environment:
Approximately 5 users can work in a Windows application on 2 different Terminal Servers that are connected to a primary Windows server. If you have attempted to run on top of this limit, you will receive status codes 11 and 35. For the recovery solution for this instance, refer to Microsoft Knowledgebase Article 190162, “Terminal Server and the 2048 Open File Limitation.”