Btrieve Error 46 on S/M Activity Log File

Btrieve Error 46 on S/M Activity Log File

Last Update: 06/20/2024

Q - I receive the following error message when I start up Elliott and launch a session:

     
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.

(4) Error Caused by Backup Software
Another common cause of Error 046 is the file being in the middle of being copied by the backup software. If you open a command prompt and use the "copy" command, it can also cause this conflict, especially if the file size is large. A larger file size means a longer copy time, increasing the chance of conflict. Anti-virus software can also cause this problem. Typically, you should configure your anti-virus software not to scan the Elliott data folder.

EMK


    • Related Articles

    • Elliott Startup Btrieve Error 196 or 3012 on S/M Users File

      Release Date: 11/16/2022 Version: 8.5 & Up Q - I try to access Elliott software and I get this error on my startup: EL860CC: Btrieve Error 196 on S/M Users File (32-Bit) If I click on the "Details," I see the status code 3012 when I try to access ...
    • Btrieve Error Codes 001 - 199

      MicroKernel (Btrieve) Database Engine Status Codes This section describes status codes that the MicroKernel returns. All status codes are provided in 3-digit formats since the search on this website cannot search 1 or 2-digit words correctly. That is ...
    • Btrieve Error Codes 3000 - 3099

      MicroKernel Router Status Codes This section lists the status codes you can receive from the MicroKernel router, which receives requests from the Btrieve requesters and routes them to the correct version of the MicroKernel. 3000: The MicroKernel ...
    • A Case of Btrieve Error 046 on ARCRCLOG A/R Credit Card Log File

      Release Date: 04/12/2019 Version: All Q - We are getting the following error in Elliott when we process a credit card transaction. It seems the credit card transaction did go through because we can see it in the payment portal. But we consistently ...
    • Btrieve Error Codes 3100 - 3199

      Network Services Layer Status Codes The following status codes originate from the Pervasive Network Services Layer (PNSL). 3103: Server name not found by Pervasive Network Services Layer The search for a target server name was unable to resolve an ...