如何解决更改现有 SQL Server CE 数据库密码的异常
使用 SQL Server CE 4.0.8876.1(NuGet 包)。我正在尝试按照本文更改现有 SQL Server CE 数据库的密码:https://docs.microsoft.com/en-us/previous-versions/sql/compact/sql-ce-3.0/reference/kt1a3805(v=vs.85)?redirectedfrom=MSDN
如果现有数据库已经加密,也许我无法更改密码?
var oldConnStr = "DataSource=\"C:\\temp\\FilePath.sdf\";Persist Security Info=False;
password=oldPass; Encrypt Database=True; flush interval=1";
var updatePasswordConnStr = "DataSource=; password=newPass; Encrypt Database=True;";
using (var sqlCeEngine = new SqlCeEngine(oldConnStr))
{
sqlCeEngine.Compact(null);
sqlCeEngine.Compact(updatePasswordConnStr);
}
当我调用 sqlCeEngine.Compact
(两个调用)时,我不断收到以下异常:
System.Data.SqlServerCe.SqlCeException
HResult=0x80004005
Message=为源数据库指定的密码不正确。 [ 数据源 = FilePath.sdf ]
源=SQL Server Compact ADO.NET 数据提供程序
堆栈跟踪:
在 System.Data.SqlServerCe.SqlCeEngine.Repair(SEFIXOPTION option,String dstConnStr,RepairOption repairOption)
解决方法
嗯,现在可以了。
var updatePasswordConnStr = "DataSource=; password=newPass;";
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。