none
放到IIS上出現錯誤, 不能連接acess2003資料庫 RRS feed

  • 問題

  •  

    之前一直運行沒有問題的webpage放到IIS上運行就出現下面這樣的錯誤. 我已經把原來Casedb.mdb裏面的全部資料匯出到另外一個新建的mdb檔裏面, 然後再把新建檔重新命名為Casedb, 還是出現一樣的錯誤. 我已經把folder的安全性設給Everyone, 不知道為什麼還會這樣, 謝謝了

     

    '/' 應用程式中發生伺服器錯誤。


    Microsoft Jet 資料庫引擎無法開啟 'c:\Project2\Casedb.mdb' 檔案。它已經被其他的使用者獨佔地開啟,或者您需要有檢視資料的權

    2008年9月5日 上午 09:19

解答

所有回覆

  • 同一時間不要有其他軟體編輯該檔的資料庫結構,比如說用 Access 開啟時,進入設計畫面會獨佔開啟,但 Access 僅瀏覽資料則不受影響

     

    2008年9月5日 下午 12:44
  • 不可能啊, 我已經是重新開機了, 什麼程式也沒有開還是這個情況

     

    2008年9月8日 上午 02:05
  • 確認您放置Access資料庫的資料夾有給ASPNET(XP) or NETWORK SERVICE(WIN2003)帳號的存取權限。

    2008年9月8日 上午 02:43
    版主
  • 請問如何確認這個?

    2008年9月8日 上午 03:09
  • 在網站放置的資料夾內(放在App_Data or 直接放在網站目錄下?),檢查其安全性是否有設定上述的帳號,然後開放完全存取的權限。

     

    2008年9月8日 上午 03:11
    版主
  • Acess資料庫並沒有放在App_Data, 是和其他網業放在同一個location裏面, 而且打開Access資料庫Casedb.mdb安全性中並沒有ASPNET(XP)或者Network sercive許可權, 但是已經設置好被system, useradmin都是完全控制的許可權了, 現在應該怎麼做?

     

    2008年9月8日 上午 03:18
  • 安全性設定是要在資料夾上的安全性設定,您可以新增一個ASPNET or NETWROK SERVICE帳號,然後給予其完全控制的許可。

    2008年9月8日 上午 03:21
    版主
  •  

    從來沒新增過ASPNET帳號,請問可以說得詳細一點嗎?

    2008年9月8日 上午 03:26
  • 2008年9月8日 上午 03:28
    版主
  • 已經增加了ASPNET帳號, 還是一樣, 沒有任何改變

     

    2008年9月8日 上午 06:17
  • please help!!!!

     

    2008年9月8日 上午 07:00
  • 當你正確安裝 ASP.NET 時,會自動建立 ASPNET 帳戶,你要手動增加時,表示你 IIS 跟 ASP.NET 沒有正確安裝,但是你前面的錯誤訊息表示 ASP.NET 能跑,所以你增加 ASPNET 帳號本身是個奇怪的事情。

     

    在 Win2k/XP 下,ASP.NET 是用 ASPNET 帳號

    在 Win2003/Vista/2008 ,ASP.NET 是用 Network Service 群組

     

    請把 OS 明確寫出來。

     

    你原先有說,放資料庫的目錄有授權給 everyone 了,所以建議你檢查該目錄權限是否有套用到子物件,Access 檔案開啟時,會動態建立索引檔並繼承目錄權限,所以不用管 Access 檔案權限,從你的描述看起來是權限不同,若你放 Access 檔案的硬碟是其他 OS 做的 Format (包含重灌前的 OS ) ,你必須重新取得擁有權,再套用權限。

     

    目錄 滑鼠右鍵 內容 安全性 進階

    擁有權:擁有者 變更擁有者為 Administrators 群組,勾選取代子物件擁有者 (最好是從根目錄作)

    套用子目錄權限:權限 勾選允許從父項繼承... 並勾選...取代所有子物件權限

    2008年9月8日 上午 07:17
  • 在你的 mdb 的目錄中,有沒有另一個檔名與 mdb 相同,但是副檔名是 ldb 的檔案?

    有的話把它刪除後再試看看。

     

    2008年9月8日 上午 10:38
    版主
  • 關於那個ldb, 我是在Visual Studio 2008連接到資料庫的選項上, 設置了資料連接到Casedb.mdb. Casedb.ldb是當我選擇打開資料連接的時候才自動生成的, 平時是不會出現的, 其實我自己也不清楚我是否有必要在連接到資料庫這個選項上設置. 現在我也試了當Casedb.ldb生成後把他刪除,還是沒有任何變化, 出一樣的error.

     

    2008年9月9日 上午 02:30
  • 前面寫過:

    Code Snippet

    Access 檔案開啟時,會動態建立索引檔並繼承目錄權限

     

     

    不管你用 Access 、ASP.NET、VS2008 哪套開啟,都會產生這個索引檔,正確的把連線軟體關閉即會自動刪除。

     

    2008年9月9日 下午 03:16
  • 問題已解決, 謝謝各位

     

     

    2008年9月10日 上午 02:21