방법: 프로젝트의 로컬 데이터 파일 관리
로컬 데이터베이스 파일은 프로젝트에 파일로 포함될 수 있습니다. 응용 프로그램을 처음으로 로컬 데이터베이스 파일에 연결할 때 프로젝트에 데이터베이스의 복사본을 만들 것인지 현재 위치에 있는 기존 데이터베이스 파일에 연결할 것인지 선택할 수 있습니다. 기존 파일에 연결하도록 선택하면 원격 데이터베이스에 연결한 것처럼 연결이 만들어지고 데이터베이스 파일은 원래 위치에 남아 있습니다. 데이터베이스를 프로젝트에 복사하도록 선택하면 Visual Studio에서는 데이터베이스 파일의 복사본을 만들고 프로젝트에 추가한 다음 연결을 수정하여 데이터베이스 파일의 원래 위치 대신 프로젝트의 데이터베이스를 가리키도록 합니다.
참고
서버 탐색기/데이터베이스 탐색기의 기존 데이터 연결도 프로젝트의 데이터베이스 파일(프로젝트의 루트 폴더에 있는 데이터베이스 파일)을 가리키도록 수정됩니다.
프로젝트를 빌드할 때 데이터베이스 파일이 루트 프로젝트 폴더에서 출력(bin) 폴더로 복사됩니다. bin 폴더를 보려면 솔루션 탐색기에서 모든 파일 표시를 선택합니다. 파일의 출력 디렉터리로 복사 속성 때문에 이 작업이 수행됩니다. 출력 디렉터리로 복사 속성의 기본 설정은 사용 중인 데이터베이스 파일의 형식에 따라 다릅니다.
참고
출력 디렉터리로 복사 속성의 동작은 웹 또는 C++ 프로젝트에는 적용되지 않습니다.
루트 프로젝트 폴더의 데이터베이스 파일은 서버 탐색기/데이터베이스 탐색기 또는 다른 Visual Database Tools를 사용하여 데이터베이스 스키마 또는 데이터를 편집할 때만 변경됩니다.
데이터베이스 파일의 동작은 다음 표에 자세히 설명되어 있는 출력 디렉터리로 복사 속성 설정에 의해 결정됩니다.
응용 프로그램을 개발하는 동안 응용 프로그램 내에서 런타임에 데이터가 변경되면 bin 폴더의 데이터베이스에 적용됩니다. 예를 들어, F5 키를 눌러 응용 프로그램을 디버깅할 때 bin 폴더의 데이터베이스에 연결됩니다.
출력 디렉터리로 복사 설정 |
동작 |
---|---|
변경된 내용만 복사(.sdf 파일의 기본값) |
데이터베이스 파일은 프로젝트가 처음 빌드될 때 프로젝트 디렉터리에서 bin 디렉터리로 복사됩니다. 이후로는 프로젝트가 빌드될 때마다 파일의 수정한 날짜 속성이 비교됩니다. 프로젝트 폴더의 파일이 더 새로운 파일이면 bin 폴더로 복사되면서 현재 그곳에 있는 파일을 대체합니다. bin 폴더의 파일이 더 새로운 파일이면 파일은 복사되지 않습니다. 이 설정은 런타임 동안 데이터에 수행된 모든 변경 내용을 유지합니다. 즉, 응용 프로그램을 실행하고 데이터에 대한 변경 내용을 저장하면 다음에 응용 프로그램을 실행할 때 해당 변경 내용을 확인할 수 있습니다.
주의
이 옵션은 .mdb 또는 .mdf 파일에는 권장되지 않습니다.데이터가 변경되지 않더라도 데이터베이스 파일이 변경될 수 있습니다.데이터 파일에서 연결을 열기만 해도, 예를 들어 서버 탐색기에서 테이블 노드를 확장하기만 해도 데이터 파일은 변경된 것으로 표시될 수 있습니다.예측할 수 없는 이 동작 때문에 .mdb 또는 .mdf 파일에는 이 옵션을 사용하지 않는 것이 좋습니다.
|
항상 복사(.mdf 및 .mdb 파일의 기본값) |
데이터베이스 파일은 응용 프로그램을 빌드할 때마다 프로젝트 디렉터리에서 bin 디렉터리로 복사됩니다. 응용 프로그램을 빌드하고 데이터에 대한 변경 내용을 저장하면 원본 파일이 bin 디렉터리에 복사될 때 해당 변경 내용은 덮어쓰여지고 방금 변경한 복사본을 대체합니다. 업데이트된 데이터는 다음에 응용 프로그램을 실행할 때 볼 수 없습니다. 출력 폴더의 데이터 파일에 수행된 모든 변경 내용은 다음에 응용 프로그램을 실행할 때 덮어쓰여집니다. |
복사 안 함 |
프로젝트 시스템에서 파일을 복사하거나 덮어쓰지 않습니다. 응용 프로그램은 출력 디렉터리의 데이터베이스 파일을 가리키는 동적 연결 문자열을 만들기 때문에 이 설정은 수동으로 파일을 복사할 때 로컬 데이터베이스 파일에만 작동합니다. 복사 안 함으로 설정한 후 파일을 수동으로 출력 디렉터리에 복사해야 합니다. |
절차
로컬 데이터베이스 파일 대화 상자에 응답하려면
Visual Studio에서 데이터베이스 파일을 프로젝트에 복사하고 연결을 수정하여 프로젝트의 복사본을 가리키도록 하려는 경우 예를 클릭합니다. 프로젝트의 데이터베이스 파일 작업에 대한 자세한 내용은 로컬 데이터 개요를 참조하십시오.
Visual Studio에서 데이터베이스 파일을 프로젝트에 복사하지 않도록 하려면 아니요를 클릭합니다. 대신 연결은 원래 위치의 파일을 가리키고 데이터베이스 파일이 프로젝트에 파일로 추가되지 않습니다.
참고 항목
작업
연습: SQL Server Express 데이터베이스의 데이터에 연결(Windows Forms)
연습: Access 데이터베이스의 데이터에 연결(Windows Forms)
연습: SQL Server Compact 3.5 데이터베이스 만들기