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
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
Could this be possible that you have recreated the data source configuration in RDM?
David Hervieux
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.
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
Would a Windows system restore bring this file back?
You can also just create a new data source entry in File->Data Source with a new name
David Hervieux
I don't think so.
David Hervieux
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.
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.
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
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
Okay thanks.
I'm throwing in the towel and starting over.
Lesson learned the hard way on the backup. :(
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
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...