I am using EF 6.0 and SQL Server CE 4.0. The .sdf
file is password protected, which I verified by opening the file with LinqPad. When I try to open this database in code with the following connection string, I get an exception:
The specified password does not match the database password
Code:
using (var context = new MyDbContext("ExamManagement"))
{
context.Database.Initialize(false);
}
Connection string:
<connectionStrings>
<add name="ExamManagement"
connectionString="Data Source=|DataDirectory|Pikeman.sdf;Max Database Size=4091;Password=123;"
providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>
Stack trace:
at System.Data.Entity.Core.EntityClient.EntityConnection.Open()
at System.Data.Entity.Core.Objects.ObjectContext.EnsureConnection(Boolean shouldMonitorTransactions)
at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)
1.<>c__DisplayClass7.b__5()
at System.Data.Entity.Core.Objects.ObjectQuery
at System.Data.Entity.Core.Objects.ObjectQuery1.GetResults(Nullable
1 forMergeOption)
at System.Data.Entity.Core.Objects.ObjectQuery1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__0()
1.MoveNext()
at System.Data.Entity.Internal.LazyEnumerator
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
The connection string is OK (usually I don't specify Max Database Size, you can try to delete the parameter but I'm quite sure this is not the problem).
So, in your case, I think you are probably opening a database with a different password (as the exception suggests) or you are opening a wrong database.
Try to specify an absolute path and open the database from that path, for example
<connectionStrings>
<add name="ExamManagement"
connectionString="Data Source=C:\temp\Pikeman.sdf;Password=123;"
providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With