網頁

ACCESS 資料庫在 Web.config 中使用相對路徑

[ 相對路徑 VS 絕對路徑 ]
在 Asp.net 2.0 以後提供了 Web.config 文件,您可以將資料庫(DataBase)的連接字串寫進 Web.config 的文件裡,如此一來如果資料庫位置變了只需要更改 Web.config 文件裡的連接字串就可以了,可是問題來了,就是如果每次位置一變,我們就必須去更改它的絕對路徑,儘管不用改程式碼,但感覺還是挺麻煩的,所以最好的解決辦法就是改成相對路徑,優點就是不管位置怎麼變都不再需要手動去更改絕對路徑了。

[ ACCESS 使用相對路徑的方法 ]
步驟 1.

把建立的 ACCESS 資料庫(假設是 Demo.mdb)放在專案裡的 App_Data 資料夾裡面,如果不放在 App_Data 資料夾裡會出現一串訊息如下:

「This application is currently offline. To enable the application, remove the app_offline.htm file from the application root directory. 」

另一個出現此訊息的原因就是網站根目錄下有 app_offline.htm 這個檔案,把它移除即可。

步驟 2.

打開 Web.Config 文件找到 <connectionStrings>...</connectionStrings>,並加入 <add name="Demo" connectionString="provider=microsoft.jet.oledb.4.0; data source=|DataDirectory|\Demo.mdb"></add>,範例如下:
<connectionStrings>
<add name="Demo" connectionString="provider=microsoft.jet.oledb.4.0; data source=|DataDirectory|\Demo.mdb"></add>
</connectionStrings>
這樣相對路徑就設定完成了,其中 |DataDirectory| 代表 App_Data 資料夾目錄,因此就可以自動對應 App_Data 裡的資料庫,以後就不需要辛苦去修改 Web.Config 的路徑囉。

2 則留言:

  1. 感謝大大:

    找了好久,終於解決我相對路徑的問題!!!
    實在太感謝你了~~

    回覆刪除
  2. very very helpful!
    Thank you so much!!!

    回覆刪除

1. 文章如有錯誤,歡迎指正。
2. 請勿打廣告,違者一律刪。
3. 歡迎您提供寶貴的意見。