다음을 통해 공유


문서 수준 사용자 지정의 데이터 개요

업데이트: 2007년 11월

적용 대상

이 항목의 정보는 지정된 Visual Studio Tools for Office 프로젝트 및 Microsoft Office 버전에만 적용됩니다.

프로젝트 형식

  • 문서 수준 프로젝트

Microsoft Office 버전

  • 2007 Microsoft Office system

  • Microsoft Office 2003

자세한 내용은 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.

Microsoft Office 문서는 데이터의 리포지토리로 사용되는 경우가 있습니다. 따라서 이전에는 데이터를 가져오기 위해 Office 응용 프로그램을 시작해야 했습니다. 그러나 Microsoft Office Word 또는 Microsoft Office Excel용 문서 수준 사용자 지정에서는 Excel 또는 Word를 시작하지 않고 액세스할 수 있는 포함된 데이터 아일랜드에 데이터를 저장할 수 있습니다.

데이터와 문서 분리

데이터 아일랜드는 Office 문서에 포함된 데이터가 들어 있는 XML 문서입니다. Office 응용 프로그램을 실행하지 않고도 이 XML 문서에 액세스할 수 있습니다. 데이터는 실제로 두 곳에 저장됩니다. 즉, 문서에 있는 데이터가 별도의 포함된 데이터 아일랜드에도 저장됩니다. 데이터 바인딩은 데이터 아일랜드와 문서 사이의 동기화를 위해 사용됩니다. 서버에서 실행되는 코드로 데이터 아일랜드를 수정하는 경우 문서를 열고 문서에 숨겨진 코드를 실행하면 Office 문서가 데이터 아일랜드에 동기화됩니다.

이 모델을 사용하면 여러 가지 이점을 얻을 수 있습니다.

  • 스키마 지향 프로그래밍

  • 데이터 캐싱

  • 서버측 데이터 액세스

스키마 지향 프로그래밍

Visual Studio Tools for Office에서는 형식화된 데이터 집합을 사용하여 데이터 아일랜드와의 상호 작용을 위한 스키마 지향 프로그래밍 모델을 제공합니다. 이렇게 하면 문서에 종속되지 않은 데이터에 유효성 검사 코드를 추가할 수 있습니다. 유효성 검사를 문서와 분리하면 데이터 유효성 검사 코드를 다른 문서에도 이식할 수 있습니다.

데이터 캐싱

데이터 아일랜드는 오프라인으로 사용할 수 있는 데이터로 채워집니다. 문서에 캐시된 데이터 항목에 데이터가 들어 있으면 문서가 데이터 아일랜드와 상호 작용합니다. CachedAttribute 특성을 사용하여 선언한 데이터 소스는 데이터 아일랜드에 유지됩니다. 자세한 내용은 데이터 캐싱방법: 오프라인이나 서버에서 사용할 데이터 캐싱을 참조하십시오.

서버측 데이터 액세스

데이터 아일랜드는 외부에서 액세스할 수 있으므로 Office를 시작하지 않고도 문서에 포함된 데이터를 수정할 수 있습니다. 이렇게 하면 서버에서 문서를 빠르게 일괄 처리할 수 있습니다. 문서의 모든 데이터에 액세스할 수 있는 것은 아니며 캐시된 데이터에만 액세스할 수 있다는 사실에 주의해야 합니다.

Office 응용 프로그램을 시작하지 않고 서버의 문서 채우기

Office 응용 프로그램을 시작하지 않고도 서버에서 문서에 포함된 데이터 아일랜드를 채울 수 있습니다. 문서를 만들고 데이터의 스키마를 이 문서에 연결합니다. 그런 다음 문서가 서버에 저장됩니다. ASP.NET 페이지에 숨겨진 코드와 같은 서버측 코드에서 Visual Studio Tools for Office 런타임에 메서드를 호출하여 데이터 아일랜드를 채웁니다. 자세한 내용은 서버에 있는 문서의 데이터 액세스를 참조하십시오.

Office 응용 프로그램을 시작하지 않고 문서에 포함된 데이터를 ASP.NET 서버 페이지에 노출

문서를 만들고 데이터 스키마를 이 문서에 연결하여 데이터를 노출할 수 있습니다. 그런 다음 문서가 서버에 저장됩니다. ASP.NET 페이지의 코드에서 문서를 데이터 소스로 취급할 수 있고 포함된 데이터 아일랜드를 읽거나 수정할 수 있습니다. Visual Studio Tools for Office에서는 문서의 데이터 아일랜드를 읽고 이를 ASP.NET 페이지에 데이터 소스로 노출하고 데이터에 대한 읽기 및 쓰기 권한을 허용할 수 있는 구성 요소를 제공합니다. 자세한 내용은 방법: 서버에 있는 통합 문서에서 캐시된 데이터 검색을 참조하십시오.

오프라인으로 문서 편집

서버에 연결하여 데이터 아일랜드를 채운 후에 네트워크 연결이 없는 비행기로 여행하는 경우 등과 같은 오프라인 시나리오에서 문서를 사용할 수 있습니다. 서버에 실제로 연결되어 있지 않더라도 데이터 아일랜드의 데이터를 사용하고 조작할 수 있습니다. 네트워크에 다시 연결하면 데이터 아일랜드에 대한 변경 내용이 서버 데이터 소스에 전파됩니다. 자세한 내용은 데이터 저장 개요방법: Host 컨트롤의 데이터로 데이터 소스 업데이트를 참조하십시오.

데이터 보안

솔루션을 데이터베이스, 웹 서비스 또는 기타 서버 응용 프로그램 같은 외부 데이터 소스에 연결할 때는 클라이언트뿐만 아니라 데이터 소스의 모든 입력에 대한 유효성을 검사해야 합니다. 문서에 캐시된 데이터라 해도 사용자가 예상하는 것과는 다른 데이터일 수 있습니다. 이러한 데이터에 문서 외부에서 액세스할 수 있기 때문입니다. 바로 그러한 이유에서 다른 사용자로부터 보호해야 할 데이터는 캐시에 포함하지 말아야 합니다.

보안 데이터 처리에 대한 지침은 보안 및 사용자 입력보안 클라이언트 응용 프로그램(ADO.NET)을를 참조하십시오.

참고 항목

개념

컨트롤에 데이터 바인딩

데이터 캐싱

서버에 있는 문서의 데이터 액세스

XML 스키마 및 데이터(Visual Studio Tools for Office)

문서 수준 사용자 지정의 데이터 모델

기타 리소스

Office 솔루션의 데이터