[asp.net] EF 4.1 예외 “공급자가 ProviderManifestToken 문자열을 반환하지 않았습니다.”
MSDN에서 찾은 예제를 복제하려고합니다. ASP.NET 및 EF 4.1 (CTP?)을 사용하고 있습니다. NuGet을 사용하여 EntityFramework 패키지를 설치했습니다.
이 오류가 발생합니다. The provider did not return a ProviderManifestToken string
… 데이터베이스가 생성되지 않습니다.
내 연결 문자열은 다음과 같습니다.
<add name="HospitalContext"
connectionString=
"data source=.\SQLExpress;initial catalog=NewTestDB;integrated security=True;"
providerName="System.Data.SqlClient"/>
내 코드는 다음과 같습니다.
var pat = new Patient { Name = "Shane123132524356436435234" };
db.Patients.Add(pat);
var labResult = new LabResult { Result = "bad", Patient = pat };
int recordAffected = db.SaveChanges();
내 컨텍스트는 다음과 같습니다.
public class HospitalContext : DbContext
{
static HospitalContext()
{
Database.SetInitializer(new HostpitalContextInitializer());
}
public DbSet<Patient> Patients { get; set; }
public DbSet<LabResult> LabResults { get; set; }
}
public class HostpitalContextInitializer :
DropCreateDatabaseIfModelChanges<HospitalContext>
{
protected override void Seed(HospitalContext context)
{
context.Patients.Add(new Patient { Name = "Fred Peters" });
context.Patients.Add(new Patient { Name = "John Smith" });
context.Patients.Add(new Patient { Name = "Karen Fredricks" });
}
}
이것은 VS 2010 SP1이있는 완전히 패치 된 SQL 2008 시스템입니다.
답변
이 오류가 발생하고 몇 가지 이전 제안을 시도했습니다. 그런 다음 내부 예외를 확인하고 사용자에 대한 간단한 SQL 로그인 실패를 확인했습니다. 확인해야 할 다른 것입니다.
답변
Visual Studio에서 잘못된 프로젝트의 app.config 내에 연결 문자열을 배치 할 때이 문제가 발생할 수 있습니다.
예를 들어 EF 4.1 (출시 된 버전) 프로젝트 + WCF 데이터 서비스 프로젝트에서이 문제가 발생했으며 사용중인 데이터 서비스 프로젝트에 연결 문자열이 지정되어 있지 않다는 것을 알았습니다.
답변
동일한 오류가 발생했으며 실제로 지정된 서버에 로그인하지 못했습니다. 구성 연결 문자열에서 “통합 보안”특성을 제거하고 작동했습니다.
답변
나는 같은 문제가 있었고 내 컨텍스트의 인스턴스 바로 뒤에 아래 코드를 추가했습니다 (예제에 의한 온로드)
context.Database.Connection.ConnectionString = @"Data Source=.\SQLExpress;Initial Catalog=Test;Integrated Security=True";
답변
MvcMusicStore 앱에서 비슷한 문제가 발생했습니다. Web.config의 줄을 “Instance = true”에서 “Instance = false”로 변경했습니다. 때때로이 조정없이 작동하지만 차이점의 원인을 모르겠습니다. 이 http://msdn.microsoft.com/en-us/library/ms254504.aspx를 읽는
것은 실제로 도움이되지 않았습니다.
답변
특정 권한 이유로 EF는 데이터베이스 연결을 만들 수 없습니다. 나는 하루 종일 같은 문제에 직면했다. 마지막으로 다음 솔루션을 시도해 보았고 작동했습니다 .a / IIS 열기 (IIS 7을 사용하고 있습니다) b / 웹 사이트에서 사용중인 appool의 고급 설정 열기 (예 : DefaultAppPool) c / 프로세스 모델 그룹을보고 ID 값을 변경합니다. “Localsystem”으로
당신과 함께 일하기를 바랍니다.
답변
나는 단지 같은 문제를 겪고
있었다. 나를 위해 일한 해결책은 :
클라이언트 네트워크 구성 도구를 실행하고 (실행에 cliconfg 입력)
TCP / IP가 활성화되어 있는지 확인 하는 것이었다 .