ASP.NET MVC 3 - 요청한 항목을 찾을 수 없습니다.Net Framework 데이터 공급자
background-info:
Microsoft Visual Web Developer 2010 Express는 다음과 같이 제공됩니다.
사용자 환경에 대한 정보: 작업 중인 첫 번째 튜토리얼에서 문제가 발생했습니다.
일부 추가 정보:
- 저는 C#, Postgres, Rails에 익숙합니다(그래서 MVC 및 웹 앱은 저에게 새로운 것이 아닙니다).
- 저는 ASP 경험이 없습니다.NET 또는 SQL 서버
문제 설명:
저는 "ASP 소개"의 단계를 정확히 따르려고 노력하고 있습니다.NET MVC 3"-튜토리얼과 5부의 첫 번째 단계에서 문제가 발생했습니다 - 영화 컨트롤러 추가:
자습서에 표시된 정확한 설정으로 "Movies Controller"를 추가하고 'Add'를 클릭하면 다음 오류가 발생합니다.
"MvcMovie에 대한 메타데이터를 검색할 수 없습니다.모델들.동영상. 요청한 내용을 찾을 수 없습니다.NetFramework 데이터 공급자.설치되지 않았을 수 있습니다."
Google은 "요청한 내용을 찾을 수 없습니다."라는 문구를 검색할 때 엄청난 결과를 제공했습니다.Net Framework 데이터 공급자"이지만 아직까지 문제를 해결한 것은 없습니다.
제가 시도한 것:
SQL-Server가 설치되지 않은 것 같아 Visual-Studio Express ISO에서 설치했는데 오류가 발생하여 ISO에서 복구를 실행했더니 SQL Server Express repair &를 포함한 15개 지점이 모두 복구되었다고 합니다.NET 4 프레임워크가 성공적으로 완료되었습니다.
The_를 실행했습니다.NET_프레임워크_설정_검증_모든 것에 성공한 도구.http://blogs.msdn.com/b/astebner/archive/2008/10/13/8999004.aspx
위에서 언급한 (재)설치 및 복구 후에 프로젝트를 다시 생성하고 튜토리얼에 설명된 모든 단계를 수행했는데 동일한 오류가 발생했습니다.
machine.config에서 DbProviderFactories를 찾아야 한다는 것을 알게 되었습니다.
프로젝트의 root-Web.config에는 다음 항목이 있습니다.
<connectionStrings>
<add name="MovieDBContext"
connectionString="Data Source=|DataDirectory|Movies.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
내 컴퓨터 구성 파일에는 DbProviderFactories 항목이 하나만 있습니다.
<DbProviderFactories>
<add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/></DbProviderFactories>
그리고 다음 인용문을 찾았습니다.
"DbProviderFactory의 방식을 변경했습니다.GetFactoryClasses()는 VS2010의 프레임워크 제공자를 결정합니다.더 이상 machine.config 파일에 나열되지 않습니다."
http://social.msdn.microsoft.com/Forums/en-ZA/adodotnetdataproviders/thread/d79129c4-ae05-4c45-8997-bd90f5765a3a 에서
질문:.
그래서 아마도 이것은 잘못된 방향일 것이고 다음에 무엇을 시도해야 할지 모르기 때문에 이 문제를 조사하고 해결하기 위해 어떤 조치를 취해야 할까요?
그런데요. 저는 postgres가 설치되어 있어서 SQL 서버 대신 postgres를 사용하는 것이 쉬운 해결책인지 알려주세요.제 프로젝트의 경우에는 다른 DB를 사용하고 싶지만(아마도 포스트그레스일 것입니다), 지금은 제가 시도한 최초의 단순해 보이는 튜토리얼을 성공적으로 수행할 수 있기를 바랍니다.
저도 같은 문제가 있어서 교체했습니다.
<add name="MovieDBContext" connectionString="Data Source=|DataDirectory|Movies.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
다음과 같이
<add name="MovieDBContext"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;database=Movies;User ID=sa;password="
providerName="System.Data.SqlClient"/>
그리고 그것은 제가 계속 일할 수 있도록 충분히 효과가 있었습니다.저도 언젠가는 mysql에서 이러한 종류의 애플리케이션을 작동시키는 방법을 배울 것입니다. 하지만 지금은 적어도 튜토리얼을 계속 진행하는 데 도움이 될 것입니다.
마이크로소프트 SQL 서버 Compact 4.0을 설치해야 합니다.
구성을 보면 SQL Server 설치가 번거롭다는 것을 알 수 있습니다.
<add name="MovieDBContext"
connectionString="Data Source=|DataDirectory|Movies.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
SqlServerCE는 SQL Server가 아니라 SQL Server Compact Edition입니다.VS Express와 함께 설치되었을 것이라고 생각했지만, 여기에서 특정 설치 프로그램을 다운로드할 수 있습니다.
실제로 SQL Server CE와 Express를 모두 설치했지만 튜토리얼에서는 Compact Edition을 사용했습니다.자습서 파트 4의 한 단계는 인용한 부분을 Web.config에 명시적으로 추가하는 것입니다.그래서 이것은 의도적으로 web.config의 일부입니다.
그러나 web.config에서 이 부분을 삭제하면 튜토리얼에서 설명한 방식으로 컨트롤러를 추가할 수 있습니다.이는 더 이상 튜토리얼을 정확하게 따르지 않는다는 것을 의미하지만, 저는 괜찮습니다. (이로 인해 MvcMovie가 만들어집니다.)모델들.SQL Server Express의 Movie DB 컨텍스트 데이터베이스)
http://forums.asp.net/t/1679349.aspx/1 사이프레스벤더
Re: 에 대한 메타데이터를 검색할 수 없습니다 * 요청한 항목을 찾을 수 없습니다.NetFramework 데이터 공급자...2011년 8월 8일 오후 7시 44분|링크
Microsoft SQL Server Compact 4.0을 설치하여 문제를 해결했습니다.http://www.microsoft.com/download/en/details.aspx?id=17876
SQL 공급자를 변경했습니다.Name="시스템.시스템에 SQL 클라이언트와 SQL 압축이 설치되어 있으므로 Data.SqlClient"가 web.config에 있습니다.
프로젝트를 다시 빌드해도 DB 컨텍스트 섹션에서 구성 오류가 발생하지 않습니다...빌드 프로세스는 연결을 통해 진행되지 않으므로 하루 종일 빌드하면서도 계속 확장할 수 있습니다.위에서 제안한 대로 연결 문자열이 MachineName/SQ와 일치하도록 구성을 수정합니다.올바른 SQL 구성을 가진 LinstanceName/DBName.내 솔루션에서 web.config를 수정하는 것만으로도 잘 작동했습니다.
- 컨트롤러를 추가하기 전에 빌드해야 합니다.그게 안 되면...
- 새 프로젝트를 생성하고 새 SQL 서버 데이터베이스를 수동으로 생성한 후 연결할 수 있는지 확인합니다.그렇지 않은 경우 실제로 시스템의 SQL 서버 구성에 문제가 있습니다.선택한 공급자가 먼저 EF 코드를 지원하는지 확인하여 게시물로 이동할 수 있습니다.
제가 한 일은 제가 Web.config 코드에 넣은 첫 번째 문제를 극복하기 위해서였습니다.
<add name="MovieDBContext"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Movies.sdf;Integrated Security=True"
providerName="System.Data.SqlClient"/>
SQL CE 4 데이터베이스를 만들고 있으므로 .mdf가 아닌 .sdf를 만듭니다.
그런 다음 /Movies 페이지에 다른 연결 오류가 표시되므로 위 코드를 다음으로 대체합니다.
<add name="MovieDBContext"
connectionString="Data Source=|DataDirectory|\Movies.sdf;"
providerName="System.Data.SqlServerCe.4.0" />
그리고 당신은 괜찮을 겁니다.
서버가 있었어요윈도우 업데이트를 실행했습니다.다시 시작하기를 기다리는 메시지가 열려 있었습니다.다시 시작한 후 다시 작동했습니다.
Microsoft SQL Server Compact 4.0을 설치합니다.동일한 링크는 - http://www.microsoft.com/en-us/download/details.aspx?id=17876 입니다.
이게 나한테 효과가 있었어요, 도움이 됐으면 좋겠어요.
<add name="MovieDBContext"
connectionString="Data Source=(local);Initial Catalog=Movies; Integrated Security=true;" providerName="System.Data.SqlClient" />
</connectionStrings>
웹에 대한 다른 토론을 읽은 후 다른 방법을 찾았습니다.컨트롤러 클래스를 만든 후까지 연결 문자열을 추가하지 않으면 연결 문자열도 작동합니다.약간 벌레 같아요.
사용해 보십시오.
<add name="MovieDBContext"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|Movies.sdf;User Instance=true"
providerName="System.Data.SqlClient" />
언급URL : https://stackoverflow.com/questions/6508516/asp-net-mvc-3-unable-to-find-the-requested-net-framework-data-provider
'programing' 카테고리의 다른 글
| URLWithString: nil을 반환합니다. (0) | 2023.07.29 |
|---|---|
| iPhone WebKit CSS 애니메이션으로 인해 깜박임 발생 (0) | 2023.07.29 |
| 숫자의 형식을 지정하는 방법? (0) | 2023.07.29 |
| 확장에서 c++ b를 로드하지 못했습니다. (0) | 2023.07.24 |
| JSONResponse를 사용하여 Django 1.7의 쿼리 세트를 직렬화하시겠습니까? (0) | 2023.07.24 |