c# - ASP.NET 核心 : An attempt to attach an auto-named database for file failed

标签 c# asp.net sql-server entity-framework localdb

我知道这个问题已经被问过很多次了,但我仍然找不到与我的场景类似的问题。

我正在处理一个 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):

An attempt to attach an auto-named database for file C:\Users\Shimmy\Documents\Visual Studio 2017\Projects\MyProj\MyProj.Api\AppData\MyProj.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
Source: .Net SqlClient Data Provider
StackTrace: at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

我将 WebAPI 作为 Kestrel 控制台应用程序运行。

这是我尝试过的:

  • Integrated Security=TrueMultipleActiveResultSets=True 添加到连接字符串
  • 添加了连接字符串的完整路径
  • 删除并重新创建 MSSQLLocalDB 实例
  • 重新安装 SQL LocalDB

AttachDbFilename 标志替换为 Initial Catalog=MyProj,引发此错误:

System.Data.SqlClient.SqlException occurred
HResult: 0x80131904
Message: Cannot open database "MyProj" requested by the login. The login failed. Login failed for user 'SHIMMY-PC\Shimmy'.
Source: .Net SqlClient Data Provider
StackTrace: at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

但是 SHIMMY-PC\Shimmy 确实出现在实例的用户中:

enter image description here

最佳答案

在 .net 核心环境中,您应该可以通过绕过 auto-naming 部分来修复它。只需添加:

Initial Catalog=MyNotAutoNamedDb;

连接字符串中的某处,它应该可以工作。

[注意:不要替换AttachDbFilename!]

关于c# - ASP.NET 核心 : An attempt to attach an auto-named database for file failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46137205/

相关文章:

c# - 将 int 转换为 dropdownlistfor 的字符串

c# - asp.net 不显示我在 html 中想要的字符串

c# - ASP.NET - GridView 问题

asp.net - 使用 Javascript ASP.Net 1.1 添加和检索添加到 DataGrid 的行

javascript - 'Sys' 是未定义的 javascript 错误

sql-server - 内存优化表+加密和身份列

c# - 如何使用 GTKSharp 打印图像

c# - 如果可能的异常列表太多,如何捕获特定异常?

sql - 关于提高 SQL 查询计数性能的建议?

sql - 更改表以使 MEMORY_OPTIMIZED=ON 错误 SQL Server 2017