首页 文章

MVC SqlServer数据库登录失败

提问于
浏览
0

我目前正在使用Microsoft Visual Studio 2015的MVC平台上,每当我尝试连接到数据库时,就会发生这种情况

PM> Scaffold-DbContext "Server=(localdb)\MSSQLLocalDB;Database=DB;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

System.Data.SqlClient.SqlException:无法打开登录请求的数据库“DB” . 登录失败 . 用户'PC'登录失败 . 在System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity标识,SqlConnectionString connectionOptions,Object providerInfo,Boolean redirectedUserInstance,SqlConnectionString userConnectionOptions,SessionData reconnectSessionData,Boolean applyTransientFaultHandling)处于System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions选项,DbConnectionPoolKey poolKey, System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection)上的System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool池,DbConnection owningObject,DbConnectionOptions选项,DbConnectionPoolKey poolKey,DbConnectionOptions userOptions)中的Object poolGroupProviderInfo,DbConnectionPool池,DbConnection owningConnection,DbConnectionOptions userOptions) System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject,DbConnect)中的owningObject,DbConnectionOptions userOptions,DbConnectionInternal oldConnection) System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,TaskCompletionSource1)上的System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,UInt32 waitForMultipleObjectsTimeout,Boolean allowCreate,Boolean onlyOneCheckConnection,DbConnectionOptions userOptions,DbConnectionInternal&connection)中的ionOptions userOptions,DbConnectionInternal oldConnection) System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection,DbConnectionFactory connectionFactory)中的System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection,TaskCompletionSource1 retry,DbConnectionOptions userOptions,DbConnectionInternal oldConnection,DbConnectionInternal&connection)处的重试,DbConnectionOptions userOptions,DbConnectionInternal&connection) System.Data.SqlClient.SqlConnection.TryOpen上的TaskCompletionSource1重试,DbConnectionOptions userOptions(TaskCompletionSource1重试)在Microsoft.EntityFrameworkCore.Scaffolding.RelationalScaffoldingModelFactory.Create(String connectionString,TableSelectionSet tableSelectionSet)的Microsoft.EntityFrameworkCore.Scaffolding.Internal.SqlServerDatabaseModelFactory.Create(String connectionString,TableSelectionSet tableSelectionSet)中的System.Data.SqlClient.SqlConnection.Open()处于Microsoft.EntityFrameworkCore.Scaffolding.Internal.SqlServerScaffoldingModelFactory.Create(String connectionString,TableSelectionSet tableSelectionSet)at Microsoft.EntityFrameworkCore.Scaffolding.Internal.ReverseEngineeringGenerator.GetMetadataModel(ReverseEngineeringConfiguration configuration)at Microsoft.EntityFrameworkCore.Scaffolding.Internal.ReverseEngineeringGenerator.GenerateAsync(ReverseEngineeringConfiguration configuration, CancellationToken cancellationToken)at Microsoft.EntityFrameworkCore.Design.Internal.DatabaseOperations.ScaffoldContextAsync(String provider,String connectionString,String outputDir,String dbContextClas在System.Collections.Generic.EnumerableHelpers.ToArray [T](IEnumerable1 source,Int32&length)的Microsoft.EntityFrameworkCore.Design.OperationExecutor.d__22.MoveNext()中的sName,IEnumerable1模式,IEnumerable1表,布尔useDataAnnotations,Boolean overwriteFiles,CancellationToken cancellationToken) )System.Collections.Generic.EnumerableHelpers.ToArray [T](IEnumerable1 source)at System.Linq.Enumerable.ToArray [TSource](IEnumerable1 source)at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase . <> c__DisplayClass4_01.b__0( )在Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)ClientConnectionId:39d773a8-7fba-451b-b86b-d48b481cfe9a错误号码:4060,状态:1,类:11无法打开登录请求的数据库“FacilityDB1” . 登录失败 . 用户'PC'登录失败 . **

任何帮助赞赏 .

1 回答

  • 0

    您的问题可能已经发生,因为您可能没有名为 PC 的用户,或者没有为您的用户 PC 分配访问权限

    1)确保将用户添加到SQL Server数据库,并为用户提供对数据库的访问权限 .

    2)也在 IIS 中运行您的应用程序在同一用户"PC in your case"下,并确保为其键入 correct password . 您可以从_1141286更改它_选择您的应用程序当前运行的池,并从"Application Identity"将您的用户更改为您之前创建的用户(步骤1)“ PC in your case”

    如果它不起作用请发表评论,我很乐意更新我的答案

相关问题