从传统的ASP连接到MS Access数据库
我想从传统的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数据库。
您的MapPath看起来不正确。
看看这个ASP reference。
编辑:
点使用Server.Mappath到虚拟参考的实际位置:
例如:
“根目录
回复于使用Server.Mappath的物理路径( “/”)
'DataDirectory的物理路径
Response.Write Se rver.MapPath( “/ DataDirectory目录/”)
放置ZipDB.mdb在您的网站的根,改变使用Server.Mappath( “/”)
使用“文件DSN “:
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\filepath\yourdb.mdb;"
转换使用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;"
请注意,你要存储在数据库相对于在您执行ASP文件位置的父目录。如果您没有通过浏览器中的网址访问数据库。
另请注意,要使其工作,必须在IIS中启用“允许父路径”。
你检查了服务器日志吗? – 2011-12-28 13:45:32
您的访问路径是否有权限被您的IIS服务访问? – 2011-12-28 13:46:02
如果您删除连接,response.writes是否有效? – Robert 2011-12-28 14:17:13