SqlException:无法打开登录请求的数据库“DB_NAME”。登录失败

问题描述 投票:0回答:2

我正在使用Windows 10,我最近重置了我的电脑。之后,我重新安装了Visual Studio。当我打开以前的ASP.NET MVC项目时,我在“SQL Server对象资源管理器”下找不到我的项目数据库。

当我运行我的应用程序时,我得到以下异常:

SqlException:无法打开登录请求的数据库“Vega”。登录失败。用户'DESKTOP-8JL51345 \ jan'登录失败。 System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,uint waitForMultipleObjectsTimeout,bool allowCreate,bool onlyOneCheckConnection,DbConnectionOptions userOptions,out DbConnectionInternal connection)System.Data.ProviderBase.DbConnectionPool.WaitForPendingOpen()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw( System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)Microsoft.EntityFrameworkCore.Storage.RelationalConnection + d__34.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task System.Runtime.CompilerServices.TaskAwaiter.GetResult()Microsoft.EntityFrameworkCore.Query.Internal.AsyncQueryingEnumerable + AsyncEnumerator + d__10.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification( Ť ask task)Microsoft.EntityFrameworkCore.Storage.Internal.SqlServerExecutionStrategy + d _7.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)System.Runtime.CompilerServices.TaskAwaiter。 GetResult()Microsoft.EntityFrameworkCore.Query.Internal.AsyncQueryingEnumerable + AsyncEnumerator + d__9.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)System.Runtime.CompilerServices。 TaskAwaiter.GetResult()Microsoft.EntityFrameworkCore.Query.EntityQueryModelVisitor + AsyncSelectEnumerable + AsyncSelectEnumerator + d__3.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)System.Runtime。 CompilerServices.ConfiguredTaskAwaitable + ConfiguredTaskAwaiter.GetResult()Sys tem.Linq.AsyncEnumerable + SelectEnumerableAsyncIterator + d__7.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)System.Runtime.CompilerServices.ConfiguredTaskAwaitable + ConfiguredTaskAwaiter.GetResult() System.Linq.AsyncEnumerable + AsyncIterator + d__10.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)System.Runtime.CompilerServices.TaskAwaiter.GetResult()Microsoft。 EntityFrameworkCore.Query.Internal.AsyncLinqOperatorProvider + ExceptionInterceptor + EnumeratorExceptionInterceptor + d__5.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)System.Runtime.CompilerServices.ConfiguredTaskAwaitable + ConfiguredTaskAwaiter .GetResult()System.Linq.AsyncEnum erable + d__6.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)System.Runtime.CompilerServices.TaskAwaiter.GetResult()vega.Controllers.MakesController + d__3。 MakesController.cs中的MoveNext()

这是appsettings.json下的连接字符串:

{
    "ConnectionStrings":{ 
        "Default": "Server=(Localdb)\\MSSQLLocalDB;Database=Vega; Integrated 
         Security=SSPI" 
    },
    "Logging": {
        "LogLevel": {
            "Default": "Warning"
        }
    }
}

我正在使用Entity Framework Code First Migration。似乎重置我的电脑会消灭我的数据库。我该如何把它带回来?

这是迁移文件夹:

enter image description here

c# .net sql-server asp.net-mvc entity-framework
2个回答
0
投票

“将其恢复”的唯一方法是重置计算机时的外部备份机制。

假设不存在此类备份,则表示数据已消失。您可以做的最好的事情是首先按照您创建数据库所采取的步骤,重新开始使用空数据库。


0
投票

它曾经使用过这个连接字符串吗?如果使用CodeFirst,则连接字符串也应具有以下参数:providerName =“System.Data.SqlClient”。

具有匹配的DBContext-Class的示例连接字符串

<connectionStrings>
<add name="DefaultConnection" 
     connectionString="data source=(localdb)\MSSQLLocalDB; 
     initial catalog=PlutoCodeFirst; 
     integrated security=SSPI" 
     providerName="System.Data.SqlClient"/>

  public class PlutoContext : DbContext
{

    public PlutoContext() 
        : base("name=DefaultConnection")
    {

    }
}
© www.soinside.com 2019 - 2024. All rights reserved.