公路收费站招聘信息:asp 连接access问题

来源:百度文库 编辑:神马品牌网 时间:2024/05/05 07:04:42
举个例子如huiyuan(会员),admin(管理)adv(广告)
等文件夹里的某个文件都需要连到 inc文件夹里的
conn.asp文件,这个作用是连接到date里的aa.mdb数据库

为什么怎么改都会连到不正确的数据库地址
如 连到了huiyuan/date/aa.mdb
或admin/date/aa.mdb
或 adv/date/aa.mdb
我需要连到的是 直接 date/aa.mdb

这个地方该怎么写哦

如huiyuan 里的 某个文件夹里有
<!--#include file="inc/conn.asp"-->

conn.asp内容为

<%
dim conn
set conn=Server.CreateObject("adodb.connection")
conn.open"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../data/aa.mdb")
sub closeconn()
conn.close
set conn=nothing
end sub

%>

我给你两个,你试试:关于问题,你再看一下asp对象,你就明白了。你把对象关了,当然连不上
1:
<%
dim conn
dim connstr
'on error resume next
connstr="DBQ="+server.mappath("../data/aa.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
%>

第二种方法:

db_path = "../data/aa.mdb"
Set conn= Server.CreateObject("ADODB.Connection")
cons = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db_path)
conn.Open cons

我一直用下列方法。不会有错的

conn.asp里面内容,最好写成函数,需要连接数据库时再调用即可。

Function GetMdbRecordset( Source )
Set conn = Nothing
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("../data/aa.mdb")
Set rs = nothing
Set rs = Server.CreateObject("ADODB.Recordset")
Set GetMdbRecordset = Nothing
rs.Open source, conn, 2, 2
set GetMdbRecordset = rs
End Function

前两位的方法没有抓住问题所在!
他们都修改了连接数据库的方法,而没有发现你的问题实际上是目录的错误,其实修改方法就是把../data前面的..去掉,变成从网站根目录开始的绝对路径,就不会出问题了。这样也避免用conn.asp暴露数据库位置。

另外,引用inc的方法也建议前面加一个/从网站的根目录开始引用。