MDB 데이터베이스는 하드 디스크의 또 다른 파일이므로 다른 파일과 동일한 파일 액세스 권한 문제가 발생합니다. 질문의 의미는 데이터베이스 파일을 읽고(그리고 이 책의 뒷부분에서 살펴보겠지만) 쓰기 위해서는 페이지에서 실행 중인 애플리케이션이 Windows 쓰기에서 읽고 쓸 수 있는 관련 권한을 가지고 있어야 한다는 것입니다. 파일.
지금까지 예제의 페이지가 "작동"하는 이유는 VWD를 실행하는 사용자의 ID로 실행되는 경량 프로그램인 VWD 웹 서버를 사용하고 있기 때문입니다. 즉, VWD 웹 서버가 실행 중이고 페이지 연결의 MDB 파일을 읽고 쓸 수 있도록 허용되었습니다.
그러나 IIS에서 페이지를 실행하면 상황이 좀 더 복잡해집니다. 이 시점에서 ASP.NET 페이지는 특정 권한 제한이 있는 사용자 계정의 ID로 실행됩니다. IIS 5.1에서 이 계정은 "ASPNET"입니다. IIS 6.0 이상에서 이 계정은 "네트워크 서비스"이며 IIS_WPG("작업자 프로세스 그룹")라는 Windows 사용자 그룹에 속합니다. IIS에서 Access 데이터베이스를 사용하려면 이러한 계정에 읽기 권한이 부여되어야 하며, 필요한 경우 MDB 파일이 포함된 디렉터리에 대한 쓰기 권한도 부여되어야 합니다.
이러한 권한을 생성하는 데 도움을 주기 위해 VWD는 추가 단계를 수행하고 데이터베이스가 응용 프로그램 루트 디렉터리 아래의 App_Data 하위 디렉터리에 있을 때 ASPNET 또는 네트워크 서비스 계정에 이 권한을 자동으로 부여합니다. VWD를 사용하여 컴퓨터에서 페이지를 개발하는 경우 이 특정 디렉토리에는 항상 올바른 권한이 부여됩니다. App_Data 디렉터리에는 해당 디렉터리 내의 모든 파일이 요청 웹 브라우저에 응답하지 못하도록 하는 등의 추가 이점이 있습니다. 즉, MDB 파일을 애플리케이션의 로컬 App_Data 디렉터리에 배치하면 해당 파일이 애플리케이션 클라이언트에 의해 실수로 또는 의도적으로 다운로드되지 않도록 보호할 수 있습니다. 따라서 MDB 파일을 App_Data 디렉터리에 저장하는 것이 좋습니다.
MDB 파일을 다른 곳에 저장해야 하거나 데이터베이스 디렉터리에 대한 권한을 수동으로 지정해야 하는 경우(예: 원격 웹 서버에서 작업하는 경우) Windows를 사용하여 ASP.NET 및/또는 네트워크에 대한 권한을 구성할 수 있습니다. 서비스 계정 .
권한을 수동으로 설정해야 하는 경우 다음 단계를 따르세요.
(1) Windows 탐색기를 사용하여 MDB 파일이 있는 폴더를 찾습니다.
(2) 디렉터리를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다.
(3) 보안 탭을 선택하고 추가 버튼을 클릭합니다.
(4) 로컬 ASP.NET 계정(IIS 5.1) 또는 IIS_WPG 그룹(IIS 6)을 추가합니다.
(5) 확인을 클릭한 다음 이 디렉터리에 관련 권한을 적용합니다.
자세한 내용은 ASP.NET 웹 사이트( http://www.asp.net/faq/AspNetAndIIS6.aspx) 에서 제공되는 "ASP.NET 1.1 및 IIS 6.0 실행"이라는 제목의 백서를 참조하십시오.