主题:  程序调试出错专答区

蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#12005/1/30 20:13:56
涉及程序调试、错误的问题,在些专答


非常大鱼

{ 在指尖上绽放的花朵 }

职务:普通成员
等级:5
金币:14.0
发贴:3209
#22005/1/30 21:09:59
第一个来支持下~~~~



hailang828

职务:普通成员
等级:1
金币:0.0
发贴:6
#32005/1/30 23:43:47
用DW制作Asp留言本时连接数据库出错

在DW制作Asp留言本,做到连接数据库时,如下面的文章:

用Dreamweaver MX 2004设计属于你自己的留言本(四)留言板各页设计 ③连接数据库
www.5d.cn/5dmedia/web/dreamweaver/tips/20031118/00003085.htm

如下图,测试:成功创建连接脚本。
具体设置:
连接名称:conn
连接字符串:"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("/myasp/Mymdb.mdb"
Dreamweaver 应连接:使用测试服务器上的驱动程序


图片如下:



接下来一步就出错了,如下图,为什么?怎么解决?

图片如下:



如果使用“使用此计算机上的驱动程序”的方法,和“新建数据源名称(DSN)”都能获取Mymdb.mdb中的表。


还有:

如果用“使用此计算机上的驱动程序”的方法,和“新建数据源名称(DSN)”的方法,制作的asp网页,在本地硬盘IIS中可以打开预览,上传到asp空间后,则无法打开显示。为什么?怎么解决?

所以,我就想用“使用测试服务器上的驱动程序”方法连接数据库,看看在本地硬盘IIS中和上传asp空间后能否都打开显示。但是现在做到连接数据库时无法获取数据库中的表。



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#42005/1/30 23:54:31
我没用过DW连接数据库,一般个人不喜欢这样方法,也不推荐这样使用。
字符连接以前版本好象不支持相对路径,只支持绝对路径。你可以试试,把Server.MapPath去掉,换成绝对路径再试。

DSN需要服务商为你设置,自己是无法设置ODBC链接的,所以一般使用均用字符串连接。如果服务器是自己可以管理的,则使用DSN是好方法。


非常大鱼

hailang828

职务:普通成员
等级:1
金币:0.0
发贴:6
#52005/1/31 0:23:16
文章:
菜鸟也学DW做ASP。(数据库显示篇)
www.5d.cn/5dmedia/web/dreamweaver/basic/20031029/00002988.htm


使用此计算机上的驱动程序”的方法,即“用字符串连接”的一种,设置硬盘中的绝对路径如下,在硬盘中的IIS中可以打开预览显示:
DRIVER={Microsoft Access Driver (*.mdb)};DBQ=F:\myasp\Mymdb.mdb

那么上传到空间后,路径怎样设置?


(对不起,版主,我不懂你们这儿的发贴规则。)



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#62005/1/31 0:41:27
该帖子上已经有了,再复述一下:
连接字符串应该用专门一文件保存,如conn.asp,其实该文件的目的就是保存这个
strConnection = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=F:\myasp\Mymdb.mdb"

我的做法,在该文件中
<%
dbPath = Server.MapPath("/myasp/mymdb.mdb")
strConnection = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & dhPath
%>

其它文件用includ包含进来,如:
<!--#include file="conn.asp"-->

<%
conn = Server.CreateObject("ADODB.Connection")
conn.Open strConnection
%>

在调试时,只要把dbPath换成绝对路径,就可在本机用了。


非常大鱼

hailang828

职务:普通成员
等级:1
金币:0.0
发贴:6
#72005/2/1 21:30:31
版主讲的好像是asp纯文本编辑的方法。asp语言,我不懂,因此只能利用工具软件先学着制作,所以就用DW了。
“我佛山人”的文章没有错。我试了两个晚上,发现问题是在操作系统上:Win2000,按原作者的方法,成功;在WinXP SP2下制作就出现上面我的问题,且有“HTTP405错误,不能这样连接”的错误。



guchao911

职务:普通成员
等级:1
金币:0.0
发贴:64
#82005/2/6 20:07:11
<!--#include file="head.asp" -->
<%
if request("action") = "send" then
    frommail = Trim(Request.Form("frommail"))
    tomail = Trim(Request.Form("tomail"))
    if Trim(Request.Form("mailsubject"))<>"" then
        mailsubject = Trim(Request.Form("mailsubject"))
    else
        mailsubject = Trim(Request.Form("mailsubject1"))
    end if
    mailbody = Trim(Request.Form("mailbody"))
    
    if tomail<>"" then
        Set objCDOMail = Server.CreateObject("CDONTS.NewMail")
        objCDOMail.From = frommail
        objCDOMail.To = tomail
        objCDOMail.Subject = mailsubject
        objCDOMail.Body = mailbody
        objCDOMail.Send
        Set objCDOMail = Nothing
    else
        Set objCDOMail = Server.CreateObject("CDONTS.NewMail")
        objCDOMail.From = frommail
        sql="select mail from mail"
        set rs=conn.execute(sql)
        Response.Write("正在邮件群发.................." )
        do while not rs.eof
            objCDOMail.To = rs(0)
        RS.MoveNext
        Loop
        rs.close
        objCDOMail.Subject = mailsubject
        objCDOMail.Body = mailbody
        objCDOMail.Send
        Set objCDOMail = Nothing
    end if
    Response.Write "<script>alert(""发送成功"");location.href=""main.asp"";</script>"
    Response.End
end if
%>
<form name="sendmail" action="?action=send" method="post" >

<table border="0" cellspacing="1" cellpadding="4" width="80%" align="center" bgcolor="#797161">
<tr bgcolor="#ffcf00">
<td height="30" colspan="2" align="center">发 送 邮 件</td>
</tr>
<tr bgcolor="#f6f6f6">
<td height="25" width="20%" bgcolor="#f6f6f6">发信人地址:</td>
<td height="25" width="80%">
<input type="text" name="frommail" value="<%=frommail%>">
</td>
</tr>
<tr bgcolor="#f6f6f6">
<td height="25" width="20%" bgcolor="#f6f6f6">收信人地址:</td>
<td height="25" width="80%">
<input type="text" name="tomail">
<br>
<br>
(如果为空,从数据库取地址群发!) </td>
</tr>
<tr bgcolor="#f6f6f6">
<td height="25" width="20%" bgcolor="#f6f6f6">信件标题:</td>
<td height="25" width="80%">
<input type="text" name="mailsubject" size="50">
             <input type="hidden" name="mailsubject1" value="<%=mailsubject%>">
<br>
<br>
(如果为空,则显示“<font color="red"><%=mailsubject%></font>”!) </td>
</tr>
<tr bgcolor="#f6f6f6">
<td height="25" width="20%" bgcolor="#f6f6f6">信件内容:</td>
<td height="25" width="80%">
<textarea name="mailbody" cols="50" rows="8"><%=mailbody%></textarea>
<br>
<br>
</td>
</tr>
<tr bgcolor="#f6f6f6">
<td height="10" colspan="2" align="center"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="submit" name="Submit" value="发送">
<input type="reset" name="Submit" value="取消">
</td>
</tr>
</table>
</form>

<!--#include file="copy.asp" -->


错误类型:
Server 对象, ASP 0177 (0x800401F3)
无效的类别字符串
/mail/main.asp, 第 14 行




{ 在指尖上绽放的花朵 }

职务:普通成员
等级:5
金币:14.0
发贴:3209
#92005/2/6 22:15:52
To guchao911~~

14 行内容~~ Set objCDOMail = Server.CreateObject("CDONTS.NewMail")


可能是免费空间 不支持 cdonts,也可能是免费空间没有MS SMTP Server



guchao911

职务:普通成员
等级:1
金币:0.0
发贴:64
#102005/2/6 22:17:43
我在本机上测试,也有问题啊!!!!!!!!!!!

编辑历史:[此帖最近一次被 guchao911 编辑过(编辑时间:2005-02-06 22:22:54)]


蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#112005/2/6 23:18:26
本机内调试,需要安装一下邮件服务器,并且需要有CDONETS邮件组件的支持。一般会费空间支持jmail的比较多,功能也较强。


非常大鱼

guchao911

职务:普通成员
等级:1
金币:0.0
发贴:64
#122005/2/7 13:40:52
蓝鲸说的对,付费空间就不会出错了。
但我发了几封邮件,都没收到,难道对免费邮箱不支持吗?



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#132005/2/7 21:35:09
也有可能是没发出邮件,可以用常规方法发送到目标信箱,如能收到,说明邮箱是好的。
现在大多数邮件服务器需要身份验证,所以在发送时需要设置帐号密码。


非常大鱼

guchao911

职务:普通成员
等级:1
金币:0.0
发贴:64
#142005/2/12 17:59:51
小弟下了动网错误类型:
Microsoft VBScript 运行时错误 (0x800A005E)
无效使用 Null: 'Replace'
/dvbbs7.0.0/dvbbs7.0.0/toplist.asp, 第 144 行


浏览器类型:论坛,点击用户列表,就出现以下错误:



guchao911

职务:普通成员
等级:1
金币:0.0
发贴:64
#152005/2/12 18:53:13
小弟下了动网论坛,点击用户列表,就出现以下错误:
Microsoft VBScript 运行时错误 (0x800A005E)
无效使用 Null: 'Replace'
/dvbbs7.0.0/dvbbs7.0.0/toplist.asp, 第 144 行

具体代码:TempStr1 = template.html(8)
    For i = 0 To Ubound(SQL,2)
        TempStr2 = TempStr1
    (144行)    TempArray = Split(Dvbbs.HtmlEncode(Replace(SQL(3,i),"'","\'"),"|||"
        TempStr2 = Replace(TempStr2,"{$userid}",SQL(7,i))
        TempStr2 = Replace(TempStr2,"{$username}",Dvbbs.HtmlEncode(SQL(0,i)))
        TempStr2 = Replace(TempStr2,"{$adddate}",SQL(5,i)&""
        TempStr2 = Replace(TempStr2,"{$userclass}",SQL(2,i))
        TempStr2 = Replace(TempStr2,"{$article}",SQL(4,i))
        TempStr2 = Replace(TempStr2,"{$wealth}",SQL(6,i))
        TempStr2 = Replace(TempStr2,"{$homepage}",TempArray(0))
        TempStr2 = Replace(TempStr2,"{$oicq}",TempArray(1))
        TempStr3 = TempStr3 & TempStr2
    Next