我已经为WPF项目做了一个非常简单的数据库设置。Dataset1.xsd的基础是localDB Database1.mdf,它是通过将我需要的表从数据库的服务器资源管理器拖放到数据集设计器中而创建的。除了使用适配器的Update()和Fill()函数外,我主要使用Dataset变量和Database adapter处理数据,而不是以编程方式直接打开和关闭实际的数据库连接。
它通常在执行过程中工作良好,并且在程序的第一次运行时是100%可靠的。在程序执行过程中,它没有任何问题。在关闭程序期间,它没有明显的问题,适配器的.Connection.State.ToString()在关闭之前和执行期间报告“已关闭”。
但是,如果我在快速重新运行软件2-3次后没有等待至少10到20秒,程序的重新打开可能会挂起,几秒钟后,在第一次Fill()期间调试报告为"Login Failed“。为什么会这样呢?是否存在我无法控制的服务器限制,或者我必须手动关闭连接?
发布于 2017-01-31 13:05:58
对我自己的问题的半个回答:在退出时使用系统命令停止LocalDB服务器进程(安全地,在等待事务之后)似乎在一定程度上缓解了这个问题。
例如,查找LocalDB实例
> sqllocaldb i
MSSQLLocalDB
ProjectsV12安全地停止相关的一个(在查询完成后)
> sqllocaldb stop MSSQLLocalDB
LocalDB instance "MSSQLLocalDB" stopped.在代码中对Process类执行相同的操作
https://stackoverflow.com/questions/41949384
复制相似问题