Eliminating the dreaded "Database connection error"

Hint: it had nothing to do with the database

I started up the RPM Remote Print Manager® (RPM) user interface one morning, and instead of the usual list of queues and jobs, I saw this instead:

Database connection error

Fortunately, I didn’t panic right away but reached out to our technical support team. Here is a short list of steps which I’ll explain briefly.

it is generally, the UI which creates the config.xml file, but the problem is caused by a problem in this file
normally I tell callers to stop the service, stop the UI, rename config.xml, run the UI, start the service

It turns out that the file "config.xml" is one we use both in the service and the UI. This file contains the settings necessary for the UI to connect to the database and which port on which the service is listening for service communication.

Unfortunately, it seems that this file gets partially overwritten with incorrect settings once in a while. I started this blog post earlier, to describe the problem and explain what our technician says above.

The Breakdown

If the file does not exist, and you run the UI, then the UI will create it. The service also creates it during startup if it doesn't exist. That's a bit of why we were running into the problem, too many cooks updating the file, occasionally at the same time.

However, the UI reads this file to know where the database file exists so it can update the Firebird aliases.conf file which is used by both the UI and service when connecting to the database.

In newer versions of RPM, the database location and filename are configurable, so if this problem were to occur, deleting the file and recreating will point RPM to the default location potentially losing configuration.  If you move the database location and filename, you will need to know where it is and the config.xml file will need to be manually modified to point to the custom location.

Conclusion

After taking more care in RPM to not update this file unless necessary, the problem has been resolved. Hopefully, that will relieve a moment of panic for everyone who would otherwise run into this difficulty.

If you are running a version of RPM starting at 6.1.0.448 dated 2017-03-08, or more recent, you will have this change available to you. Please contact your salesperson or our technical support staff for more information.