Error When Launching RDM

avatar

I was working in RDM yesterday without a problem, but today, I am getting the message: “file is encrypted or is not a database” when I launch. None of my connections are showing in the left bar.
I’m on version 9.1.0.0 (not current) on a Windows 7 64-bit OS. The last thing I was doing yesterday was trying to connect to a client that has an old Cisco VPN (5.0.07.0240), and I couldn’t get the VPN to work. I ran the Repair on the Cisco install via Control Panel | Programs.
I have a lot of clients setup, and am severely crippled without RDM, and am concerned that I did not make an effort to ensure this data file was getting backed up. I'm hoping I can recover this data.
From the Application Log:
[3/12/2014 9:03:01 PM]INFO Windows shutdown occurring, closing application.
[4/21/2014 2:21:02 PM]INFO Windows shutdown occurring, closing application.
[5/1/2014 9:37:53 AM - 9.1.0.0]ERROR System.Data.SQLite.SQLiteException: file is encrypted or is not a database
file is encrypted or is not a database
at System.Data.SQLite.SQLite3.Prepare(SQLiteConnection cnn, String strSql, SQLiteStatement previous, UInt32 timeoutMS, String& strRemain)
at System.Data.SQLite.SQLiteCommand.BuildNextCommand()
at System.Data.SQLite.SQLiteCommand.GetStatement(Int32 index)
at System.Data.SQLite.SQLiteDataReader.NextResult()
at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.SQLite.SQLiteCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.ReadConnections(IDbCommand dbCommand, List`1& result, Byte[]& cacheVersion, Int32& deleteCount)
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.GetConnections()
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnectionsFromDataSource(BaseConnectionDataSource connectionDataSource)

[5/1/2014 9:38:29 AM - 9.1.0.0]ERROR System.Data.SQLite.SQLiteException: file is encrypted or is not a database
file is encrypted or is not a database
at System.Data.SQLite.SQLite3.Prepare(SQLiteConnection cnn, String strSql, SQLiteStatement previous, UInt32 timeoutMS, String& strRemain)
at System.Data.SQLite.SQLiteCommand.BuildNextCommand()
at System.Data.SQLite.SQLiteCommand.GetStatement(Int32 index)
at System.Data.SQLite.SQLiteDataReader.NextResult()
at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.SQLite.SQLiteCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.ReadConnections(IDbCommand dbCommand, List`1& result, Byte[]& cacheVersion, Int32& deleteCount)
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.GetConnections()
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnectionsFromDataSource(BaseConnectionDataSource connectionDataSource)

[5/1/2014 9:39:51 AM - 9.1.0.0]ERROR System.Data.SQLite.SQLiteException: file is encrypted or is not a database
file is encrypted or is not a database
at System.Data.SQLite.SQLite3.Prepare(SQLiteConnection cnn, String strSql, SQLiteStatement previous, UInt32 timeoutMS, String& strRemain)
at System.Data.SQLite.SQLiteCommand.BuildNextCommand()
at System.Data.SQLite.SQLiteCommand.GetStatement(Int32 index)
at System.Data.SQLite.SQLiteDataReader.NextResult()
at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.SQLite.SQLiteCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.ReadConnections(IDbCommand dbCommand, List`1& result, Byte[]& cacheVersion, Int32& deleteCount)
at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.GetConnections()
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnectionsFromDataSource(BaseConnectionDataSource connectionDataSource)
edited by SchneeBaer on 5/1/2014
edited by SchneeBaer on 5/1/2014

All Comments (14)

avatar

You will need to try to recover, you can try the following steps outlined here:
http://community.spiceworks.com/how_to/show/1468-how-to-fix-corrupt-sqlite-database

Regards,

Stéfane Lavergne

avatar

Could this be possible that you have recreated the data source configuration in RDM?

David Hervieux

avatar

Went thru the steps with the sqlite, but when I ran the integrity check, I got the same error: file is encrypted or is not a database

I'm not clear on what you mean by 'recreated the data source configuration' (which probably means that I didn't).

If I delete the connections.db, will that create a new one for me to start over? That will be immensely painful, but will at least get me progressing down a forward moving path.

avatar

Do you know if you had set a password when you've created the database? Perhaps you could try to change the data source configuration for Prompt for password and give it a try.

David Hervieux

avatar

Would a Windows system restore bring this file back?

avatar

You can also just create a new data source entry in File->Data Source with a new name

David Hervieux

avatar

I don't think so.

David Hervieux

avatar

Regarding the password, I don't remember if I put a password on the data source. If I did, I know what it would be. However, when I go to File | Data Sources, the 'secure with password' checkbox is not marked.

If I edit the connection, mark the checkbox, enter a password and mark to always ask, and click the OKs, I am prompted for a password and then told the password is invalid.

avatar

I also tried to export the data source and then import it. No impact.

When I choose to create a new data source, the SQLite is only available for the standard edition. I purchased the Enterprise. What is the recommended format? This is a machine on a network, but I'm the only one using RDM. Whatever the type, I will be backing it up via Carbonite to the cloud.

avatar

Do I need to have Microsoft SQL Server loaded locally to use a SQL data source? That would be my preference. We use SQL in-house for several apps, but I do not have the engine loaded locally.
edited by SchneeBaer on 5/1/2014

avatar

You can use the SQLite data source with the Enterprise. You will get more feature like the attachment and all the enterprise feature. It's also simpler to backup than a SQL Server.
edited by dhervieux on 5/1/2014

David Hervieux

avatar

Okay thanks.

I'm throwing in the towel and starting over.

Lesson learned the hard way on the backup. :(

avatar

You could try one last thing, you could try to use your serial key as the password. I saw some people using it by mistake.

David Hervieux

avatar

Just wanted to share a quick update. I was hit by the CryptoWall malware. Apparently it saw the .DB file as a good target.

Slowly recovering...