온라인 및 오프라인 모드에서 작동 할 수있는 Windows C# 응용 프로그램을 개발합니다.
온라인 모드에 있으면 SQL Server에 연결됩니다. 오프라인 모드에서는 로컬 DB에 연결됩니다.MS Sync Framework 및 SQL Server Compact
Microsoft Sync Framework 2.1을 사용하여 필요할 때 2 개의 데이터베이스를 동기화합니다.
지금까지는 로컬 데이터베이스로 SQL Server의 LocalDB 인스턴스를 사용했습니다. 하지만 내 응용 프로그램의 설치 과정에서 시스템을 자동으로 설정하는 것은 쉽지 않습니다. 따라서 SQL Server Compact 3.5 또는 4.0을 사용하여 배포하기가 쉽습니다 (단일 파일로 제공됨).
하지만 그것도 컴팩트 DB의 프로비저닝 코드를 컴파일 할 수 없습니다 : I합니다 (Ce
클래스없이) 이전에 사용
DbSyncScopeDescription scopeDesc = new DbSyncScopeDescription("MyScope");
SqlCeConnection clientConn = new SqlCeConnection(OfflineConnectionString);
var clientProvision = new SqlCeSyncScopeProvisioning(clientConn, scopeDesc);
clientProvision.Apply();
하지만 SqlCeSyncScopeProvisioning
확인할 수 없습니다.
무엇인가 잘못되었습니다.
내 로컬 데이터베이스로 CompactDB를 어떻게 동기화 할 수 있습니까?
LocalDB 데이터베이스 파일 배포를 시도 했습니까? 특정 LocalDB 파일에 연결할 수 있습니다. 예 : 데이터 원본 = (LocalDb) \ v12.0; AttachDbFilename = C : \ MyDatabase.mdf; 초기 카탈로그 = MyDatabase; 통합 보안 = True ". 클라이언트 PC에 응용 프로그램을 배포하지 않았으므로 * SqlLocalDB *를 설치하는 것이 까다로울 지 모르지만 한 번 제공 할 수는 있습니다. – Gabrielius
SqlLocalDB를 설치하는 것은 쉽지 않습니다. 특히 기존의 기존 인스턴스를 제거하고 새 인스턴스를 설치해야 할 때 작동하게하려면 특히 그렇습니다. 그러나 컴팩트 방식이 실패하면 계속 작업해야합니다. 감사. –
이전 버전을 삭제해야하는 이유는 무엇입니까? 너 니 꺼야? 원하는 이름으로 새 인스턴스를 추가 할 수 있습니다. 나는 CE가 좀 오래되었고 결국 죽을 것이기 때문에 LocalDB를지지한다고 생각합니다. – Gabrielius