사용자에 대한 엔티티 프레임워크 비계-DbContext 로그인 실패
Visual Studio 2017과 .NET Core 2 with Entity Framework Core를 사용하여 API를 구축하려고 합니다.저는 이 링크의 지시를 따르고 있습니다.저는 다음과 같은 제목의 섹션에 있습니다.모델 리버스 엔지니어링
실행 명령은 다음과 같습니다.
Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
데이터베이스가 Azure SQL 데이터베이스이므로 Azure 포털에서 제공하는 연결 문자열을 사용하여 이 명령을 실행하려고 합니다.
Scaffold-DbContext "Server=tcp:dbname.database.windows.net,1433;Initial Catalog=DBNAME_DB;Persist Security Info=False;User ID=username;Password=password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
나는 반품을 받고 있습니다.
System.Data.SqlClient.SqlException (0x80131904): Login failed for user 'username'.
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, Boolean applyTransientFaultHandling)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at 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)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at Microsoft.EntityFrameworkCore.Scaffolding.Internal.SqlServerDatabaseModelFactory.Create(DbConnection connection, IEnumerable`1 tables, IEnumerable`1 schemas)
at Microsoft.EntityFrameworkCore.Scaffolding.Internal.SqlServerDatabaseModelFactory.Create(String connectionString, IEnumerable`1 tables, IEnumerable`1 schemas)
at Microsoft.EntityFrameworkCore.Scaffolding.Internal.RelationalScaffoldingModelFactory.Create(String connectionString, IEnumerable`1 tables, IEnumerable`1 schemas, Boolean useDatabaseNames)
at Microsoft.EntityFrameworkCore.Scaffolding.Internal.ModelScaffolder.Generate(String connectionString, IEnumerable`1 tables, IEnumerable`1 schemas, String projectPath, String outputPath, String rootNamespace, String contextName, Boolean useDataAnnotations, Boolean overwriteFiles, Boolean useDatabaseNames)
at Microsoft.EntityFrameworkCore.Design.Internal.DatabaseOperations.ScaffoldContext(String provider, String connectionString, String outputDir, String dbContextClassName, IEnumerable`1 schemas, IEnumerable`1 tables, Boolean useDataAnnotations, Boolean overwriteFiles, Boolean useDatabaseNames)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.ScaffoldContextImpl(String provider, String connectionString, String outputDir, String dbContextClassName, IEnumerable`1 schemaFilters, IEnumerable`1 tableFilters, Boolean useDataAnnotations, Boolean overwriteFiles, Boolean useDatabaseNames)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.ScaffoldContext.<>c__DisplayClass0_1.<.ctor>b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass3_0`1.<Execute>b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
ClientConnectionId:ba6ca255-04c8-46c2-9d4f-77204728e9f2
Error Number:18456,State:1,Class:14
Login failed for user 'username'.
이 컴퓨터와 사용자 이름 및 암호를 통해 SSMS를 사용하여 데이터베이스에 로그인할 수 있습니다.Visual Studio에서 이 명령을 실행할 수 없는 이유를 알려줄 수 있는 사람이 있습니까?
저는 제 문제를 알아냈습니다.제 비밀번호에는 $라는 문자가 포함되어 있었고 $ 앞에 '를 사용하여 탈출해야 합니다.
큰따옴표 " 변경 - 작은따옴표 ' 이스케이프 문자를 개별적으로 추가할 필요는 없으며 나머지 매개 변수에도 사용할 수 있습니다.
Scaffold-DbContext 'Server=tcp:dbname.database.windows.net,1433;Initial Catalog=DBNAME_DB;Persist Security Info=False;User ID=username;Password=password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;' Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
연결 문자열에 대한 web.config 파일을 업데이트하려고 했습니다.이것이 zure에 로그인할 수 없는 이유일 수 있습니다.
사용자 로그인이 Azure SQL 데이터베이스 서버뿐만 아니라 대상 SQL Azure 데이터베이스에도 있는지 확인하십시오.
마스터 데이터베이스에서 비밀번호를 사용하여 MaryLogin을 생성합니다. = '';
사용자 데이터베이스
로그인 MaryLogin에서 사용자 MaryUser를 만듭니다.
여기에 설명된 대로 Azure SQL 데이터베이스에 액세스할 수 있도록 Azure 포털에 방화벽 규칙을 만듭니다.컴퓨터에서 포트 TCP 1433이 열려 있는지 확인합니다.
Package Manager 콘솔에서 실행할 때 다음 명령이 작동했습니다.PM>
Scaffold-DbContext "Server=.;Database=Employee;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
언급URL : https://stackoverflow.com/questions/47399666/entity-framework-scaffold-dbcontext-login-failed-for-user
'programing' 카테고리의 다른 글
mongodb 및 pymongo에서 빈 문자열 테스트 (0) | 2023.05.20 |
---|---|
numpy 배열 목록을 단일 numpy 배열로 변환하는 방법은 무엇입니까? (0) | 2023.05.20 |
이벤트 처리기가 동적 콘텐츠에서 작동하지 않음 (0) | 2023.05.20 |
인증서가 만료되었거나 해지되었습니다. (0) | 2023.05.20 |
SQL Server Management Studio를 사용하여 Azure 가상 시스템에서 호스트되는 SQL Server Express 인스턴스에 원격으로 연결 (0) | 2023.05.15 |