一個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目錄還有另外的好處,例如防止其中的任何檔案回應發出請求的網頁瀏覽器。這就是說將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上獲得該白皮書。