2011-07-27 131 views
0

我需要使用經典的ASP與Access。不幸的是這是一個要求。我目前有一個腳本連接到Access數據庫就好了。下面是摘錄:經典ASP訪問數據庫連接故障

Set adoCon = Server.CreateObject("ADODB.Connection") 

adoCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db1.mdb") 

Set rsGuestbook = Server.CreateObject("ADODB.Recordset") 

strSQL = "SELECT * from table1;" 

rsGuestbook.Open strSQL, adoCon 

同樣,這段代碼工作得很好,記錄發送給瀏覽器。

當我將此連接到不同的劇本,我得到一個錯誤返回規定: 微軟VBScript編譯錯誤 '800a0415' 預計常量 常量的ConnectionString =「DRIVER = {Microsoft Access驅動程序(* .mdb)中} DBQ =」 &使用Server.Mappath( 「DB1.MDB」)

這裏是連接片段:

Const ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db1.mdb") 

感謝任何指導任何人都可以把我的方式,我知道這是一些老學校,任何人其他人記得什麼時候這個東西是流血的邊緣?大聲笑我做...

+0

笑,但MS訪問從來沒有出血的邊緣! – BonyT

+0

該代碼沒有問題 - 如何使用ConnectionString常量值? – BonyT

回答

1

不要使用您的連接字符串常量。由於Server.MapPath是不確定的(路徑可能會從一個運行到下一個運行),Const正在抱怨。或者,它可能會分配一個固定的時候,我不記得肯定任何拼接抱怨......

相反,變化:

Const ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db1.mdb") 

到:

Dim ConnectionString 
ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db1.mdb") 
+0

謝謝RedFilter!完美解決問題! –