从传统的ASP连接到MS Access数据库

从传统的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数据库。

+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

您的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

使用“文件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中启用“允许父路径”。