我知道这个问题已经被问过很多次了,但我仍然找不到与我的场景类似的问题。
我正在处理一个 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=True
或 MultipleActiveResultSets=True
添加到连接字符串将 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 确实出现在实例的用户中:
最佳答案
在 .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/
我有一堆字符串,其中包含以姓氏,名字格式命名的名称列表,并用逗号分隔,如下所示: names 序列化字符串中的“first name last name”,我们在Stack Overflow上找到一个
在尝试合并多个数据框时,我得到了一些非常奇怪的东西。帮助! 我需要通过“RID”和“VISCODE”列合并一堆数据框。这是它的外观示例: d1 = data.frame(ID = sample(9,
让我们尽可能简单地做第一个例子。 我想知道如何应用这个宏;像这里适用于例如printf("%s",macro(arg)); #include #include #include #define
以下2个bean声明之间有什么区别吗? @Bean(name = "bean1") public A getA() { return new A(); } @Bean @Quali
if(c.get_name(&name) && name && !strcmp(name, contName)) 谁能告诉我这行代码在 C++ 中的含义 最佳答案 如果 c 有一个名字并且它等于 co
我是 Rails 的初学者,在改进我的搜索查询时遇到了一些问题: 在我调用的 Controller 中: def index if params[:search] @persons = Pers