Btrieve error 2 (I/O error)

An error occurred during disk read/write. This status code indicates the file has been damaged and must be recreated, or that the file on the open call was not created by Btrieve. Some other possible causes and solutions to try are: - This status code also occurs if the application passed an invalid position block or if a Btrieve file created in version 6.0 format is opened by a 5.x version of Btrieve. - For Netware Btrieve, your data files must be flagged non-shareable, you must have Read, Write and Create rights to the directory. - Some viruses are known to cause this error. - If you are using Btrieve for DOS and you have expanded memory, try loading Btrieve with /E option to keep buffers out of expanded memory. - Check for data files with identical names - different extension is not enough because the pre-image files would be with the same name. - In some rare cases, this status code is returned instead of status 18 (disk full), usually because there is no room for pre-image file. - This error can occur if multiple Btrieve for DOS users access the same file on Netware server with TTS active, because TTS locks changed pages in the file, including Btrieve file header page - this causes error 2 on other workstation. - If you used /O option for loading Btrieve, then Btrieve translates OS critical errors to Btrieve codes. - You are using Btrieve NLM version 5.11 and one user tries to read the data while another performs a transaction on the file. - You have V3.02 or V3.20 of NETX shell or you are using NETX shell on Netware 4.x server (use VLMs for Netware 4). - On DOS networks (Lantastic etc.) with data files on server, make sure that server and only server has SHARE loaded. - On Netware 3.10 apply patches READFIX.NLM and CAHCEFIX.NLM. - With Pre-v6 file format file with size over 768MB, the locking conflict can occur. File will not be damaged, you can retry until the conflict is resolved. - Novell's Turbo Cache may become corrupt and return corrupted pages to Btrieve. The Btrieve files are not actually corrupt - only their representation in cache is corrupt. Novell has the CLSFILFX or PK411FT patches for this problem on Netware 4.11. Netware 4.10 version is TURBOD. In any case, it is called Turbo Fat corruption fix although ir really just disables the Turbo Cache feature. - With Btrieve for Windows NT Server Edition v6.15.445, 32 bit Windows application may return a Status 2 or "MKDE Terminated with Service Specific Error 0" after running an application for some time. This may occur when an application performs a large number of open and close operations and the service has been running a long time. This is caused by memory leaks in both engine and interface code (NTMKDE.EXE,WBTRV32.DLL). Next patch should correct it, a temporary solution is to stop and restart the service periodically.

Back to index

Copyright © Madis Kaal 2000-