로컬 데이터 개요

업데이트: 2007년 11월

로컬 데이터라는 용어는 로컬 컴퓨터의 데이터베이스 파일과 응용 프로그램 사이에 연결이 있음을 가리킵니다(원격 서버의 데이터베이스에 대한 연결과 반대). 현재 지원되는 로컬 데이터베이스 파일은 SQL Server Compact 3.5 데이터베이스 파일(.sdf), SQL Server 및 SQL Server Express 데이터베이스 파일(.mdf), Microsoft Access 데이터베이스 파일(.mdb)입니다.

참고:

클라이언트 응용 프로그램의 기본 로컬 데이터베이스는 SQL Server Compact 3.5입니다. 자세한 내용은 SQL Server Compact 3.5 및 Visual Studio를 참조하십시오.

데이터 소스 구성 마법사, 새 항목 추가 대화 상자 또는 서버 탐색기/데이터베이스 탐색기의 데이터 연결 노드를 사용하여 데이터베이스 파일에 연결합니다.

참고:

.sdf, .mdf 또는 .mdb 파일을 Windows 탐색기에서 솔루션 탐색기로 끌어 놓으면 연결이 자동으로 구성되고 데이터 소스 구성 마법사가 시작됩니다. 마법사가 시작되면 응용 프로그램에서 사용할 개체를 선택할 수 있습니다.

다음 표에서는 응용 프로그램과 로컬 데이터를 연결하는 방법을 설명하는 항목에 대한 링크를 제공합니다.

항목

설명

연습: SQL Server Compact 3.5 데이터베이스 만들기

데이터 기능을 테스트하고 응용 프로그램을 만드는 데 사용할 수 있는 로컬 데이터베이스 파일을 만들기 위한 단계별 지침을 제공합니다.

연습: SQL Server Express 데이터베이스 만들기

데이터 기능과 응용 프로그램 빌드를 테스트하는 데 사용할 수 있는 로컬 데이터베이스를 만들기 위한 단계별 지침을 제공합니다.

방법: SQL Server Express 데이터베이스의 데이터에 연결

응용 프로그램과 SQL Server Express 데이터베이스 파일(.mdf) 사이의 연결을 만들기 위한 일반적인 지침을 제공합니다.

연습: SQL Server Express 데이터베이스의 데이터에 연결

간단한 Windows 응용 프로그램을 만드는 동안 SQL Server Express 데이터베이스에 연결하기 위한 단계별 지침을 제공합니다.

방법: Access 데이터베이스의 데이터에 연결

응용 프로그램과 Microsoft Access 데이터베이스 파일(.mdb) 사이의 연결을 만들기 위한 지침을 제공합니다.

연습: Access 데이터베이스의 데이터에 연결

Microsoft Access 데이터베이스에 연결하기 위한 단계별 예제를 제공합니다.

방법: Northwind 데이터베이스에 데이터 연결 만들기

SQL Server, SQL Server Compact 3.5, SQL Server Express 및 Access 버전의 Northwind 샘플 데이터베이스에 연결하는 방법을 자세하게 설명합니다.

로컬 데이터 파일에 액세스하도록 구성된 데이터 소스를 만든 후 다른 소스의 데이터에 대한 작업과 같은 기술 및 개체를 사용하여 데이터 작업을 수행합니다. 자세한 내용은 클라이언트 데이터 응용 프로그램 만들기를 참조하십시오.

응용 프로그램의 일부인 데이터베이스

로컬 데이터 접근 방법을 사용하면 데이터베이스 파일에 연결할 수 있을 뿐만 아니라 데이터베이스 파일을 응용 프로그램으로 통합할 수 있습니다. 예를 들어 프로젝트 메뉴에서 기존 항목 추가를 클릭한 다음 기존 .sdf, .mdf 또는 .mdb 파일을 찾아서 프로젝트에 추가합니다.

참고   데이터 소스 구성 마법사를 사용하여 로컬 데이터 파일에 대한 데이터 소스를 만드는 경우 해당 파일을 프로젝트에 추가할지 묻는 메시지가 나타납니다. 추가하지 않을 경우 응용 프로그램에는 하드 코드된 경로를 가리키는 연결 문자열만 포함되고 실제 데이터 파일은 포함되지 않습니다. 자세한 내용은 방법: 프로젝트의 로컬 데이터 파일 관리를 참조하십시오.

로컬 데이터 파일을 추가하면 형식화된 데이터 집합과 응용 프로그램의 데이터 파일을 가리키는 동적 연결 문자열이 만들어집니다. 프로젝트에 데이터베이스 파일을 추가할 때 데이터 소스 구성 마법사를 사용하여 데이터 집합에 포함할 개체를 선택합니다.

마법사를 완료하면 데이터베이스 파일과 데이터 집합이 솔루션 탐색기/데이터베이스 탐색기에 나타나고 선택한 데이터베이스 개체를 데이터 소스 창에서 사용할 수 있습니다. 데이터 소스 창에서 폼으로 항목을 끌어 놓아 내부 데이터에 바인딩된 컨트롤을 만들 수 있습니다. 데이터 메뉴에서 데이터 소스 표시를 선택하여 데이터 소스 창을 엽니다. 자세한 내용은 Windows 응용 프로그램에서 폼에 데이터 표시를 참조하십시오.

각 프로젝트 당 두 개의 데이터베이스 복사본

프로젝트를 빌드할 때 데이터베이스 파일이 루트 프로젝트 폴더에서 출력(bin) 폴더로 복사됩니다. bin 폴더를 보려면 솔루션 탐색기에서 모든 파일 표시를 클릭하십시오. 파일의 출력 디렉터리로 복사 속성에 따라 이 작업이 수행됩니다. 출력 디렉터리로 복사 속성의 기본 설정은 사용 중인 데이터베이스 파일의 형식에 따라 다릅니다.

참고:

출력 디렉터리로 복사 속성의 동작은 웹 또는 C++ 프로젝트에는 적용되지 않습니다.

루트 프로젝트 폴더의 데이터베이스 파일은 서버 탐색기/데이터베이스 탐색기 또는 다른 Visual Database Tools를 사용하여 데이터베이스 스키마 또는 데이터를 편집할 때만 변경됩니다.

데이터베이스 파일의 동작은 다음 표에 자세히 설명되어 있는 출력 디렉터리로 복사 속성 설정에 의해 결정됩니다.

응용 프로그램을 개발하는 동안 데이터에 대한 변경 내용(응용 프로그램 내에서 런타임 동안)은 bin 폴더의 데이터베이스에 적용됩니다. 예를 들어 F5 키를 눌러 응용 프로그램을 디버그할 때 bin 폴더의 데이터베이스에 연결됩니다.

출력 디렉터리로 복사 설정

동작

변경된 내용만 복사(.sdf 파일의 기본값)

프로젝트를 처음 빌드할 때 프로젝트 디렉터리에서 bin 디렉터리로 데이터베이스 파일이 복사됩니다. 그 이후로 프로젝트를 빌드할 때마다 파일의 수정한 날짜 속성이 비교됩니다. 프로젝트 폴더의 파일이 최신 파일인 경우 해당 파일은 bin 폴더에 복사되고 현재 있는 파일을 대체합니다. bin 폴더의 파일이 최신 파일인 경우 어느 파일도 복사되지 않습니다.

주의:

이 옵션은 .mdb 또는 .mdf 파일에는 권장되지 않습니다. 데이터베이스 파일은 데이터에 대한 변경 내용이 없는 경우에도 변경될 수 있습니다. 데이터 파일에서 연결(예: 서버 탐색기의 Tables 노드)을 열기만 해도 최신 파일로 표시될 수 있습니다. 예측할 수 없는 이 동작 때문에 .mdb 또는 .mdf에는 이 옵션을 사용하지 않는 것이 좋습니다.

항상 복사(.mdf 및 .mdb 파일의 기본값)

응용 프로그램을 빌드할 때마다 프로젝트 디렉터리에서 bin 디렉터리로 데이터베이스 파일이 복사됩니다. 응용 프로그램을 빌드하고 데이터에 대한 변경 내용을 저장할 때마다, 원래 파일이 bin 디렉터리로 복사되고 변경한 복사본을 대체하는 경우 해당 변경 내용은 덮어쓰여집니다. 다음에 응용 프로그램을 실행하면 업데이트된 데이터가 표시되지 않습니다. 출력 폴더의 데이터 파일에 대한 변경 내용은 다음에 응용 프로그램을 실행할 때 덮어쓰여집니다.

복사 안 함

파일은 프로젝트 시스템에서 복사되거나 덮어쓰여지지 않습니다. 응용 프로그램에서 출력 디렉터리의 데이터베이스 파일을 가리키는 동적 연결 문자열을 만들기 때문에 이 설정은 파일을 수동으로 복사할 경우 로컬 데이터베이스 파일에만 작동됩니다. 복사 안 함으로 설정한 이후에는 파일을 출력 디렉터리에 수동으로 복사해야 합니다.

일반적인 로컬 데이터 문제

다음 표에서는 로컬 데이터 파일에 대한 작업을 수행하는 동안 발생하는 일반적인 문제에 대해 설명합니다.

문제

설명

응용 프로그램을 테스트하고 데이터를 수정해도 다음에 응용 프로그램을 실행하면 변경 내용이 사라집니다.

출력 디렉터리로 복사가 변경된 내용만 복사 또는 항상 복사로 설정되어 있습니다. 이러한 설정을 사용하면 프로젝트를 빌드할 때마다 출력 폴더의 데이터베이스(응용 프로그램을 테스트할 때 수정되는 데이터베이스)를 덮어씁니다. 자세한 내용은 방법: 프로젝트의 로컬 데이터 파일 관리를 참조하십시오.

데이터 파일이 잠겨있다는 내용의 메시지가 표시됩니다.

Access(.mdb 파일): 파일이 Access와 같은 다른 프로그램에서 열려 있지 않은지 확인합니다.

SQL Server Express(.mdf files): Visual Studio IDE 외부에서 데이터 파일을 복사, 이동 또는 이름을 바꾸는 경우 SQL Express에서 해당 데이터 파일을 잠급니다.

두 명의 사용자가 동시에 데이터베이스에 액세스하면 액세스가 거부됩니다.

Visual Studio는 각 사용자에 대해 별도의 SQL Server 인스턴스가 만들어지는 SQL Server Express의 기능인 사용자 인스턴스를 사용합니다. 한 사용자가 파일에 액세스하면 이후 사용자는 해당 파일에 연결할 수 없게 됩니다. 이러한 경우는 사용자가 ASP.NET Development Server와 IIS에서 동시에 웹 응용 프로그램을 실행하는 경우에도 IIS가 보통 다른 계정에서 실행되므로 발생할 수 있습니다.

참고 항목

작업

방법: SQL Server Express 데이터베이스의 데이터에 연결

방법: Access 데이터베이스의 데이터에 연결

연습: SQL Server Express 데이터베이스의 데이터에 연결

연습: Access 데이터베이스의 데이터에 연결

방법: 프로젝트에 SQL Server Compact 3.5 데이터베이스 추가

방법: 응용 프로그램과 함께 SQL Server Compact 3.5 데이터베이스 배포

연습: SQL Server Compact 3.5 데이터베이스 만들기

연습: 응용 프로그램에 SQL Server Compact 3.5 데이터베이스 추가 및 응용 프로그램 배포