一個MDB數據庫就是硬盤上的另外一個文件,所以,像其他文件一樣,它也將遇到相同的文件訪問許可問題。這個問題的意思是為了讀取(和寫入,就像您將要在本書的後面看到的那樣)數據庫文件,頁面中所運行的應用程序必須具有相關許可才可以在Windows中讀取(和寫入)該文件。
到目前為止,示例中的頁面都能夠“正常運行”的原因就是您使用的是VWD Web Server,一個在運行VWD的用戶的身份下運行的輕量級程序。這就是說,VWD Web Server為您而運行,並且您已經被允許讀取和寫入頁面連接的MDB文件。
但是,當在IIS下運行頁面時,情況就有一點復雜了。此時,ASP.NET頁面運行於一個具有特定權限限制的用戶賬戶的身份之下。在IIS 5.1之下,這個賬戶是“ASPNET”。在IIS 6.0或更高版本下,這個賬戶是“Network Service”,屬於一個稱為IIS_WPG(“worker process group”)的Windows用戶組。為了在IIS下使用Access數據庫,這些賬戶都必須授予對包含了MDB文件的目錄進行讀取的許可以及按情況授予寫入的許可。
為了幫助您創建這些許可,當數據庫處於應用程序根目錄之下的App_Data子目錄下時,VWD將執行額外的步驟並自動地將這個許可授予ASPNET或者 Network Service賬戶。假如您正在使用VWD來開發機器上的頁面,這個特定的目錄就一直會被授予正確的許可。App_Data目錄還有另外的好處,例如防止其中的任何文件響應發出請求的Web浏覽器。這就是說將MDB文件放入應用程序的本地App_Data目錄之後,就可以保護這些文件不被應用程序的客戶端無意或有意地下載了。所以,我們極力推薦將MDB文件保存至App_Data目錄中。
如果必須將MDB文件保存至其他的地方,或者需要手動指定數據庫目錄的許可(例如,您正工作於一台遠程Web服務器),那麼可以使用Windows來為ASP.NET和/或 Network Service賬戶配置許可。
如需手動設置許可,請按如下步驟執行:
(1) 使用Windows Explorer浏覽MDB文件所在的文件夾。
(2) 右鍵單擊這個目錄並選擇Properties。
(3) 選擇Security標簽並單擊Add按鈕。
(4) 添加本地的ASP.NET賬戶(IIS 5.1) 或者IIS_WPG組(IIS 6)。
(5) 單擊OK;然後將相關許可應用至這個目錄。
如需獲得更多信息,請參閱名為“Running ASP.NET 1.1和IIS 6.0”的白皮書,可以從ASP.NET的Web站點:http://www.asp.net/faq/AspNetAndIIS6.aspx上獲得該白皮書。