1

이것은 약간 이상한 것입니다. 난 SQL 콤팩트 4 물건을 사용하여 MVC 3 코드를 첫 번째 개발하고 있어요. 그것들은 모두 정상적으로 작동하지만 새로운 컨트롤러를 비계하려고 할 때 문제가 발생합니다.ASP.NET에서 허용되지 않는 SQL Compact 4 db에 대한 액세스 MVC 3 스캐 폴딩

Unable to retrieve metadata for 'MyNamespace.MyClassName'. Access to the database file is not allowed. [ 1884,File name=C:\Program Files\Microsoft Visual Studio 10.0\Common7\EntityContext.sdf,SeCreateFile ]

파일에서 디스크에 존재하지 않는 : 나는 다음과 같은 오류가 새 컨트롤러 대화 상자를 불 나의 실체와 (동일한 솔루션에 별도의 조립에 둘 다)에 데이터 컨텍스트를 선택하고 가져 순간 - EntityContext.sdf 파일은 App_Data 폴더에 있습니다. 나는 그 파일을 만들려고 노력하고 있는지 잘 모르겠다. (그렇다면 왜 그렇습니까?)하지만 만약 내가 admin으로 로그인하지 않았다면 권한이 없기 때문입니다. 이 경우 차이 작업 폴더 또는 다른 것을 정의해야합니까?

지금 관리자로 실행하려했는데 제대로 작동하므로 내 프로그램 파일 디렉토리에 파일을 만들려고합니다. 어딘가에 임시 파일 설정이 있어야합니까?

어떤 도움을 당신이 문제에 대한 답을 찾으셨습니까 :)

답변

0

좋은 것? Web.Release.config I 에서

<configuration> 
    <connectionStrings> 
     <add 
      name="DBContext" 
      connectionString="Data Source=C:\full-path\DBContext.sdf" 
      providerName="System.Data.SqlServerCe.4.0" /> 
... 

: I는 I는 SDF 전체 경로를 사용

있는 Web.Config...에서 동일한 문제가 있지만, 배치는 변형을 통해 처리 된 올바른 배포 릴리스 후 ConnectionString을 속성 ...

<?xml version="1.0"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <connectionStrings> 
    <add 
     name="DBContext" 
     connectionString="Data Source=\DBContext.sdf" 
     xdt:Transform="SetAttributes" 
     xdt:Locator="Match(name)"/> 
    </connectionStrings> 
    <system.web> 
    <compilation xdt:Transform="RemoveAttributes(debug)" /> 
    </system.web> 
</configuration> 

교체 "| DataDirectory를을 |" "C : \ full-path \"가 아닌 설정이 이루어집니다.

원래 문제를 해결하고 싶습니다. 유틸의 수와 SQL의 CE의 DB 스크립트를 수출하려고 할 때

+0

아니요, 불행히도 그것을 결코 생각하지 못했습니다 :( –

0

PK의 :-) 나는 또한 같은 문제에 직면했다. "데이터베이스 파일에 대한 액세스가 허용되지 않습니다"오류가 발생했습니다. 그런 다음 VS2010의 DB 파일에 연결 한 후 연결 문자열을 복사했습니다 ... 작동했습니다! :)

0

T4Scaffolding을 사용할 때이 문제가 발생했습니다. MVCScaffolding nuget 패키지를 설치하여 문제를 해결하고 "MVCScaffolding : 컨트롤러에 EF 데이터 액세스 코드를 사용하여 읽기/쓰기 작업 및보기"템플릿을 사용했습니다. 비슷한 컨트롤러 동작과 뷰를 생성합니다. 이것이 T4Scaffolding Nuget 패키지를 제거하고 다시 설치할 수 없으므로 버그인지 아니면 설치가 잘못되었는지 알 수 없습니다.

관련 문제