2011-12-28 99 views
0

我想從傳統的ASP腳本連接MS Access數據庫。從傳統的ASP連接到MS Access數據庫

我使用64位Windows 7操作系統上運行的IIS7

我有下面這段代碼:

Dim Connection 
Set Connection = Server.CreateObject("ADODB.Connection") 
Response.Write("object created...") 
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("D://Somnath//ExtraLogistics//Source//ZipDB.mdb") & ";" 
Response.Write("connected...") 

但在IIS上運行的應用程序,我在瀏覽器中收到此錯誤The website cannot display the page

請幫我從我的IIS連接到Access數據庫。

+0

你檢查了服務器日誌嗎? – 2011-12-28 13:45:32

+0

您的訪問路徑是否有權限被您的IIS服務訪問? – 2011-12-28 13:46:02

+0

如果您刪除連接,response.writes是否有效? – Robert 2011-12-28 14:17:13

回答

1

您的MapPath看起來不正確。

看看這個ASP reference

編輯:

點使用Server.Mappath到虛擬參考的實際位置:

例如:
「根目錄
回覆於使用Server.Mappath的物理路徑( 「/」)

'DataDirectory的物理路徑
Response.Write Se rver.MapPath( 「/ DataDirectory目錄/」)

放置ZipDB.mdb在您的網站的根,改變使用Server.Mappath( 「/」)

+0

-1:你可能想要添加什麼看起來不正確... – Stefan 2011-12-28 16:49:41

+0

我已經在ISS中爲源文件夾和數據庫文件創建了虛擬目錄,即ZDBDB.mdb也放置在同一個文件夾中,但它仍然不工作... – Sam 2011-12-29 07:14:00

1

使用「文件DSN 「:

conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\filepath\yourdb.mdb;" 
0

轉換使用Server.Mappath服務器,以便於使用Server.Mappath一個URL路徑的物理路徑(」 d://Somnath//ExtraLogistics//Source//ZipDB.mdb「)幾乎當然是錯的。

如果mdb文件位於http://yourhost/Somnath/ExtraLogistics/Source/ZibDB.mdb那麼您將使用Server.MapPath("/Somnath/ExtraLogistics/Source/ZibDB.mdb"),Server.MapPath將爲您提供服務器文件系統中mdb文件的位置。

如果該文件位於D:\ Somnath \ ExtraLogistics \ Source \ ZipDB.mdb,那麼只需使用該文件路徑並完全刪除Server.MapPath即可。

像這樣: conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\Somnath\ExtraLogistics\Source\ZipDB.mdb;"

0

請注意,你要存儲在數據庫相對於在您執行ASP文件位置的父目錄。如果您沒有通過瀏覽器中的網址訪問數據庫。

另請注意,要使其工作,必須在IIS中啓用「允許父路徑」。