我目前在使用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,Object poolGroupProviderInfo,DbConnectionPool池,DbConnection owningConnection,DbConnectionOptions userOptions) 在System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool池,DbConnection owningObject,DbConnectionOptions选项,DbConnectionPoolKey poolKey,DbConnectionOptions userOptions) 在System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject,DbConnectionOptions userOptions,DbConnectionInternal oldConnection) 在System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject,DbConnectionOptions userOptions,DbConnectionInternal oldConnection) 在System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,UInt32 waitForMultipleObjectsTimeout,Boolean allowCreate,Boolean onlyOneCheckConnection,DbConnectionOptions userOptions,DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,TaskCompletionSource
1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource
1 retry,DbConnectionOptions userOptions,DbConnectionInternal oldConnection,DbConnectionInternal& connection) 在System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection,DbConnectionFactory connectionFactory,TaskCompletionSource1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource
1重试) 在System.Data.SqlClient.SqlConnection.Open() 在Microsoft.EntityFrameworkCore.Scaffolding.Internal.SqlServerDatabaseModelFactory.Create(String connectionString,TableSelectionSet tableSelectionSet) 在Microsoft.EntityFrameworkCore.Scaffolding.RelationalScaffoldingModelFactory.Create(String connectionString,TableSelectionSet tableSelectionSet) 在Microsoft.EntityFrameworkCore.Scaffolding.Internal.SqlServerScaffoldingModelFactory.Create(String connectionString,TableSelectionSet tableSelectionSet) 在Microsoft.EntityFrameworkCore.Scaffolding.Internal.ReverseEngineeringGenerator.GetMetadataModel(ReverseEngineeringConfiguration配置) 在Microsoft.EntityFrameworkCore.Scaffolding.Internal.ReverseEngineeringGenerator.GenerateAsync(ReverseEngineeringConfiguration配置,CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Design.Internal.DatabaseOperations.ScaffoldContextAsync(String provider,String connectionString,String outputDir,String dbContextClassName,IEnumerable1 schemas, IEnumerable
1个表,Boolean useDataAnnotations,Boolean overwriteFiles,CancellationToken cancellationToken) 在Microsoft.EntityFrameworkCore.Design.OperationExecutor.d__22.MoveNext() at System.Collections.Generic.EnumerableHelpers.ToArray [T](IEnumerable1 source, Int32& length) at System.Collections.Generic.EnumerableHelpers.ToArray[T](IEnumerable
1 source) 在System.Linq.Enumerable.ToArray [TSource](IEnumerable1 source) at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass4_0
1.b__0() 在Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action) ClientConnectionId:39d773a8-7fba-451B-b86b-d48b481cfe9a 错误号码:4060,状态:1,等级:11 无法打开数据库&#34; FacilityDB1&#34;登录请求。登录失败。 用户登录失败&#39; PC&#39;。**
任何帮助表示感谢。
答案 0 :(得分:0)
您的问题可能已经发生,因为您可能没有名为PC
的用户,或者没有为数据库中的用户PC
分配访问权限
1)确保将用户添加到SQL Server数据库,并为用户提供对数据库的访问权限。
2)同时在IIS
下的同一用户“PC机”下运行您的应用程序,并确保为其键入正确的密码。您可以从“应用程序池”更改它选择您的应用程序当前运行的池,并从“应用程序标识”中将您的用户更改为您之前创建的用户(步骤1)中的“PC
”案“
如果它不起作用,请发表评论,我很乐意更新我的答案