1

이미 완료되었습니다. 나는 클라이언트 컴퓨터에서 설치되고 실행되는 .Net Framework 4.5 및 파일 기반 SQL Server Express 데이터베이스 (mdf)를 사용하여 Windows 양식 응용 프로그램을 만들었습니다.데스크톱 응용 프로그램 설치 중에 파일 기반 SQL Server Express 데이터베이스 (mdf)를 업그레이드하는 방법

변경 필요? 새로운 요구 사항이 도입되었습니다. 따라서 일부 테이블에 새 열을 추가하고 데이터베이스에 새 테이블을 추가하고 실행중인 로컬 컴퓨터에서 빌드 및 실행했습니다.

요구 사항은 무엇입니까? 설치하는 동안 적용한 데이터베이스 업그레이드로 모든 클라이언트 응용 프로그램 데이터를 저장해야합니다.

이 요구 사항을 달성하기 위해 노력한 것은 무엇입니까? 표준 설치로 시험해 보았습니다. 표준 방법으로 설치하려고하면 기존 데이터를 삭제하고 다시 설치하므로 기존 데이터가 손실됩니다.

답변

1

신청서에 기재하십시오. "버전"이라는 새 테이블을 도입하고 스키마 버전을 저장하십시오.

CREATE TABLE Version (VersionNumber int) 

응용 프로그램에 SQL 업그레이드 스크립트를 저장하십시오. 모든 스크립트는 버전 번호에 속해야합니다.

응용 프로그램 시작 후 버전 번호를 확인하고 필요한 모든 스크립트를 실행하십시오. 특정 스크립트를 실행 한 후 버전 번호를 테이블에 삽입하십시오.

버전 표가 전혀 존재하지 않으면 단순히 작성하여 모든 스크립트를 실행하십시오.

+0

고마워.하지만 기존 데이터베이스 삭제 문제는 어플리 케이션을 다시 설치하거나 업그레이드 할 때 기존 파일을 삭제합니다. –

+1

아주 간단 : 데이터 파일을 다른 위치에 저장하십시오. 예 : "Environment.SpecialFolder.CommonApplicationData"(= 사용자간에 C : \ ProgramData - 공유). –

관련 문제