2013-06-06 11 views
0

내 프로젝트 중 하나에 SQL CE 3.5를 사용하고 있습니다. 프런트 엔드는 주어진 파일을 처리하고 SQL CE 데이터베이스에 데이터를 덤프하는 WPF 응용 프로그램입니다.동일한 네트워크의 다른 컴퓨터에서 SQL Compact Edition 데이터베이스를 유지하는 데 직면하는 문제

현재 응용 프로그램과 DB는 동일한 컴퓨터에 있습니다.

클라이언트는 네트워크의 모든 컴퓨터에서 응용 프로그램을 실행할 수 있어야하지만 데이터베이스는 서버의 공유 위치에 있어야합니다.

사용자가 응용 프로그램에서 SDF 파일 경로를 선택하면 파일이 처리 될 때 응용 프로그램에서 데이터를 데이터베이스로 덤프합니다.

내 질문은, 네트워크 공유 위치에 SDF 파일을 유지하고 모든 컴퓨터에서 액세스하면 괜찮습니까? 아니면 문제가 될 수 있습니까?

답변

1

실제로 SQL CE는 네트워크 호스트 작업을 지원하지 않습니다. sdf 파일 (임시 데이터)과 관련된 모든 것이 네트워크 원본이 아닌 로컬 컴퓨터에 기록되므로 서버는 요청을 처리 할 수 ​​없습니다 바르게.

당신은 당신이 필요로하는 유일한 것은 마이크로 소프트 동기화 라이브러리 2.1 로컬 클라이언트에 대한 데이터 스토리지와 같은 역할을 SQL Express 서버를 사용할 수 있습니다

요약하기 (그것은 또한 SQL CE 4.0 SP1에서 작동)는 SQL CE를 만들 데이터베이스, 그것을 테이블에 채우고 색인을 작성한 다음 SQL Server Express로 포팅하고 app에 sync 모듈을 추가합니다 (별도의 thread로).

또 다른 해결책은 MS Access DB를 사용하는 것입니다.이 접근법은 그러한 엉망을 허용하지만, db에 동시 쓰기를 허용하지 않는 방법은 말할 것도 없습니다.

+0

이 테스트를 거친 후 네트워크 공유에 데이터베이스를 보관하고 응용 프로그램을 통해 SQL CE .sdf에 레코드를 삽입합니다. – Deepesh

+1

예, 작동하지만 단일 사용자 만이 연결할 수 있으며 지원되지 않는 시나리오입니다. . – ErikEJ