2011-12-13 31 views
0

我開發了一個Web應用程序,使用ASP.NetMicrosoft Access作爲數據庫。現在我已經使用OleDB連接連接到數據庫。問題是當我給連接字符串Source="C:/WebApp/DB/data.mdb"數據庫源。連接拋出一個錯誤,指出路徑無效,並且沒有這樣的文件。ASP.Net中的Server.MapPath

我嘗試使用

Server.MapPath("~/DB/data.mdb") 

這給路徑 「C:/WebApp/DB/data.mdb」,但拋出了同樣的錯誤

Colud not locate file 'C:/WebApp/DB/data.mdb' 

應該是什麼問題,即使雖然如果它在loalhost中使用Plesk發佈到服務器時效果不錯,它會顯示相同的錯誤,指出「C:/inetpub/xyx.com/httpdocs/ ...」未找到

回答

1

嘗試使用wndows路徑(反斜槓而不是正斜槓)。

如果您要發佈帶有Web應用程序的訪問數據庫,還可以調查將其放入App_Data文件夾中。有關更多信息,請閱讀here

一個完全合作的例子是here

注意,在當前的例子中,如果數據庫是Web根目錄下的一個文件夾,任何人都可能會下載你的數據庫,如果他們知道文件名。默認情況下,存儲在App_Data中的項目不會被提供給客戶端。

還要注意的是,有效地,當你存儲在App_Data文件的項目,您的連接字符串就變成:

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\data.mdb;Persist Security Info=False;" 

(加上任何用戶名/密碼信息)。 ASP.Net將解決| DataDirectory |運行時路徑。

1

您是否嘗試過使用Windows路徑? (注意反斜槓)

C:\WebApp\DB\data.mdb 
0

有可能有幾個問題,你可以請檢查以下項目:

  • 檢查DB文件夾是存在於您的應用程序的根級別
  • 確保數據庫文件data.mdb是存在烏德DB文件夾

根據上面列出的缺失任何選項採取適當的措施。