删除数据库文件和 sqllocaldb 后,底层提供程序在打开时失败
Posted
技术标签:
【中文标题】删除数据库文件和 sqllocaldb 后,底层提供程序在打开时失败【英文标题】:The underlying provider failed on Open after deleting database files and sqllocaldb 【发布时间】:2019-05-21 12:33:29 【问题描述】:我正在调查我对the issue here的体验
当我的 Winforms XAF、Entity Framework Code First + Desktop Bridge 应用程序通过 Windows 应用商店安装时,它会在用户目录中创建一个数据库。
如果我删除这些文件,那么当我尝试重新运行应用程序时会出现错误。
The underlying provider failed on Open
这是因为我没有正确删除数据库。
正如链接问题中所解释的那样。
我尝试了修复
sqllocaldb.exe stop MSSQLLocalDB
sqllocaldb.exe delete MSSQLLocalDB
但它并没有解决问题。 此外,我找不到要连接的 SQL Server 实例(通过 Management Studio 2017)以删除数据库。
我在 c:\Program Files\Microsoft SQL Server 下有以下文件夹
[更新]
我试着跑了
sqllocaldb.exe info mssqllocaldb
提供版本 13.1.4001.0
获取实例管道名称以用于通过 SQL Server 对象资源管理器进行连接 然后我能够创建一个同名的新数据库,然后将其删除。 然而这并没有解决我的问题。
[更新]
连接字符串是
"Integrated Security=SSPI;MultipleActiveResultSets=True;Data Source=(localdb)\mssqllocaldb;Initial Catalog=mydatabase"
我已经问过a related question here
我现在认为 UWP 不支持 localdb
【问题讨论】:
应用程序的连接字符串是什么样的?这将有助于了解去哪里以及如何访问商店。 另外check here 取决于您拥有的本地数据库版本,您可能能够弄清楚。 谢谢@JohnBabb 我更新了问题。 克尔斯滕,你找到答案了吗?当 LocalDB 实例变得时髦时,我使用了一种焦土方法,包括删除实例目录以及指向它们的注册表项。如果您仍然需要帮助解决此问题,我可以为您提供详细信息。 感谢@RichardII 阅读***.com/questions/42028186/…后我切换到SQLite 【参考方案1】:使用 Management Studio 2017,如果您以管理员身份运行它,您应该能够使用受信任的连接连接到 (localdb)\MSSQLLocalDB。这应该会打开服务,让您了解附加的数据库。从那里您应该能够删除/创建...执行配置和设置数据库上下文所需的操作。
【讨论】:
我可以连接到 (localdb)\MSSQLLocalDB 但是通过 UWP 程序创建的数据库没有列出。 通过在服务器级别刷新资源管理器窗口进行双重检查。 谢谢,没用。以上是关于删除数据库文件和 sqllocaldb 后,底层提供程序在打开时失败的主要内容,如果未能解决你的问题,请参考以下文章
Cannot attach the file ‘{0}' as database '{1}'
具有个人帐户和托管 ASP.NET Core 的 Blazor WebAssembly 应用程序 - IIS - SQLLocalDB 15.0 找不到指定的资源语言 ID