--- 편집 ---이 문제를 해결하는 데 도움이되는 추가 정보가 있습니까?Sqlite .NET 및 Entity Framework - "읽기 전용 데이터베이스 작성 시도"
.NET WCF 웹 서비스 내에서 Sqlite 및 Entity Framework를 실행하려고합니다.
데이터베이스에 아무 것도 저장하려고하면 "읽기 전용 데이터베이스 쓰기"오류가 발생합니다.. 여기에 전체 오류 정보는 다음과 같습니다
System.Data.EntityException : 공급자 연결에 거래 를 시작하는 동안 오류 가 발생했습니다. 자세한 내용은 내부 예외를 참조하십시오.
---> System.Data.SQLite.SQLiteException : (읽기 전용 데이터베이스를 SQLiteStatement를 System.Data.SQLite.SQLite3.Reset에서 읽기 전용 데이터베이스
를 작성하는시도를 작성하는 시도 stmt)
at snip] ......................................... ...............> at System.Data.EntityClient.EntityConnection.BeginDbTransaction (IsolationLevel isolationLevel) at System.Data.Common.DbConnection.BeginTransaction() at System.Data.Objects.ObjectContext.SaveChanges()에서의 15,System.Data.EntityClient.EntityConnection.BeginTransaction() System.Data.Objects.ObjectContext.SaveChanges에서 (부울 acceptChangesDuringSave) ...
<connectionStrings>
<add
name="FooEntities"
connectionString="metadata=res://*/FooDataModel.csdl|
res://*/FooDataModel.ssdl|
res://*/FooDataModel.msl;
provider=System.Data.SQLite;
provider connection string='data source=C:\domains\myfoosite.com\wwwroot\FooService\Foo.sqlite'"
providerName="System.Data.EntityClient" />
<connectionStrings>
가 왜이 오류를 받고 있어요 :
여기의 Web.config 내부 (쉽게 읽을 줄 바꿈) 내 EF 구성입니까? 데이터베이스가 읽기 전용 인 이유는 무엇입니까? 내가 해봤
어떤 것들은 :
- 디렉토리를 보장하고 파일은 웹 서비스에 의해 쓰기 수 있습니다. (나는 는 시험과 같은 디렉토리에 일반 텍스트 파일을 작성 시도했습니다.)
나는 '읽기 전용 = False'로 에 연결 문자열을 추가했습니다.
연결하는 데 사용하는 사용자에게 데이터베이스에 대한 쓰기 권한이 있습니까? Management Studio (또는 동등한 제품)를 사용하여 데이터베이스에 연결하고 작성할 수 있습니까? – ChrisF
흠. 어떤 종류의 자격 증명도 지정하지 않았습니다. Windows 인증 또는 양식 인증을 지정하지 않았습니다. 물론 연결하고 로컬 컴퓨터의 데이터베이스에 쓸 수 있습니다. 나는 웹 서버에 연결을 시도 할 것이다. –
내 이해에서 Sqlite는 Windows 인증 또는 양식 인증을 갖고 있지 않습니다. 단지 단일 파일 데이터베이스 일뿐 서비스가없고 인증도 없습니다. 나는 틀린가? –