后台收到这么一段异常信息,从下文中看是SQL Server Compact database出错了,但怎么出错的,为什么会出错,如何避免? 没有一点办法,如果您fix过这种问题,恳请指点迷津,谢谢!
SQLCE_DbConnectionFailed;Unable to connect to shared memory region of the SQL Server Compact database. This is because of another process, owning the shared memory region lock, has exited abnormally in the lock acquired state. This is an intermittent problem. Closing and restarting the database connection should fix the problem. [ Thread id = 3340,Process id = 2544,Db name = C:\Data\Users\DefApps\AppData\{C8E66617-1EAC-4AED-A6E3-09F307353AC1}\Local\SQLCE.sdf,Lock type = SPLK ]
at System.Data.SqlServerCe.SqlCeCommand.ProcessResults(Int32 hr)
at System.Data.SqlServerCe.SqlCeCommand.CompileQueryPlan()
at System.Data.SqlServerCe.SqlCeCommand.ExecuteCommand(CommandBehavior behavior, String method, ResultSetOptions options)
at System.Data.SqlServerCe.SqlCeCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult, Boolean isCompiledQuery)
at System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries, Boolean isCompiledQuery)
at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)
at System.Data.Linq.DataQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source)
at xxx.Mobile.WindowsPhone.StorageHelper.Cleanup(SByte days)
at xxx.Mobile.WindowsPhone.App.Application_Closing(Object sender, ClosingEventArgs e)
at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
at Microsoft.Phone.Shell.PhoneApplicationService.FireClosing()
at Microsoft.Phone.TaskModel.Interop.ITask.Closing.Invoke()
at Microsoft.Phone.TaskModel.Interop.Task.FireOnClosing()