2017-12-18 9 views
0

나는 데이터베이스에 연결을 시도 할 때마다 마이크로 소프트 비주얼 스튜디오 2015를 사용하여 MVC 플랫폼에서 현재 해요 실패이MVC SQLSERVER 데이터베이스 로그인이

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에서 System.Data.SqlClient.SqlConnectionFactory.CreateConnection에서 (DbConnectionOptions 옵션, DbConnectionPoolKey (DbConnectionPoolIdentity 정체성, SqlConnectionString connectionOptions, providerInfo, 부울 redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, 부울 applyTransientFaultHandling 객체) poolKey는 System.Data.ProviderBase.DbConnectionPool에서 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection (DbConnectionPool 수영장, DbConnection owningObject, DbConnectionOptions 옵션 DbConnectionPoolKey poolKey, DbConnectionOptions의 userOptions) 에서 poolGroupProviderInfo, DbConnectionPool 수영장, DbConnection owningConnection, DbConnectionOptions의 userOptions) 객체 .CreateObject (DbConnection 소유 객체, DbConnectionOptions 사용자 옵션, DbC System.Data.ProviderBase.DbConnectionPool.TryGetConnection (DbConnection owningObject, UINT32 waitForMultipleObjectsTimeout 부울 allowCreate 부울 onlyOneCheckConnection, DbConnectionOptions의 userOptions에서 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest (DbConnection owningObject, DbConnectionOptions의 userOptions, DbConnectionInternal oldConnection) 에서 onnectionInternal oldConnection) , System.Data.ProviderBase.DbConnectionPool.TryGetConnection (DbConnection owningObject에서 DbConnectionInternal & 연결) , TaskCompletionSource 1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource 1 재시 DbConnectionOptions의 userOptions, DbConnectionInternal oldConnection System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal (DbConnection outerConnection에서, DbConnectionInternal & 연결) , DbConnecti Microsoft.EntityFrameworkCore.Scaffolding.RelationalScaffoldingModelFactory에서 Microsoft.EntityFrameworkCore.Scaffolding.Internal.SqlServerDatabaseModelFactory.Create에서 System.Data.SqlClient.SqlConnection.Open()에서 onFactory ConnectionFactory에, TaskCompletionSource 1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource 재시 1) (문자열 ConnectionString을, TableSelectionSet tableSelectionSet) .Create 마이크로 소프트 Microsoft.EntityFrameworkCore.Scaffolding.Internal.ReverseEngineeringGenerator.GetMetadataModel에서 Microsoft.EntityFrameworkCore.Scaffolding.Internal.SqlServerScaffoldingModelFactory.Create에서 (문자열 ConnectionString을, TableSelectionSet tableSelectionSet) (문자열 ConnectionString을, TableSelectionSet tableSelectionSet) (ReverseEngineeringConfiguration 구성) . EntityFrameworkCore.Scaffolding.Internal.ReverseEng Microsoft.EntityFrameworkCore.Design.Internal.DatabaseOperations.ScaffoldContextAsync에서 ineeringGenerator.GenerateAsync (ReverseEngineeringConfiguration 구성 CancellationToken cancellationToken) (문자열 제공 문자열 ConnectionString을 문자열 outputDir 문자열 dbContextClassName, IEnumerable을 1 schemas, IEnumerable 1 테이블 부울 useDataAnnotations 부울 overwriteFiles, CancellationToken cancellationToken) System.Linq.Enumerable.ToArray [TSource] 위치에 System.Collections.Generic.EnumerableHelpers.ToArray [T]에 Microsoft.EntityFrameworkCore.Design.OperationExecutor.d__22.MoveNext() (IEnumerable을 1 source, Int32& length) at System.Collections.Generic.EnumerableHelpers.ToArray[T](IEnumerable 1 소스)에 (1 source) at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass4_0는 IEnumerable 1.b__0() at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute (조치 동작) ClientConnectionId : 39d773a8-7fba-451b-b86b-d48b481cfe9a 오류 번호 : 4060, 상태 : 1, 클래스 : 11 로그인 요청한 "FacilityDB1"데이터베이스를 열 수 없습니다. 로그인에 실패했습니다. 'PC'사용자가 로그인하지 못했습니다.**

도움을 주시면 감사하겠습니다.

귀하의 문제는 사용자가 PC 이름 또는

1) 당신은 당신의 SQL 서버 데이터베이스에 사용자를 추가 확인하고 그것을 줄 데이터베이스에 사용자 PC에 대한 액세스 권한을 할당하지 않은이 없을 수도 있습니다 원인 일이 될 수

+0

IIS 또는 IIS Express를 통해 응용 프로그램을 실행하고 ISS 및 응용 프로그램 풀에서 응용 프로그램을 실행하려고합니까? 응용 프로그램 ID를 원하는 사용자에게 변경하십시오. "귀하의 질문에 따라 PC라고 생각하십시오." 또한 내가 SQL 서버 자체에서 데이터베이스에있는이 사용자에게 액세스 권한을 부여했는지 확인하십시오. 응답으로 desc를 더 작성하고 싶다면 – msoliman

답변

0

또한 데이터베이스에 대한 사용자 액세스.

2) IIS에서 동일한 사용자 "PC in your case"로 애플리케이션을 실행하고 올바른 비밀번호을 입력했는지 확인하십시오. "응용 프로그램 풀"에서 변경할 수 있습니다. 응용 프로그램이 현재 실행되고있는 풀을 선택하고 "응용 프로그램 ID"에서 사용자가 이전에 만든 것과 동일하게 변경합니다 (1 단계). "PC"

작동하지 않는 경우 의견을 남겨주세요. 내 대답을 기꺼이 업데이트 해 드리겠습니다.

+0

알려 주셔서 감사합니다. 사용자에게 원래 액세스 권한이 주어졌습니다. 내 데이터베이스로, 제 2 옵션에 관해서는 더 자세히 설명해 주시겠습니까? 미안 해요. 방금 전에 시작 했으니까요. 많은 것을 정말로 알지 못합니다. 편집 : 다른 localdb 같은 데이터베이스를 사용하여 내 다른 데이터베이스를 제외한 잘 작동합니다. – Mint