繁体   English   中英

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

[英]How to attach sqlite Unencrypted database to an encrypted one

请需要帮助...我想将一个未加密的sqlite数据库附加到另一个已加密的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.....*

最好的问候,请问我的英语

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

首先打开加密的一个;

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");

它有效...但这是最好的方法吗?...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM