2013-11-14 3 views
1

Visual Studio 2012 및 .NET 4.0에 간단한 콘솔 응용 프로그램을 쓰고 있습니다.SqlServerCe 버전 문제

  • 콘솔 응용 프로그램 프로젝트 (이 시작 프로젝트) 안,
  • 라이브러리 프로젝트 (여기 내 DB 파일을 가지고 DataContext를 생성)를 호출 B를 호출
    솔루션에서 나는이 개 프로젝트가

내 데이터베이스는 SQL Server Compact Edition 4.0 파일 (DataStore.sdf)입니다.
프로젝트 B가 프로젝트 A의 참조로 포함되었습니다.
SQL Server Compact Toolbox를 사용하여 프로젝트 B에서 DataContext를 생성했습니다.
응용 프로그램을 실행할 때 다른 게시물에서 본 적이있는 응용 프로그램을 실행할 때 아마도) :

호환되지 않는 데이터베이스 버전. 호환되는 파일 인 경우 복구를 실행하십시오. 다른 경우는 설명서를 참조하십시오. [DB 버전 = 4000000, 요청 버전 = 3,505,053, 파일 이름 = \ \ C : \ 작업 공간 \ 프로젝트 \ 디버그 \ DataStore.sdf \ mytestapp \ bin에]

내가 다음이 개 게시물을 통해 갔다 :
Post_1
Post_2
내 PC에 설치 SqlServerCe의 두 버전이 : 3.5 및 4.0. x86과 x64 모두.
Post_1에서 제안한대로 프로젝트 A와 B의/bin 디렉터리에 파일을 복사하려고 시도했으며 두 프로젝트의 각 폴더에서 System.Data.SqlServerCe.dll을 참조했습니다. 나는 또한 같은 것을 시도했지만/bin/debug에있는 파일들, 운이 없다.
내가 뭔가를 놓친 건가요?
도움을 주셔서 감사합니다 ...

+1

여기 내 블로그 게시물을 참조하십시오. http://erikej.blogspot.dk/2013/10/sql-server-compact-4-desktop-app-with.html – ErikEJ

답변

2

LINQ to SQL을 SQL Server Compact 4.0에서 사용하려면 DataContext를 SqlCeConnection 개체 (연결 문자열 아님)로 구성해야합니다.

+0

감사합니다. 블로그와 답변이 도움이되었습니다. 당신은 인터넷에서 볼 수있는 것으로부터 SqlServerCe 헬프 라인과 같습니다.) –

+0

전설 - 오늘 5 시간을 낭비했습니다. 이것이 내 이슈를 수정 한 것입니다. –

0

마치 콘솔 앱의 app.config에서 CE3.5를 참조하는 것처럼 들리지만 Datastore.sdf는 실제로 4.0입니다. 콘솔 응용 프로그램에서 모든 SQL-CE 참조을 제거하고 SQL-CE4.0에 대한 새 참조를 추가하십시오.

실제로 문제가 먼저 있는지 확인하십시오. 데이터 저장소가 실제로 3.5이면 참조를 제거하고 콘솔 응용 프로그램에 3.5 참조를 추가해야합니다.

내가 실수가 아니라면, 너겟을 사용하여 가장 쉽게 참조를 추가 할 수 있습니다.

+0

시간 내 주셔서 감사합니다. 참조 정보가 모두 정확했습니다. –