Вот что пишет Pervasive
12: The MicroKernel cannot find the specified file
Check that the file exists and that you specified the correct file.
Check the key buffer parameter to make sure the pathname is terminated with a blank or a binary zero.
When accessing a file on a server, ensure that you have FILE SCAN rights to the directory in which the file resides. Occasionally, a corrupt key can cause this status code. Drop the key, then add it again.
In Novell NetWare 4.x environments, check for files with the hidden file attribute at the Operating System level and remove the hidden file attribute.
This does not occur with NetWare 5.
An ODBC connection may receive this code on NetWare 4.x with the Pervasive.SQL Workgroup Engine. This status code did not appear until Pervasive.SQL 2000 Service Pack 2a. It is caused by Netware 4.x reporting long directory in a different format than NetWare 3.x, NetWare 5.x, or the Win32 Environment.
Novell has a fix for this problem in a file named Mixmod6.exe. Search for file at Novell's web site (
http://www.novell.com).
This error code may also be returned when the file DBNames.CFG has been removed (for example, by the Pervasive.SQL cleanup utility) and old Data Source Names (DSNs) which reference that file are not removed from the ODBC configuration. 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.
You may have a Status 12 returned and see X$FILE.DDF for the file name in your DDFs.
If the file.ddf is examined with a Btrieve utility, the location name for the dictionary files will be x$file.ddf, x$field.ddf, x$index.ddf, instead of the standard file.ddf, field.ddf, index.ddf. An unsupported DDF Creation utility called DDL Services (DDLSVCS.DLL) created the DDFs. DDL Services has a known bug that causes the system table to be populated with incorrect data. To resolve this error, recreate the DDFs using a newer tool (SQL Data Manager/Pervasive Control Center).
You may get Status 12 when a file with a filename or path with embedded spaces is opened on Windows 9x, Windows NT or Windows 2000. For long NetWare file names, support is available only in the MicroKernel and not in NLM utilities such as BUTIL.NLM. Btrieve data files can be accessed using long names but long names cannot be used for other files. For example, in the NLM command:
BUTIL -CREATE <outputFile> <descriptionFile>
Since MKDE manipulates the <outputFile> Btrieve data file, it can have a long name. However, the <descriptionFile> can only have a short name (such as BUTIL.NLM) since it does not accept long names. The solution is to enable the client configuration option, Application characteristics4Embedded Spaces.
To Enable Embedded Spaces in Pervasive.SQL 2000i or later:
Click Start4Programs4Pervasive.SQL V84Control Center.
Expand Pervasive.SQL V8 Engines and expand the desired database.
Expand Configuration, then expand Client, and click on Application Characteristics.
In the right hand frame, double-click on Embedded Spaces.
Select On.
Exit the configuration utility and restart the engines for the new settings to take effect.