Microsoft Office

Access 데이터베이스와 SharePoint 통합

Peter Serzo

 

한 눈에 보기:

  • Access와 SharePoint 통합이 제공하는 이점
  • Access 데이터를 SharePoint로 마이그레이션
  • SharePoint를 사용하여 Access 기능 확장

필자는 최종 사용자에게 Microsoft Office SharePoint Server(MOSS) 2007에 대해 강의할 때마다 이들이 어떤 도구를 사용하고 어떻게 사용하는지 질문하곤 합니다. 그러면 예외 없이 조직의 어디에서든 누군가는

비즈니스의 필수 요구 사항을 해결하기 위해 Microsoft® Office AccessTM를 사용하고 있음을 알 수 있습니다. Access는 여전히 많은 기업에서 유용한 도구이자 중요한 자산입니다.

MOSS 2007은 Access 기반 응용 프로그램을 SharePoint®에 통합하여 보다 광범위한 기능이 포함된 새로운 솔루션을 만드는 방법을 제공합니다. 이 기사에서는 MOSS와 Access를 통합하는 방법과 통합되는 지점을 보여 주고 최종 사용자가 두 제품을 구성하여 솔루션을 만드는 방법을 설명합니다.

MOSS가 Access에 제공하는 기반 기술에는 워크플로, 일반 저장소(SQL Server®) 및 웹 기반 인터페이스(브라우저)가 포함됩니다. SharePoint 기능에는 문서 관리, 작업 영역과 함께 사용자 지정 목록을 설정하는 기능이 포함됩니다. 또한 이벤트 알림에서 연락처 목록 또는 문제점 목록 만들기 기능, 그리고 사용자 정의 양식 관리에 이르는 모든 사항을 다루는 기본 제공 워크플로와 웹 파트를 사용할 수 있습니다. 또한 사용이 간편하고 익숙한 Office 기술이므로 최종 사용자가 별다른 어려움 없이 접근할 수 있습니다. 나중에 살펴보겠지만 MOSS는 현재 사용 중인 솔루션에 방해가 되지 않습니다. 응용 프로그램을 다시 작성할 필요가 없으므로 최종 사용자가 기술적 문제가 아닌 비즈니스 문제를 해결하는 데 주력할 수 있어서 MOSS를 통해 기존 솔루션의 효율성이 더욱 높아집니다.

최종 사용자만 혜택을 보는 것이 아닙니다. IT 부서와 관리자는 최종 사용자가 회사의 업무와 관련하여 생성되는 모든 사용자 지정 데이터베이스를 유지 관리할 수 있도록 지원하기 위해 고군분투하고 있습니다. 대부분의 사용자는 저장소 제한, 다중 사용자 액세스, 보안, 손상된 데이터베이스 복구, 웹 사용, 호환되지 않는 Access 버전, 여러 데스크톱에 변경 내용 배포와 같은 특정 문제가 발생하기 전까지는 업무와 관련된 중요한 문제를 해결하기 위해 Access가 사용되고 있다는 사실조차 알지 못합니다. SharePoint는 이러한 각각의 문제에 대한 해결책을 제시합니다.

나름의 한계는 있지만 여전히 Access는 전문적인 코드 작성자가 아닌 일반 사용자들에게 특히 강력하고 사용이 편리한 제품입니다. 구성 가능한 관계형 테이블, 단순한 쿼리와 복잡한 쿼리, 끌어서 놓기 방식의 고급 폼 생성기, 데이터 기반 보고서 및 다중 사용자 구성 기능을 모두 사용할 수 있습니다. Access 및 SharePoint를 기반으로 하는 솔루션 구축은 리소스와 역량을 공동으로 이용하려는 조직과 수년간 축적된 기술 및 응용 프로그램을 활용하려는 개인 모두에게 유용한 방법입니다.

시작

Access 2007은 MOSS 2007과의 여러 통합 지점을 제공합니다. 그림 1에서 볼 수 있듯이 여기에는 SharePoint 목록에서 데이터 가져오기, SharePoint 사이트에 데이터 게시, SharePoint 목록 만들기, SharePoint 데이터를 외부 원본으로 사용, Access 데이터베이스를 새 SharePoint 사이트나 기존 SharePoint 사이트로 마이그레이션, SharePoint 데이터에 대한 오프라인 액세스가 포함됩니다.

그림 1 SharePoint와의 통합을 위한 간편한 진입점을 제공하는 Access 2007

그림 1** SharePoint와의 통합을 위한 간편한 진입점을 제공하는 Access 2007 **(더 크게 보려면 이미지를 클릭하십시오.)

먼저 Access 테이블에서 SharePoint 목록을 만드는 것부터 시작하는 것이 좋습니다. SharePoint 목록은 Access의 테이블과 매우 유사합니다. SharePoint 목록은 SQL Server 콘텐츠 데이터베이스에 저장되고 특정 필드 특성을 포함하며 조회를 지원합니다.

SharePoint 목록을 만드는 경우 몇 가지 제한이 있습니다. 최적의 성능을 얻으려면 보기당 항목 수가 2,000개를 넘지 않도록 하는 것이 좋습니다. 또한 SharePoint에서는 참조 무결성이 적용되지 않고 OLE 개체는 SharePoint로 내보낼 수 없으며 데이터 유효성 검사가 제한됩니다.

Access 테이블에서 SharePoint 목록을 만들려면 먼저 외부 데이터 탭을 선택한 다음 내보내기 그룹에서 활성화된 SharePoint 목록 단추를 클릭합니다. 이제 그림 2에 나오는 내보내기 - SharePoint 사이트 대화 상자를 채우거나 테이블을 마우스 오른쪽 단추로 클릭하고 내보내기, SharePoint 목록을 차례로 선택하여 이 목록을 사용할 SharePoint 사이트를 지정해야 합니다. 내보내는 테이블이 부모/자식 관계에서 자식 테이블이면 해당 부모 테이블도 모두 내보내집니다.

그림 2 지정한 SharePoint 사이트로 Access 데이터 내보내기

그림 2** 지정한 SharePoint 사이트로 Access 데이터 내보내기 **(더 크게 보려면 이미지를 클릭하십시오.)

내보내기 프로세스가 끝나면 나중에 반복할 필요가 없도록 내보내기 단계를 저장하는 옵션이 제공됩니다. 이때 SharePoint 사이트로 이동하여 업로드된 데이터를 볼 수 있습니다. 이러한 단순한 작업은 데이터를 SharePoint로 이동하여 사용자가 액세스할 수 있도록 하는 데 유용합니다. 이렇게 하면 데이터가 SQL Server 데이터베이스에 저장되므로 보안이 향상되고 브라우저를 통해 정보를 볼 수 있으므로 데이터에 대한 액세스가 간편해지는 이점을 얻을 수 있습니다.

그러나 SharePoint의 목록을 Access의 테이블로 연결하는 또 다른 방법을 사용할 경우 Access와 SharePoint를 훨씬 효과적으로 통합할 수 있습니다. 이렇게 하려면 Access에서 외부 데이터 탭을 클릭하고 가져오기 그룹에서 SharePoint 목록을 선택합니다. 그러면 그림 3의 대화 상자가 나타납니다.

그림 3 Access를 SharePoint에 연결

그림 3** Access를 SharePoint에 연결 **(더 크게 보려면 이미지를 클릭하십시오.)

연결된 데이터 원본으로 사용할 SharePoint 목록이 포함된 사이트를 선택한 다음 연결할 목록을 선택합니다. 이 작업이 끝나면 해당 목록이 Access에서 연결된 테이블로 표시되고 응용 프로그램의 오른쪽 아래 모서리에 "SharePoint에서 온라인으로 작업" 표시기가 나타납니다. 이제 Access와 SharePoint 간에 양방향 동기화가 이루어지므로 SharePoint나 Access 중 하나에서 추가, 변경 및 삭제 작업을 수행할 수 있습니다. 나중에 살펴보겠지만 테이블에 대해 코드를 작성하여 추가 기능을 제공할 수 있습니다.

Access에서 SharePoint 목록에 연결하면 Windows® SharePoint Services(WSS) 사용자 정보 목록이라는 또 다른 테이블도 가져오게 됩니다. 이 테이블은 기본적으로 연결됩니다. 또한 "SharePoint 사이트로 이동 문제점"이라는 문제점 테이블이 생성되며 이 테이블에서는 데이터 충돌 문제를 검토할 수 있습니다.

데이터 마이그레이션 및 변환 중 데이터 형식 처리 방법에 대한 자세한 내용은 "Access 및 SharePoint 간의 데이터 형식 변환 방법"(office.microsoft.com/en-us/access/HP010477131033.aspx) 및 "데이터베이스를 이동하고 해당 테이블을 SharePoint 사이트에 연결"(office.microsoft.com/en-us/access/HA101314681033.aspx)의 마이그레이션 제한 관련 단원을 참조하십시오.

테이블과 목록을 통합하는 세 번째 방법은 SharePoint에서 시작합니다. 목록을 선택하고 작업 탭에서 "Access에서 열기" 옵션을 클릭합니다. 데이터베이스(새 데이터베이스 또는 기존 데이터베이스) 이름을 묻는 대화 상자가 나타납니다. 데이터베이스 이름을 입력한 후 단순히 SharePoint 사이트의 데이터에 연결할지 또는 데이터를 곧바로 Access로 내보낼지 여부를 선택합니다(그림 4 참조).

그림 4 Access를 통해 SharePoint 데이터에 연결할 수 있도록 설정

그림 4** Access를 통해 SharePoint 데이터에 연결할 수 있도록 설정 **(더 크게 보려면 이미지를 클릭하십시오.)

데이터베이스를 SharePoint로 이동

지금까지 SharePoint 목록을 연결된 테이블로 가져오고 Access 테이블을 SharePoint 목록으로 내보내는 방법을 살펴보았습니다. 그렇다면 전체 데이터베이스에 액세스해야 하는 경우에는 어떻게 해야 할까요? 많은 조직이 Access에서 실행되는 중요 업무용 응용 프로그램을 보유하고 있으며, 이러한 응용 프로그램은 개인이 보고서와 쿼리를 실행하고 데이터를 입력할 수 있도록 원격에서 사용이 가능해야 합니다. 이와 같은 경우 응용 프로그램을 다시 작성해야 하지만 경제적으로나 가용 기술을 고려했을 때 이것이 현실적으로 적절하지 않을 때가 있습니다. SharePoint와 Access에서는 Access의 SharePoint 목록 탭에 있는 "SharePoint로 이동" 옵션을 통해 이 문제를 해결합니다. 이 옵션은 Access 97에 처음 소개되었던 업사이징 마법사를 사용하여 SQL Server로 이동하는 옵션과 유사합니다.

전체 Access 데이터베이스를 SharePoint로 이동하면 모든 테이블이 SharePoint 목록으로 변환되고, Access 데이터베이스에 대한 백업이 만들어지며, 목록이 자동으로 Access의 연결된 테이블이 되고, 테이블뿐만 아니라 전체 데이터베이스를 이동할 수 있으며, 데이터베이스가 이동 전과 거의 비슷하게 작동하는 등 다양한 이점을 얻을 수 있습니다.

SharePoint로 이동 단추를 클릭하면 그림 5의 대화 상자가 나타납니다. 사이트를 지정한 후 데이터베이스 저장 옵션을 선택할지 여부를 결정해야 합니다. 그러면 전체 데이터베이스가 선택한 문서 라이브러리에 저장됩니다. 이는 폼, 보고서, 쿼리 및 매크로를 포함한 전체 데이터베이스가 SharePoint에 저장되며 서버에서 사용 가능한 상태가 됨을 의미합니다. 데이터베이스에 액세스하려는 사용자는 데이터베이스가 있는 라이브러리로 이동한 후 데이터베이스를 클릭하기만 하면 됩니다. 그러면 데이터베이스가 자동으로 사용자의 데스크톱에 배포됩니다.

그림 5 데이터베이스를 이동할 SharePoint 사이트 지정

그림 5** 데이터베이스를 이동할 SharePoint 사이트 지정 **(더 크게 보려면 이미지를 클릭하십시오.)

전체 데이터베이스를 이동하도록 선택하면 변경 내용 게시라는 메시지 표시줄이 리본 메뉴 아래에 나타납니다. 이 옵션을 통해 디자인 및 데이터에 대한 로컬 변경 내용이 서버의 복사본과 동기화되도록 할 수 있습니다. 이 옵션을 선택하지 않으면 테이블만 목록으로 변환되고 Access에 연결됩니다. 이 경우 사용자 커뮤니티에서 전체 데이터베이스를 사용할 수 없을 뿐만 아니라 전체 데이터베이스가 SharePoint에서 하나의 개체로 백업되지도 않습니다.

이러한 옵션 중 하나를 선택하면 선택한 SharePoint 사이트를 통해 데이터베이스 및 데이터베이스와 관련된 정보를 사용할 수 있습니다. 다시 말하지만 "SharePoint 사이트로 이동 문제점"이라는 테이블이 자동으로 생성되며 이 테이블에는 마이그레이션으로 인한 모든 충돌 문제가 설명되어 있습니다. 이 테이블에서는 SharePoint 사이트에 테이블을 업로드하는 동안 Access에서 발생한 모든 문제를 검토할 수 있습니다.

보기, 폼 및 보고서

데이터베이스를 이동한 후에는 데이터베이스가 올바르게 작동하는지 테스트할 수 있습니다. 테스트를 시작하기 전에 "SharePoint에서 온라인으로 작업" 표시기가 표시되어 있는지 확인합니다. 이제 Access 쿼리가 SharePoint 보기로 바뀌었습니다. SharePoint 보기는 Access 쿼리와 매우 유사합니다.

전체 데이터베이스를 이동하는 경우 기존 쿼리는 SharePoint에 보기로 복사됩니다. Access 사용자는 쿼리를 작성하면 데이터 하위 집합을 볼 수 있다는 것을 알게 됩니다. SharePoint 보기에서 이를 수행하는 방법을 배우면 SharePoint 목록에서 데이터가 구성되는 방법을 쉽게 이해할 수 있습니다.

만들 수 있는 가장 유용한 보기 중 하나가 Access 보기입니다. Access 보기를 만들려면 먼저 보기를 만들 목록으로 이동한 후 보기를 선택한 다음 보기 만들기를 선택합니다. 그러면 목록을 기반으로 폼과 보고서를 만드는 데 사용할 수 있는 Access 보기 옵션이 표시됩니다. 이 옵션을 클릭하고 Access 데이터베이스를 선택하면 그림 6과 같은 대화 상자가 나타납니다. 그림에서 볼 수 있듯이 이제 형식(폼 종류, 피벗 차트, 피벗 테이블 또는 보고서)을 정의합니다. 이 프로세스가 완료되면 연결된 폼이나 보고서가 Access 데이터베이스에 생성됩니다.

그림 6 Access 보기 만들기

그림 6** Access 보기 만들기 **(더 크게 보려면 이미지를 클릭하십시오.)

오프라인 액세스

실제 환경에서 중요 업무용 응용 프로그램의 범위를 확장하면 ROI가 발생합니다. Access/SharePoint 통합 응용 프로그램의 범위를 확장하는 한 가지 방법은 응용 프로그램을 사용하기 위해 SharePoint에 연결할 필요가 없다는 점을 인식하는 것입니다. 이러한 융통성을 지원하기 위해 Access 2007에는 오프라인으로 작업할 수 있는 기능이 도입되었습니다. 서버에 연결될 때까지 정보는 데이터베이스의 로컬 복사본에 캐시됩니다. 데이터베이스를 오프라인으로 전환하려면 리본 메뉴의 외부 데이터|SharePoint 목록 그룹에서 오프라인으로 작업 단추를 클릭합니다.

SharePoint에 다시 연결할 준비가 되면 온라인으로 작업이나 동기화를 선택할 수 있습니다. 두 옵션 모두 데이터를 업로드하고 충돌되는 부분을 표시하여 검토할 수 있도록 합니다. 그러나 동기화를 선택하는 경우 데이터는 업로드되지만 응용 프로그램은 오프라인 상태로 유지됩니다.

SharePoint 목록 그룹에서 주의해야 할 또 다른 항목은 두 가지 옵션이 포함된 변경 내용 취소입니다. 첫 번째 옵션은 모든 변경 내용을 취소하지만 Access에서 SharePoint 데이터를 업데이트하지는 않습니다. 두 번째 옵션은 모든 변경 내용을 취소하고 SharePoint 데이터(연결된 목록)를 업데이트합니다.

Access 서식 파일

Access 2007에는 사용자가 비즈니스 솔루션을 손쉽게 만들 수 있도록 미리 작성된 여러 가지 서식 파일이 포함되어 있습니다. 만들기 탭에 있는 테이블 그룹에서 SharePoint 목록 단추를 클릭하면 이러한 서식 파일을 볼 수 있습니다(그림 7 참조). 서식 파일 중 하나를 선택하면 SharePoint에 연결된 테이블의 스키마가 자동으로 정의됩니다. 현재는 연락처, 작업, 문제점 및 이벤트만 지원됩니다. 따라서 이러한 정보 유형 중 하나가 포함된 테이블을 내보내면 데이터가 해당 콘텐츠 형식으로 나타납니다(예: 문제점 정보 유형을 내보내면 문제점 형식으로 나타남).

그림 7 목록 유형 선택

그림 7** 목록 유형 선택 **

SharePoint 목록에 사용할 수 있는 사용자 지정 서식 파일을 만들거나 자동 연결되는 Access 2007 데이터베이스를 사용하여 SharePoint 사이트 서식 파일을 만들 수도 있습니다. 이를 위해서는 Access 2007 Developer Extensions가 설치되어 있어야 하고 테이블의 WSSTemplateID를 설정해야 합니다. 이 속성은 어떤 테이블이 해당 SharePoint 목록 서식 파일을 가지고 있는지 추적합니다.

Access 및 메타데이터

보안이 설정된 Access 응용 프로그램을 사용하는 기업은 이러한 응용 프로그램을 모두 SharePoint로 이동할 수 없거나 이동하고 싶지 않을 수도 있습니다. 이러한 경우에는 Access에서 코드를 작성하여 SharePoint를 업데이트하는 것이 적절할 수도 있습니다. 코드를 사용하여 SharePoint와 Access를 연결할 수 있습니다.

간단한 예로 제품, 공급업체 및 고객 주문에 대한 정보가 저장된 Northwind Trader 데이터베이스를 들 수 있습니다. 각 제품에는 일반적으로 협력업체에서 제공하는 .pdf 파일 형식의 제품 시트가 연결되어 있습니다. Access 데이터베이스는 지리적 위치, 제품 번호, 수정 기록, 회사 부서 코드 등 제품 시트에 포함된 모든 정보를 추적합니다. 이 정보는 SharePoint 엑스트라넷을 통해 공급업체와 협력업체에서 사용할 수 있어야 합니다.

이를 위해 SharePoint 사이트를 설정하고 모든 문서를 연결된 문서 라이브러리로 이동했습니다. 그러나 그림 8에서 볼 수 있듯이 메타데이터 필드는 비어 있는데 이는 해당 데이터가 Access에서 추적되기 때문입니다. 또한 이를 모니터링하는 담당자가 Access를 선호할 뿐만 아니라 변화를 바라지 않습니다.

그림 8 메타데이터가 누락된 상태로 SharePoint에 표시된 Northwind 문서

그림 8** 메타데이터가 누락된 상태로 SharePoint에 표시된 Northwind 문서 **(더 크게 보려면 이미지를 클릭하십시오.)

다행히 그림 9에서 볼 수 있듯이 Visual Basic® for Applications(VBA) 코드를 추가하여 Access 응용 프로그램을 통해 메타데이터를 업데이트할 수 있습니다. 응용 프로그램을 다시 작성할 필요는 없습니다. 직원들은 이전부터 사용하던 도구로 웹에서도 작업할 수 있으며 협력업체는 부여받은 사용 권한에 따라 엑스트라넷에 액세스하여 허용된 정보를 볼 수 있습니다. 또한 동시성이나 데이터베이스 크기 문제는 발생하지 않습니다.

그림 9 코드를 사용하여 메타데이터 업데이트

그림 9** 코드를 사용하여 메타데이터 업데이트 **(더 크게 보려면 이미지를 클릭하십시오.)

기본 제공 보안

Access 응용 프로그램을 SharePoint로 이동하는 경우 얻을 수 있는 가장 큰 이점 중 하나는 Active Directory® 인증이 기본적으로 포함된 SharePoint 보안 모델을 사용할 수 있다는 것입니다. 즉, 스키마와 테이블을 만든 다음 사용자를 추가하여 Access 응용 프로그램에 보안을 구현하는 방법에 대해 더 이상 신경쓸 필요가 없습니다. SharePoint 목록을 사용하는 경우 사용자가 자신에게 허용된 정보만 볼 수 있도록 하는 SharePoint 고유의 기능인 보안 조정을 활용할 수 있습니다. 그뿐만 아니라 SharePoint로 이동하고 싶지 않은 데이터베이스 구성 요소가 있는 경우 해당 구성 요소는 이동하지 않아도 됩니다.

SharePoint는 세분화된 역할 기반 보안 모델을 제공합니다. 데이터베이스 이동 방법 및 이동 위치를 결정할 때는 마이그레이션에 앞서 사이트와 보안을 디자인해야 합니다. 이렇게 하면 사용 권한을 설정하고 테스트하기가 쉽습니다. 또한 마이그레이션에 따르는 문제가 줄어들고 Access 데이터베이스가 보다 효율적으로 실행됩니다.

참조 무결성

참조 무결성에 대해서는 간단히라도 살펴보아야만 설명이 부족하지 않을 것입니다. 사실 SharePoint는 Access와는 달리 참조 무결성을 적용하지 않습니다. 대부분의 설치는 일정 수준에서 정규화됩니다. 중요 업무용 Access 데이터베이스가 올바르게 작동하려면 바로 이 점을 고려해야 합니다. 다행히 기존 시스템에 대한 향상 기능으로 간주할 수 있는 몇 가지 해결 방법이 있습니다.

앞서 데이터베이스를 SharePoint로 이동할 때 자식 테이블을 이동하면 해당 부모 테이블도 이동된다고 언급한 바 있습니다. 그뿐만 아니라 SharePoint에서는 선택한 특정 필드가 다른 테이블에 기반을 두고 있음을 파악한 경우 조회 필드를 사용합니다. 예를 들어 Northwind Traders 데이터베이스에서 고객이 선택되고 주문이 이루어졌다고 가정해 보십시오. 이러한 테이블이 SharePoint로 이동되면 고객 필드가 주문 목록에서 조회 필드가 됩니다.

연속적인 업데이트/삭제 작업 및 이보다 복잡한 작업의 경우는 어떨까요? 이와 같은 경우에는 SharePoint와 SharePoint 워크플로를 잠재적 솔루션으로 고려해야 합니다. 다시 Northwind Traders 데이터베이스로 돌아가서 고객이 전화를 걸어 기존 주문을 취소했다고 가정해 보십시오. 이 경우 재고를 원래대로 되돌리고, 공급업체에 이 사실을 알리고, 해당 주문에 연결된 직원이 고객에게 연락을 취해 주문 취소를 확인하고, 납품을 취소하고, 회계 정보를 업데이트하는 등의 여러 가지 작업이 시작됩니다. 이로 인해 많은 부분이 이동되고 조정되어야 합니다.

SharePoint Designer를 사용하면 주문 상태가 변경되는 즉시 앞서 설명한 모든 작업을 수행하는 워크플로를 SharePoint에서 만들 수 있습니다. 22개의 워크플로가 기본적으로 제공되며 수백 가지 작업에 맞게 이를 수정하여 사용할 수 있습니다. SharePoint Designer는 사이트를 꾸미거나 워크플로를 만드는 경우 모두에 유용한 도구입니다.

SharePoint Designer를 사용하여 워크플로를 만들 때 가장 좋은 점은 Access "프로그래밍" 방법을 알고 있는 사용자에게 친숙한 기술이 사용된다는 것입니다. 즉, Access 응용 프로그램을 만드는 사용자는 별다른 어려움 없이도 자신의 기술 지식을 워크플로 생성 분야로 확대할 수 있습니다. 워크플로를 만드는 데 SharePoint Designer를 사용할 경우 별도의 코드를 작성할 필요가 없으며 워크플로 배포 또한 매우 간단합니다.

Peter Serzo는 CDW Berbee의 수석 엔지니어이며 전 세계 기업을 대상으로 SharePoint 엔터프라이즈 솔루션을 설계하는 업무에 주력하고 있습니다.

© 2008 Microsoft Corporation 및 CMP Media, LLC. All rights reserved. 이 문서의 전부 또는 일부를 무단으로 복제하는 행위는 금지됩니다..