asp + Access 常见的数据库访问失败问题

来源:百度知道 编辑:UC知道 时间:2024/05/23 16:56:20
网站在本地调试无错,传到服务器后出现以下错误,请高手指点:
Microsoft JET Database Engine 错误 '80004005'

'c:\windows\system32\inetsrv\Data\id.mdb不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。

/Inc/Conn.asp,行 14

本人 菜鸟,请高人详细说明,谢谢。
本地路径是Data\id.mdb
关键是上传以后出现'c:\windows\system32\inetsrv\Data\id.mdb。不知道是怎么回事/
<%
'Option Explicit
'Response.Buffer = True
Dim Startime
Dim Conn,DBPath,ConnStr
Startime = Timer()
'=====================================================================================
DBPath = "'Data\ranzhuo.asp'"

ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBPath
'ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Data/") & DBPath
'On Error Resume Next
Set conn = Server.CreateObject("ADODB.Connection")

c:\windows\system32\inetsrv\Data\id.mdb

因为你传到网上去后你的数据库路径已经更改了.不再是绝对路径.你可以这样做

将id.mdb复制到你的根目录下.如果你的文件放在d:\webroot下你可以这样做.将数据库存放至d:\webroot\database\id.mdb.然后再更改你的连接文件.将c:\windows\system32\inetsrv\Data\id.mdb更改为Server.MapPath("/database/id.mdb")就可以了!!

如:BASE_DBCONNECTION = "DBQ="&server.mappath("你的虚拟路径")&";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"

把你的这句ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBPath
改成

connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&DBPath&"")

就可以了~