MVC SqlServer数据库登录失败

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

我目前正在使用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 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource1)上的System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,UInt32 waitForMultipleObjectsTimeout,Boolean allowCreate,Boolean onlyOneCheckConnection,DbConnectionOptions userOptions,DbConnectionInternal&connection)中的ionOptions userOptions,DbConnectionInternal oldConnection)在Microsoft.EntityFrameworkCore.Scaffolding的System.Data.SqlClient.SqlConnection.Open()处的System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection,DbConnectionFactory connectionFactory,TaskCompletionSource1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource1 retry)中重试,DbConnectionOptions userOptions,DbConnectionInternal oldConnection,DbConnectionInternal&connection)。 Microsoft.EntityFrameworkCore.Scaffolding.RelationalScaffoldingModelFactory.Cre上的Internal.SqlServerDatabaseModelFactory.Create(String connectionString,TableSelectionSet tableSelectionSet)在Microsoft.EntityFrameworkCore.Scaffolding的Microsoft.EntityFrameworkCore.Scaffolding.Internal.ReverseEngineeringGenerator.GetMetadataModel(ReverseEngineeringConfiguration配置)的Microsoft.EntityFrameworkCore.Scaffolding.Internal.SqlServerScaffoldingModelFactory.Create(String connectionString,TableSelectionSet tableSelectionSet)中的ate(String connectionString,TableSelectionSet tableSelectionSet)。在Microsoft.EntityFrameworkCore.Design.Internal.DatabaseOperations.ScaffoldContextAsync(String provider,String connectionString,String outputDir,String dbContextClassName,IEnumerable1 schemas, IEnumerable1 tables,Boolean useDataAnnotations,Boolean overwriteFiles,CancellationToken cancellationToken)中的Internal.ReverseEngineeringGenerator.GenerateAsync(ReverseEngineeringConfiguration配置,CancellationToken cancellationToken)at at System.Collections.Generic.EnumerableHelpers.ToArray [T]中的Microsoft.EntityFrameworkCore.Design.OperationExecutor.d__22.MoveNext()(IEnumerable1 source, Int32& length) at System.Collections.Generic.EnumerableHelpers.ToArray[T](IEnumerable1 s System.Linq.Enumerable.ToArray [TSource](IEnumerable1 source) at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass4_01.b__0()at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)ClientConnectionId:39d773a8-7fba-451b-b86b-d48b481cfe9a错误号码:4060 ,状态:1,类:11无法打开登录请求的数据库“FacilityDB1”。登录失败。用户'PC'登录失败。**

任何帮助赞赏。

asp.net-mvc visual-studio
1个回答
0
投票

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

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

2)也可以在IIS的同一用户“PC in your case”下运行你的应用程序,并确保输入正确的密码。您可以从“应用程序池”更改它选择您的应用程序当前运行的池,并从“应用程序标识”更改您的用户与您之前创建的用户相同(步骤1)“在您的情况下PC

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

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