【发布时间】:2017-09-10 04:09:27
【问题描述】:
我知道这个问题已经被问过很多次了,但我仍然找不到与我的场景类似的问题。
我正在开发一个 ASP.NET Core WebAPI 项目。 这一切都很好,如果我真的搞砸了,我真的无法重现。
应该使用从 appsettings.Development.json 文件中检索到的连接字符串进行调试:
"DefaultConnection":
"Data Source=(localdb)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|MyProj.mdf"
调用context.Database.CreateIfNotExists();时,出现以下错误:
System.Data.SqlClient.SqlException 发生(HResult 0x80131904):
尝试为文件 C:\Users\Shimmy\Documents\Visual Studio 2017\Projects\MyProj\MyProj.Api\AppData\MyProj.mdf 附加自动命名数据库失败。存在同名数据库,或无法打开指定文件,或位于 UNC 共享上。
来源:.Net SqlClient 数据提供程序
StackTrace: 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常, Boolean breakConnection, Action`1 wrapCloseInAction)
我将 WebAPI 作为 Kestrel 控制台应用程序运行。
这是我尝试过的:
- 将
Integrated Security=True或MultipleActiveResultSets=True添加到连接字符串中 - 添加了连接字符串的完整路径
- 删除并重新创建 MSSQLLocalDB 实例
- 重新安装 SQL LocalDB
将AttachDbFilename 标志替换为Initial Catalog=MyProj,引发此错误:
System.Data.SqlClient.SqlException 发生
HResult:0x80131904
消息:无法打开登录请求的数据库“MyProj”。登录失败。 用户“SHIMMY-PC\Shimmy”登录失败。
来源:.Net SqlClient 数据提供程序
StackTrace: 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常, Boolean breakConnection, Action`1 wrapCloseInAction)
但 SHIMMY-PC\Shimmy 确实出现在实例的用户中:
【问题讨论】:
标签: asp.net sql-server localdb sql-server-2016-express sql-server-2016-localdb