精品免费在线观看-精品欧美-精品欧美成人bd高清在线观看-精品欧美高清不卡在线-精品欧美日韩一区二区

17站長網(wǎng)

17站長網(wǎng) 首頁 數(shù)據(jù)庫 Access 查看內(nèi)容

探索Access數(shù)據(jù)庫最佳NTFS權(quán)限設(shè)置(1)

2023-3-16 15:52| 查看: 1570 |來源: 互聯(lián)網(wǎng)

我們知道ASP.NET中使用ADO.NET訪問數(shù)據(jù)庫,通過OleDb的連接可以訪問Access數(shù)據(jù)庫(我們非常常用的低端數(shù)據(jù)庫之一)。本文討論了ASP.NET中可能看到的若干錯誤提示 ...

我們知道ASP.NET中使用ADO.NET訪問數(shù)據(jù)庫,通過OleDb的連接可以訪問Access數(shù)據(jù)庫(我們非常常用的低端數(shù)據(jù)庫之一)。本文討論了ASP.NET中可能看到的若干錯誤提示,從中可以發(fā)現(xiàn)Access 2000和Access XP創(chuàng)建的數(shù)據(jù)庫文件在訪問出現(xiàn)錯誤時會給出不太相同的錯誤提示。另一個要點是,希望通過此文,使大家對ASP.NET中Access數(shù)據(jù)庫文件的NTFS權(quán)限設(shè)置得到新的認(rèn)識。


(一)實驗過程

為了敘述方便,舉個具體例子做實驗:應(yīng)用程序為/test,數(shù)據(jù)庫存放在D:wwwroot estdatadb1.mdb,我們已經(jīng)知道在ASP.NET中是以一個叫做ASPNET虛擬用戶的身份訪問數(shù)據(jù)庫的,我們需要給這個賬戶以特定的NTFS權(quán)限才能使ASP.NET程序正常運行。

為了得到最嚴(yán)格的NTFS權(quán)限設(shè)置,實驗開始時我們給程序最低的NTFS權(quán)限:

a)D:wwwroot estdata文件夾的給用戶ASPNET以如下權(quán)限:

                 允許  拒絕
完全控制          □    □
修改              □    □
讀取及運行        √    □
列出文件夾目錄    √    □
讀取              √    □
寫入              □    □



b)D:wwwroot estdatadb1.mdb文件本身給用戶ASPNET以如下權(quán)限:

√ 允許將來自父系的可繼承權(quán)限傳播給該對象



1.1對于某個只包含有“SELECT”命令的aspx程序,上述權(quán)限設(shè)置運行時無障礙,即:上述權(quán)限已經(jīng)滿足這類程序的運行了。

1.2對于包含有“UPDATE”“INSERT”“UPDATE”等命令的aspx程序

(a)如果db1.mdb是Access 2000創(chuàng)建的數(shù)據(jù)庫,出現(xiàn)如下錯誤:

“/test”應(yīng)用程序中的服務(wù)器錯誤


Microsoft Jet數(shù)據(jù)庫引擎打不開文件'D:wwwroot estdata'。它已經(jīng)被別的用戶以獨占方式打開,或沒有查看數(shù)據(jù)的權(quán)限。
說明:執(zhí)行當(dāng)前Web請求期間,出現(xiàn)未處理的異常。請檢查堆棧跟蹤信息,以了解有關(guān)該錯誤以及代碼中導(dǎo)致錯誤的出處的詳細(xì)信息。
異常詳細(xì)信息:System.Data.OleDb.OleDbException:Microsoft Jet數(shù)據(jù)庫引擎打不開文件'D:wwwroot estdata'。它已經(jīng)被別的用戶以獨占方式打開,或沒有查看數(shù)據(jù)的權(quán)限。



(b)如果db1.mdb是Access XP創(chuàng)建的數(shù)據(jù)庫,出現(xiàn)如下錯誤:


“/test”應(yīng)用程序中的服務(wù)器錯誤


操作必須使用一個可更新的查詢。
說明:執(zhí)行當(dāng)前Web請求期間,出現(xiàn)未處理的異常。請檢查堆棧跟蹤信息,以了解有關(guān)該錯誤以及代碼中導(dǎo)致錯誤的出處的詳細(xì)信息。
異常詳細(xì)信息:System.Data.OleDb.OleDbException:操作必須使用一個可更新的查詢。



(c)原因初步分析:因為包含有“UPDATE”“INSERT”“UPDATE”等命令,需要對數(shù)據(jù)庫文件本身進(jìn)行寫入操作,所以上述權(quán)限不能滿足此需求,我們需要進(jìn)一步放開權(quán)限。

a)D:wwwroot estdata文件夾不變

b)D:wwwroot estdatadb1.mdb文件本身給用戶ASPNET以如下權(quán)限:

                 允許  拒絕
完全控制          □    □
修改              □    □
讀取及運行        √    □
列出文件夾目錄    √    □
讀取              √    □
寫入              √    □



1.3放開權(quán)限后繼續(xù)實驗

(a)如果db1.mdb是Access 2000創(chuàng)建的數(shù)據(jù)庫,出現(xiàn)如下錯誤:

“/test”應(yīng)用程序中的服務(wù)器錯誤


不能鎖定文件。
說明:執(zhí)行當(dāng)前Web請求期間,出現(xiàn)未處理的異常。請檢查堆棧跟蹤信息,以了解有關(guān)該錯誤以及代碼中導(dǎo)致錯誤的出處的詳細(xì)信息。
異常詳細(xì)信息:System.Data.OleDb.OleDbException:不能鎖定文件。



(b)如果db1.mdb是Access XP創(chuàng)建的數(shù)據(jù)庫,沒有出現(xiàn)錯誤。

(c)原因初步分析:我們發(fā)現(xiàn)在打開Access數(shù)據(jù)庫時,同時會在所在目錄生成一個同名的*.ldb文件,這是一個Access的鎖定標(biāo)記。鑒于此,我們猜測,用戶ASPNET訪問Access數(shù)據(jù)庫時,也需要生成一個鎖定標(biāo)記,而該目錄沒有允許其寫入,因此出錯。至于Access XP創(chuàng)建的數(shù)據(jù)庫為什么沒有這個錯誤,原因還不得而知。

我們進(jìn)一步放開權(quán)限:

a)D:wwwroot estdata文件夾給用戶ASPNET以如下權(quán)限:

                 允許  拒絕
完全控制          □    □
修改              □    □
讀取及運行        √    □
列出文件夾目錄    √    □
讀取              √    □
寫入              √    □



b)D:wwwroot estdatadb1.mdb文件本身給用戶ASPNET以如下權(quán)限:

√ 允許將來自父系的可繼承權(quán)限傳播給該對象



1.4 繼續(xù)實驗,發(fā)現(xiàn)錯誤已解決,那么上面這個權(quán)限就是我們需要放開的“最低權(quán)限”。

(a)如果db1.mdb是Access 2000創(chuàng)建的數(shù)據(jù)庫,我們會發(fā)現(xiàn)一個小問題:生成的*.ldb文件不會自己刪除,訪問后該文件依然存在,但這個問題不會影響ASP.NET的正常運行。

(b)如果db1.mdb是Access XP創(chuàng)建的數(shù)據(jù)庫,沒有出現(xiàn)上面類似問題。

(c)原因初步分析:我們僅僅是給了ASPNET以寫入文件夾的權(quán)限,沒有給它修改的權(quán)限,所以文件一旦寫入,便無法修改其內(nèi)容,*.ldb也就刪除不掉了。

如果非要解決這個問題,進(jìn)一步放開權(quán)限為:

a)D:wwwroot estdata文件夾給用戶ASPNET以如下權(quán)限:

                 允許  拒絕
完全控制          □    □
修改              √    □
讀取及運行        √    □
列出文件夾目錄    √    □
讀取              √    □
寫入              √    □



b)D:wwwroot estdatadb1.mdb文件本身給用戶ASPNET以如下權(quán)限:

√ 允許將來自父系的可繼承權(quán)限傳播給該對象



1.5附帶實驗另一種情形:我們把db1.mdb在Access打開編輯,同時訪問ASP.NET。

(a)如果db1.mdb是Access 2000創(chuàng)建的數(shù)據(jù)庫,我們發(fā)現(xiàn)并沒有出現(xiàn)什么問題。

(b)如果db1.mdb是Access XP創(chuàng)建的數(shù)據(jù)庫,出現(xiàn)如下錯誤:

“/zhao”應(yīng)用程序中的服務(wù)器錯誤。


不能使用'';文件已在使用中。
說明:執(zhí)行當(dāng)前Web請求期間,出現(xiàn)未處理的異常。請檢查堆棧跟蹤信息,以了解有關(guān)該錯誤以及代碼中導(dǎo)致錯誤的出處的詳細(xì)信息。
異常詳細(xì)信息:System.Data.OleDb.OleDbException:不能使用'';文件已在使用中。



(c)原因初步分析:Access數(shù)據(jù)庫是單用戶單線程的數(shù)據(jù)庫,我們在Access里面打開編輯數(shù)據(jù)庫文件時其實是以當(dāng)前Windows用戶(比如Administrator)身份打開數(shù)據(jù)庫,而ASP.NET默認(rèn)使用的是ASPNET虛擬用戶(隸屬于Users組),級別低于Administrator,無法和Administrator“搶奪”權(quán)限,所以出現(xiàn)沖突錯誤。至于Access 2000忽略這個問題的情形我們也不必做討論了,可能是Access 2000沒有考慮那么多因素吧。

1.6再附帶一種情形:將db1.mdb的屬性改為“只讀”,無論是Access 2000還是Access XP都將分別出現(xiàn)與1.2中各自的錯誤相同的錯誤提示。

本文最后更新于 2023-3-16 15:52,某些文章具有時效性,若有錯誤或已失效,請在網(wǎng)站留言或聯(lián)系站長:17tui@17tui.com
·END·
站長網(wǎng)微信號:w17tui,關(guān)注站長、創(chuàng)業(yè)、關(guān)注互聯(lián)網(wǎng)人 - 互聯(lián)網(wǎng)創(chuàng)業(yè)者營銷服務(wù)中心

免責(zé)聲明:本站部分文章和圖片均來自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識,文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請勿用于商業(yè)用途,如果損害了您的權(quán)利,請聯(lián)系我們及時修正或刪除。謝謝!

17站長網(wǎng)微信二維碼

始終以前瞻性的眼光聚焦站長、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長轉(zhuǎn)型升級,為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營銷服務(wù),與站長一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨!

掃一掃,關(guān)注站長網(wǎng)微信

大家都在看

熱門排行

最近更新

返回頂部
主站蜘蛛池模板: 无遮挡1000部拍拍拍免费 | 亚洲欧美另类精品久久久 | 特黄一级毛片 | 91热久久免费频精品黑人99 | 国产精品麻豆综合在线 | 国产日产欧产精品精品推荐在线 | 黄色污片 | 国产精品对白交换绿帽视频 | 亚洲精品影视 | 欧美换爱交换乱理伦片免费观看 | 欧美日韩一本大道香蕉欧美 | 黄视频免费在线观看 | 欧美r级限制禁片在线观看 欧美va在线高清 | heyzo北条麻妃中文字幕 | 精品久久国产视频 | 免费看成人国产一区二区三区 | 亚洲精品永久一区 | 色婷婷综合激情 | 黄色一级片免费播放 | 亚洲欧美一区二区久久 | 日产国产精品久久久久久 | 无遮挡高清一级毛片免费 | 免费观看的黄色 | 国产精品一卡二卡三卡 | 国产一区二区在线观看麻豆 | 一级毛片在线免费观看 | 午夜视频高清在线aaa | 1769国内精品免费视频视频 | 九九久久久久久久爱 | 一级亚洲 | 成人人免费夜夜视频观看 | 亚洲精品在线不卡 | 欧美日韩中文亚洲v在线综合 | 国产欧美日韩在线播放 | 看5xxaaa免费毛片 | 亚洲第一色站 | 成人免费aa在线观看 | 婷婷成人基地 | 欧美一级第一免费高清 | 岛国在线123456 | 中日韩一级片 |