Btrieve Error 046 on S/M Activity Log File
But this only happens to company 1. When I access another company, I do not receive this message. This happens in both Elliott V7.5 and 8.0. What causes this?
A - We are aware of the following scenarios that can cause this to happen:
(1) The SYACTLOG.BTR (S/M Activity Log File) Is Flagged as Read-Only.
If the file is flagged as read-only, then you may receive this error. To check whether or not that is the case, you may use Windows Explorer and browse to this file, then right click to check the properties. If the read-only flag is turned on, then you will receive this message.
To resolve the issue, simply uncheck the read-only flag. You can also use the command prompt:
ATTRIB -R M:\Elliott7\DATA\SYACTLOG.BTR
(2) Other Users Have an Error with this File
We have seen scenarios where other users have an access error on this table. The error may be caused by various reasons and may not mean this file is corrupted or the attribute is flagged incorrectly. The error can cause the PSQL server engine to believe that this file is in the "read-only" mode even though the "read-only" mode is not checked. As a result, you get this message.
If that is the case, the best way to resolve this problem is to use the PSQL Monitor utility and find out which users currently have this file open, then ask these users to exit so this file is closed. Once that is done, you can start up Elliott and try again.
(3) The Btrieve File Is an Older Version
Starting with PSQL 11, the program no longer updates Btrieve 6.0 and older file formats, even though the new PSQL engine is still able to read the Btrieve 6.0 and older files. When Elliott opens those files in I-O (input/output) mode, you may receive this error message.
You can verify that this is the case by using the "BUTIL - STAT" from command. For example, if the error occurs with the CPFRMFIL.BTR file, then from M:\Elliott7\DATA folder, issue the following command:
M:\Elliott7\DATA> BUTIL -STAT CPFRMFIL.BTR
You will see the Btrieve file version. If this problem is indeed due to an older Btrieve file, you can resolve this issue by using the Pervasive Rebuild utility. We recommend that you rebuild to the latest Btrieve version 9.5 format.