如何将sqlite未加密的数据库附加到加密的数据库

时间:2015-08-08 19:28:54

标签: c# sqlite devexpress

请需要帮助...我想将未加密的sqlite数据库附加到另一个加密的数据库,我正在使用DevExpress XpoDefault.Session来做到这一点..但我总是收到错误消息"文件是否是加密器数据库"。

string conStr = string.Format( "XpoProvider=SQLite;Data Source={0};Password=1234", MyEncryptedDbFile );

MyDatalayer = XpoDefault.GetDataLayer(conStr, AutoCreateOption.DatabaseAndSchema);

string s = Path.Combine(Application.StartupPath, MyUnEncryptedDbFile);
XpoDefault.Session = new UnitOfWork(MyDataLayer);
string st = string.Format("attach database '{0}' as AttachedAlias", s);
XpoDefault.Session.ExecuteNonQuery(st); /// Error File is encrypted or not database.....*

致以诚挚的问候,并原谅我的英语

1 个答案:

答案 0 :(得分:1)

我找到了一种方法来做到这一点,但这是最好的吗???

首先打开加密的One;

XpoDefault.Session = new UnitOfWork(MyDataLayer);

秒将密码更改为Empty并附加未加密的数据库:

SQLiteConnection connection = XpoDefault.Session.Connection as SQLiteConnection;
connection.ChangePassword(string.Empty);
string st = string.Format("attach database '{0}' as AttachedAlias", s);
XpoDefault.Session.ExecuteNonQuery(st);

最后恢复加密数据库的密码

connnection.ChangePassword("1234");

它起作用......但它是最好的方式吗?...