之前項(xiàng)目用的數(shù)據(jù)庫是mssql,因此把數(shù)據(jù)庫字符串寫在了web.config中,后來客戶要求用access,所以直接在web.config中改了連接字符串( 連接用了直接路徑)
現(xiàn)在突然想到要把數(shù)據(jù)庫連接字符串改為相對路徑,但是如果用server.mappath的話現(xiàn)在麻煩,要在很多文件中改,
有沒有辦法直接改web.config中的連接字符串,而獲得的是相對路徑,也就是說客戶不必知道服務(wù)器上存放web項(xiàng)目的具體直接路徑?
-----------------------------------
在多個(gè)文件中引用數(shù)據(jù)庫連接字符串本身就是一個(gè)錯(cuò)誤,不過既然錯(cuò)誤已無法挽回,你仍然可以在web.config中設(shè)置access數(shù)據(jù)庫的相對路徑,只需用~號來代替當(dāng)前web應(yīng)用程序的根路徑即可,比如你的數(shù)據(jù)庫在當(dāng)前web應(yīng)用程序的database文件夾中,你可以這樣在web.config中設(shè)置數(shù)據(jù)庫路徑:
<appsettings>
<add key="dbpath" value="~/database/mydb.mdb"/>
</appsettings>
~這個(gè)符號不會被發(fā)送到客戶端,沒有所謂瀏覽器或iis支持不支持的問題,用server.mappath()或response.redirect()方法時(shí),它會自動將~號轉(zhuǎn)換為相應(yīng)的web應(yīng)用程序路徑,而不是把它直接發(fā)送到客戶端,在客戶端瀏覽器中用~號顯然是不行的。
新聞熱點(diǎn)
疑難解答
圖片精選