关于数据库连接中的相对路径问题!!高分请教

dxdong 2004-09-19 07:21:29
本人用DW做了一个asp的论坛,因为不会asp,所以一切都按照一本DW教材来做的,其它一切都还顺利,但在自定义数据库链接上出现了问题,我不知道如何来定义相对路径的自定义连接字符串,而用物理路径来定义正常,但用教材上说的方法定义相对路径却不能通过测试.具体情况如下:

网站的文件夹路径为:G:\Documents\MySky;
论坛主页放在:G:\Documents\MySky\BBS文件夹下,文件名为bbs.asp;
数据库文件放在:G:\Documents\MySky\BBS\data文件夹下,文件名为info.mdb;
在打开自定义连接字符串的对话框中,连接字符串中我是这样填的:Driver={Microsoft Access Driver (*.mdb)};DBQ=G:\Documents\MySky\BBS\data\info.mdb"
这是按物理路径定义的,测试后,提示成功建立连接。

我又按教材上的相对路径来定义:“Driver={Microsoft Access Driver(*.mdb)};DBQ=”&server.mappath("data/info.mdb");
请注意,在测试这个定义中,我发现一个现象,在字符串里的第一对双引号,用的是全角的双引号,如果我用半我的双引号会出现"初始化字符串不合OLE DB 规定"的错误提示,用全角的双引号则没有这样的提示,但有“未发现数据源名称并且未指定默认驱动程序”的提示,测试不能通过。

请问到底该如何填写相对路径的自定义字符串呢?
我的系统是XP+IIS5.1+DreamWeaver MX2004,希望大家能帮我解答这个问题!
...全文
387 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
dxdong 2004-09-22
  • 打赏
  • 举报
回复
非常感谢大家的热心


总是搞定了其实我没有搞错大家也没有搞错,错的是DW,不知道大家以前有没有注意到这个问题,用DW自定义连接字符串的时候,如果在对话框里直接用相对路径的话,DW并不能正确识别出来可能是不能识别asp代码、函数,还有&符号等所以在测试的时候会出现格式不符的错误提示,这时候你根本不用理会它,用F12测试一下网页,怎么样,是成功的,呵这个问题竟然解决了哈!!

再一次感谢大家的帮忙,是大家的意见让我有了灵感哈谢谢 !!
zhgroup 2004-09-19
  • 打赏
  • 举报
回复
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&DatabaseName&";Persist Security Info=True"

DatabaseName:数据库名称
可以用相对路径,也可以用绝对路径
emilydaocaoren 2004-09-19
  • 打赏
  • 举报
回复
我也觉得链接是最麻烦的,老是出错,可能路径不对.有代码来写就可以,用数据源的方法就是链接不到
panshiwu 2004-09-19
  • 打赏
  • 举报
回复
<!--#include file="../Connections/asdfad.asp" -->

在这个文件里改 , 这个文件看前来象你的 conn文件
dxdong 2004-09-19
  • 打赏
  • 举报
回复
<!--#include file="../Connections/asdfad.asp" -->
<%
Dim Recordset1
Dim Recordset1_numRows

Set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_asdfad_STRING
Recordset1.Source = "SELECT * FROM inc ORDER BY dati DESC"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 1
Recordset1.Open()

Recordset1_numRows = 0
%>
<%
Dim Recordset2
Dim Recordset2_numRows

Set Recordset2 = Server.CreateObject("ADODB.Recordset")
Recordset2.ActiveConnection = MM_asdfad_STRING
Recordset2.Source = "SELECT * FROM admi"
Recordset2.CursorType = 0
Recordset2.CursorLocation = 2
Recordset2.LockType = 1
Recordset2.Open()


这是我在我自己的bbs.asp页面的代码最前面的一部分,是在这地方改吗
dxdong 2004-09-19
  • 打赏
  • 举报
回复
我知道大家都是asp的高手,所以请大家能说的明白些,比如代码应该写在什么位置??
bluesky1314520 2004-09-19
  • 打赏
  • 举报
回复
呵呵,用什么都是一样的做,记得多用response.write 和response.end来调试!
dxdong 2004-09-19
  • 打赏
  • 举报
回复
我只想知道用DW是如何做的,因为ASP我不懂,谢谢
bluesky1314520 2004-09-19
  • 打赏
  • 举报
回复
很简单,你response.write(server.mappath("/"))就知道server.mappath是什么路径了,后面加上绝对路径去掉server.mappath不就是啦!
ymeik 2004-09-19
  • 打赏
  • 举报
回复
数据库的路径要根据自己电脑里的内容来确定
写code的时候 应该在英文的状态下写
数据库联接有多种方法的,你可以在这个论坛里搜索 看一下
dxdong 2004-09-19
  • 打赏
  • 举报
回复
bluesky1314520(bluesky)
你说的复杂了些,我是在自己机子上试的,目录结构我在上面已经说明了,按这个目录到底应该怎么写相对路径的连接??
dxdong 2004-09-19
  • 打赏
  • 举报
回复
谢谢,大家的留言,可能我太笨了,我的QQ是10357226,加个QQ聊,这样方便些,谢谢!
bluesky1314520 2004-09-19
  • 打赏
  • 举报
回复
应该是你写的文件不在同一个文件夹下引起的,建议你写个server.mappath("/") + 一个数据库的相对地址比较好,当然本地调试的时候无所谓,直接写绝对路径就行了,如果放到网上,有直接域名的,就可以用server.mappath("/") + 数据库文件夹(直接在根目录就空着)+数据库文件名应该可以的!try!
dxdong 2004-09-19
  • 打赏
  • 举报
回复
唉,问题是我还不会asp,我是用DW做的,对于asp代码,我不是太懂,所以我现在要的是在那个对话框中填的内容

再一次感谢大家的帮忙

intergameover
你说的这些代码应该写在什么地方?建立连接后,DW自动在网站的目录下(mysky)生成了一个文件夹Connections,是在这个连接文件里写吗??
intergameover 2004-09-19
  • 打赏
  • 举报
回复
如果你的date文件夹和当前页面试同一个目录,那么你用这样的连接字符串
"provider=microsoft.jet.oledb.4.0;datesource=" & server.mappath("date/info.mdb")

输入代码要养成习惯,都在英文输入法下输入
dxdong 2004-09-19
  • 打赏
  • 举报
回复
"像你这server.mappath("data/info.mdb")这个路径其实是相对你当前引用页面来说的,你这个文件是放在和当前页面同一个目录里的"

这句是什么意思,是不是info.mdb这个数据库文件放的地方有问题??
dxdong 2004-09-19
  • 打赏
  • 举报
回复
chenxuchen

我按你说的写了,还是不行
Drowning 2004-09-19
  • 打赏
  • 举报
回复
不能用全角的符號
最好切換到英文狀態下輸入代碼
chenxuchen 2004-09-19
  • 打赏
  • 举报
回复
Driver={Microsoft Access Driver(*.mdb)};DBQ=”&server.mappath("data/info.mdb");
在这句里的Driver和(*.mdb)之间要有一个空格,而你现在的现在没有
像你这server.mappath("data/info.mdb")这个路径其实是相对你当前引用页面来说的,你这个文件是放在和当前页面同一个目录里的

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧