A multi-user Advanced Accounting customer today reported that they could no longer "get into the software" following a power outage.
The user has a Pervasive client-server version on a system that we have long supported.
From a client PC, the user reported receiving a Pervasive 3106 status code. When we logged into a server (but not the “main” server” where the Pervasive engine is located) and running terminal services via remote desktop, we received a status code 3012 when trying to launch the accounting software, when it tried to open the first “Btrieve” data file which in this case was at the logon screen. (The software will initially launch without a Btrieve/Pervasive engine present since other files are first opened that do not require it.)
From the Pervasive documentation, causes of the 3106 and 3012 status codes are:
3106: The Pervasive Network Services Layer encountered a connection failure.
The Pervasive Network Services Layer was able to establish a transport connection at the client side, but the connection attempt at the target side failed.
One of the listed possible causes of a 3106 status code is:
The MicroKernel is not running on the server.
3012: Local engine is not accessible to the MicroKernel router.
Access to the local engine is not possible because it is not loaded or could not be launched. You can receive this status code if you try to access a local file on a client and you do not have a Workgroup engine installed or if you try to access a local file on a server and the Server engine is not running.
When the server re-booted following the power outage, the Pervasive service had failed to automatically start and was indeed not running. Normally, Pervasive services are set to automatically load on start up. The client Pervasive services were running (either the client PC's didn't lose power or they started up normally on re-boot) but the main server engine was not, and so the initial cause of the 3106 and 3012 was not as obvious as in a situation where no services or engine was available at all.
Restarting the Pervasive service on the server resolved the issue.