LocalDb에서 SQL Server Express로 이동할 때 이상한 오류가 발생합니다. 내가 컨텍스트 초기화에 CreateDatabaseIfNotExists
에 시도 할 때ASP.NET MVC 4 EF6이 SQL Server Express 데이터베이스에 연결할 수 없습니다.
This operation requires a connection to the 'master' database. Unable to create a connection to the 'master' database because the original database connection has been opened and credentials have been removed from the connection string. Supply an unopened connection.
이 오류가 발생합니다 : 이것은 오류입니다.
protected void Application_Start()
{
//Check And Init Database
Alvin_CMS.App_Start.DatabaseConfig.Initialize();
그리고
마침내이 내 초기화이다 : 나는global.asax
에서 데이터베이스를 시작
public class AlvinCMSMigrationDBContext : DbContext
{
public AlvinCMSMigrationDBContext() : base("DefaultConnection")
{
Database.SetInitializer<AlvinCMSMigrationDBContext>(new CreateDatabaseIfNotExists<AlvinCMSMigrationDBContext>());
}
: 여기
<add name="DefaultConnection"
connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=AlvinCMS;MultipleActiveResultSets=True;"
providerName="System.Data.SqlClient" />
내 상황입니다 : 여기
내 연결 문자열입니다 코드 :
public static void Initialize()
{
Alvin_CMS.Models.AlvinCMSMigrationDBContext migrationDB = new Models.AlvinCMSMigrationDBContext();
try
{
if (!migrationDB.Database.Exists())
{
migrationDB.Database.Initialize(false); //ERROR HERE!
AlvinCMSExtension.Models.AccountDBContext accountDB = new AlvinCMSExtension.Models.AccountDBContext();
accountDB.Database.Initialize(false);
SetDefaultValue(migrationDB);
}
migrationDB.Database.Initialize(false);
}
catch (Exception e)
{
migrationDB.Database.Delete();
AlvinCMSExtension.Helper.Log(e);
}
}
LocalDb를 사용할 때 문제가되었지만 내 데이터베이스에 연결할 수 없어서 코드에 어떤 문제가 있는지 알 수 없습니다. - 여전히 같은 오류가 발생 내가 Persist Security Info = True;Trusted_Connection=False;
을 넣어
: 여기
이 문제를 해결하기 위해 내 시도이다.- 나는
Database.SetInitializer<AlvinCMSMigrationDBContext>(null);
을 변경하려하지만 존재하지 않을 경우 데이터베이스를 작성해야합니다, 그래서 이것은 다음과 같이 당신은connection string
사용할 수있는 저
당신이 관리자 권한이 다음과 같은 역할도 DBCreator 사용자와 시스템 관리자를 지정하고 존재하지 않는 경우 데이터베이스를 만들 수도 널 (null)의 초기화와 – Monah
을 시도하려고했다한다 연결할 때 사용하는 사용자입니다. Trusted_Connection = False는 연결 문자열에서 자격 증명을 제거하지 않지만 올바른 값을 제공하지 않은 경우 Trusted_Connection = True를 사용하여 시도하므로 Windows 인증이 사용됩니다. – DevilSuichiro