ASP中数据库调用时常见错误的现象和解决

合集下载

运行ASP时的常见错误类型和排解方法

运行ASP时的常见错误类型和排解方法

运行ASP时的常见错误类型和排解方法由于ASP仍然是当前比较流行的网站编辑语言,而且相对于其它几门语言,它简单易用。

因为简单,所以许多开发者也不会去思考错误处理,但错误处理不仅能培养良好的编程习惯、使程序完美,而且可以防止不必要的数据暴露,保证网站安全。

ASP主要有以下三种错误类型:1、编译错误:这种错误出现一般都是代码的语法问题。

因为编译错误而导致ASP停止运行。

错误类型:ADODB.Field (0x800A0BCD)BOF 或EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

原因:你在利用SQL查找数据库的记录时,查找结果为空,而且你没有对空记录的情况做出处理。

解决:1如果你不相信查找结果为空,那你应该考虑你的SQL语句是否正确;2如果确实有空的情况,那你应该添加”if rs.eof then”或者”do while not rs.eof”之类的语句,对eof的情况进行处理。

错误类型:(0×80020009)发生意外。

原因:也是在利用SQL查找数据库记录时,查找结果为空,而且你在后面的代码中调用了rs(“aa”)之类的记录解决:要么同上,加上rs.eof的判断和处理,要么就是你的SQL语句有误,导致记录查不出来,也就无法在后来使用rs(“aa”)的记录了。

错误类型:Active Server Pages, ASP 0126 (0×80004005)找不到包含文件…xxx.asp'。

原因:就如错误提示所说,不存在这个包含文件。

解决:如果你确定有这个文件,那么就是你的路径写错了,比如说其实他相对于网站根目录的路径应该是inc/xxx.asp,那么include里面就应该写inc/xxx.asp,而不仅仅是xxx.asp。

错误类型:Microsoft OLE DB Provider for ODBC Drivers (0×80004005)[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。

ASP编程典型错误与解决方法

ASP编程典型错误与解决方法

Dreamweaver 中ASP编程典型错误与解决方法一、名称重定义错误提示:解决方法:去掉其中一个变量的定义,即只定义一次变量即可。

二、vbscript语句错误表现:三、数据库错误解决方法:关闭用ACCESS打开的数据库即可解决四、内部服务器错误表现:这类错误一般是由代码错误或语句错误或语句排列顺序引起的,如下例:解决方法:将图中蓝色光带部分挪到<body>标签下面即可。

五、代码中指明打开的窗口无法打开表现:</script>缺失,加上即可,如下图:网页在IE中预览后出现乱码七、没有打开表造成的错误解决方法:打开表,如下图:八、没有打开数据库造成的错误,特别是由于临时编写代码,在文件顶部加了代码,结果造成没有打开数据库就在使用记录集、SQL等问题。

九、浏览器提示语句未结束:其根本原因在于,忘记了SQL语句中的单引号、双引号、&的使用规则。

改正即可。

dim rssc,sqlscset rssc=server.CreateObject("adodb.recordset")sqlsc="select * from shangpin where s_name in ( select s_proname from shoucang where s_username='"&request.cookies("shop")("username")&"')" rssc.open sqlsc,conn,1,1十、BOF错误等这类错误一般是由于没有正确地发送有关参数(如ID、name)造成的,特别是没有正确地定义变量,从而造成从数据库中找不到相关信息。

十一、dreamweaver配置的网站错误,打不开。

由于没有用到DNS,所以用了localhost,所以出错了。

在ASP中常见的错误80004005信息和解决办法

在ASP中常见的错误80004005信息和解决办法

在ASP中常见的错误80004005信息和解决办法错误信息(错误信息我不用翻译成中文了吧,呵呵,大家谅解)Microsoft OLE DB Provider for ODBC Drivers error '80004005'[Microsoft][ODBC Microsoft Access 97 Driver] The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data.原因:这个错误发生在当IIS使用匿名帐号(通常是IUSR)时,该帐号在NT中对数据库所在的目录没有正确的权限.(这就是为什么在Win95和PWS下没问题,因为win95根本就没有目录权限这一说)检查文件和目录的权限. 确定你能够在该目录中有能够新建和删除临时文件的权限。

这些临时文件其实是数据库建立在同一个目录下的文件, 但是要注意的是,有可能这些文件也可能建立在别的目录,例如 /Winnt.使用NT的文件监视程序监视文件失败时到底是访问了什么目录。

这个NT的文件监视程序可以在这个地方下载.如果你对数据库使用了一个网络地址,例如映射地址,就要检查一下共享文件和目录的权限,还要检查一下数据源文件(DSN)是否被别的程序标志成为正在使用中,这些别的程序一般是Visual InterDev,关闭任何一个InterDev中的正打开和数据库连接的项目。

这个错误还可能发生在这种情况:如果在DSN中使用了一个UNC路径(就是通用命名协议),请改用本地路径进行测试,因为如果对本地数据库使用UNC也可能出错。

还可能发生在这种情况,如果服务器要访问Access中的一个表,而这个表却联接在一个网络服务器上。

Asp连接access数据库时,报未知错误及错误码-2147467259的解决方案

Asp连接access数据库时,报未知错误及错误码-2147467259的解决方案

Asp连接access数据库时,报未知错误及错误码-2147467259的解决方案Asp连接access数据库时,报未知错误及错误码-21474672 59的解决方案ASP程序连接access数据库的代码如下:<%set conn=server.createobject("adodb.connection")'连接数据库的方法1:使用oledbstr="provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("学习.mdb")conn.open str%>结果在服务器上运行该程序时提示如下错误:err.Number显示的是-2147467259,err.Description显示的是“未知错误”迷惑了很久,当时在课堂上一直找不到原因。

之前运行其他ASP 程序都是好好的,一遇到数据库就出错了。

很尴尬,跟学生解释说服务器出了点小问题,随后我解决了再告诉大家。

硬着头皮接着讲课,其实很心虚。

一下课,猛蹬着自行车回到家中,立马上网搜索答案。

找了很久,决定下次上课试试这些方法行不行。

下次上课我提早到教室。

心说这次解决不了那以后就回机房上课好了。

结果一次就成功了!欢呼!解决方案:为”C:\Windows\T emp“目录添加用户Authenticated Users,为该用户开放所有权限。

(1)WindowsXP、Windows 2003用户请在“C:\Windows\T emp”目录添加一个有权限的“Authenticated Users”用户即可!Vista用户请在“C:\Windows\ServiceProfiles\NetworkService\AppData\Local\T emp”目录添加一个有权限的“Authenticated Users”用户即可!具体设置权限步骤:右击T emp文件夹,选择“属性”->“安全”->“编辑”->“添加”,在下面的“输入对象名称来选择”中输入Authenticated Users,确定-> 返回到“Temp 的权限”,将Authenticated Users的权限中的完全控制给勾上。

asp数据库打开问题总结

asp数据库打开问题总结
'name值为“张强”
DataConn.Execute(“INSERT INTO tbl_test VALUES(`1 ',`张强 '”)
'关闭Connection对象
DataConn.Close
你的ASP书上应该有的:我有点资料,你看看有用么?
在所有与Internet有关的技术领域中,数据库存储和管理是最古老,也是当前最有用的,特别是当它被赋予了Web的交互界面之后,对数据库的存储与管理已经上升到一个新的高度。而随着Internet的迅速发展,首先面临的困难是基于传统CGI技术的交互性页面和Web数据库访问等功能实现复杂,开发周期长,难以适应当今快节奏的企业运作环境。ASP技术就是在这样的需求中应运而生的,ASP(Active Server Pages-动态服务器主页)是一个服务器端的脚本执行环境,它通过对*.asp文件进行解释执行,能构建一个动态、交互、高效的Web服务器应用。ASP提供了一种类似于VbSctipt的可执行脚本语言,并带有许多内置对象,从而极大地简化了Web的应用开发工作,本文着重介绍ASP中的Web数据库访问技术。
DataConn.Mode=3
'通过DSN(person)建立Connection对象DataConn同数据库间的连接
DataConn.Open “person”
'用Execute方法执行SQL语句在表tbl_test中增加一条记录,其中id值为“1”
adOpenStatic 3 静态游标,它是所访问的记录集的拷贝,看
不到其它用户对数据库的修改
AdOpenDynamic 2 动态游标,可以看到其它用户对数据库的添
加、删除和修改等操作,允许游标向前或向

asp.net常见问题及解决方法

asp.net常见问题及解决方法

【标题】常见错误,原因及解决方法【错误提示】异常详细信息: .WebException: 请求因HTTP 状态401 失败:Unauthorized。

源错误:行35:[System.Web.Services.Protocols.SoapDocumentMethodAttribute("/HelloWorld", RequestNamespace="/", ResponseNamespace="/", Use=System.Web.Services.Description.SoapBindingUse.Literal,ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]行36:public string HelloWorld() {行37:object[] results = this.Invoke("HelloWorld", new object[0]);行38:return ((string)(results[0]));行39:}【原因分析】1、用的是windows2003,.net framework1.1,.net20032、应该有权限访问,因为原来用程序是可以的,现在用IE 去访问还是可以的,但程序不行;3、iis 没有什么异常,从iis 里面直接浏览调用web 方法没有问题;4、认证方式没有改变一直用的都是windows,改成none 也不行;5、一开始就安装了WSE1.1,是可以的,后来升级到WSE2.0,就不行了,然后卸载了WSE2.0,装上WSE2.0 SP1 还是不行,后来又卸载掉WSE2.0 SP1 还是不行,再重装WSE2.0 SP1 还是不行,不得其解,现在试试卸载掉WSE2.0 SP1 重新用WSE1.1 看行不行,请各位多多帮忙啊。

ASP程序错误及处理

ASP程序错误及处理
Ab ta t s r c :Th s p p rito u e h P p o r m h e o i a e n r d c s t e AS r g a tr e c mmo y e fer r ,p o o e o e e tv l n tp so ro s r p s st f ciey p e e teT r n t s e t n ro n ln ft e t r e meho s r v n lo i wo a p c sa d e rrha d i g o h h e t d . s Ke r s: AS r g a ;s rp ro s ro a l g y wo d P po rm c i te r r ;e r rh ndi n
2 08 .— . . —
和缩 进编排 虽然 与程 序 运行 本 身 无关 , 对 于 查 找 但 错误 位置显 得更加容 易 明显 。利 用格 式化 和缩 进来 显 示程序 的逻辑 结构 , 每层缩 进一个 T b长度 , 样 a 这 使 程序更 加清 晰和易 于阅读 , 特别 在 嵌 套很 多 的代
理发 现 的错误 。
2 防止 A P程序 脚本错误 的有效方 法 S
2 1 培养 良好 的编程 习惯 .
作 为一 名程序 开 发人 员 , 重 要 的一 件事 就 是 最
防止应 用 程序失败 , 尽量 控制潜 在错误 的个数 , 确 更 切 的说 , 是要合 理有 效 地处 理 脚 本 中可 能 出现 的 就 任何错 误 , 确保 不 会引起 A P应 用 的失 败 。培养 良 S 好 的编 程 习惯 能最 大 限 度地 避 免程 序 中 出现 错误 ,
可以包 含 H M T L标 记 、 通 文 本 、 本 命 令 以 及 普 脚 C M 组件等 。利用 A P可 以向 网页 中添加 交 互 式 O S 内容 , 也可 以创建使 用 H ML网 页作 为 用 户 界面 的 T

asp连接access数据库时报未知错误及错误码-2147467259的解决方案

asp连接access数据库时报未知错误及错误码-2147467259的解决方案

Asp连接access数据库时,报未知错误及错误码-2147467259的解决方案Asp连接access数据库时,报未知错误及错误码-2147467259的解决方案ASP程序连接access数据库的代码如下:&lt;%set conn=server.createobject("adodb.connection")'连接数据库的方法1:使用oledbstr="provider=microsoft.jet.oledb.4.0;data source=" &amp; server.mappath("学习.mdb")conn.open str%&gt;结果在服务器上运行该程序时提示如下错误:err.Number显示的是-2147467259,err.Description显示的是“未知错误”迷惑了很久,当时在课堂上一直找不到原因。

之前运行其他ASP程序都是好好的,一遇到数据库就出错了。

很尴尬,跟学生解释说服务器出了点小问题,随后我解决了再告诉大家。

硬着头皮接着讲课,其实很心虚。

一下课,猛蹬着自行车回到家中,立马上网搜索答案。

找了很久,决定下次上课试试这些方法行不行。

下次上课我提早到教室。

心说这次解决不了那以后就回机房上课好了。

结果一次就成功了!欢呼!解决方案:为”C:\Windows\Temp“目录添加用户Authenticated Users,为该用户开放所有权限。

(1)WindowsXP、Windows 2003用户请在“C:\Windows\Temp”目录添加一个有权限的“Authenticated Users”用户即可!Vista用户请在“C:\Windows\ServiceProfiles\NetworkService\AppData\Loc al\Temp”目录添加一个有权限的“Authenticated Users”用户即可!具体设置权限步骤:右击Temp文件夹,选择“属性”-&gt;“安全”-&gt;“编辑”-&gt;“添加”,在下面的“输入对象名称来选择”中输入Authenticated Users,确定-&gt; 返回到“Temp 的权限”,将Authenticated Users的权限中的完全控制给勾上。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

下面是虚机维护中,经常碰到的一些ASP程序中的数据库调用的错误,现收集整理如下:ADODB.Recordset 错误'800a0bb9'
变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。

产生错误可能原因:
1.这个错误多出现在类似语句处:“rs.Open sql,conn,1,1”,原因是数据库连接conn对象未打开。

――――――――――――――――――――――――――――――――――――
不能打开注册表关键字(8007000e)
Microsoft OLE DB Provider for ODBC Drivers 错误'8007000e'
[Microsoft] [ODBC Microsoft Access Driver]常见错误不能打开注册表关键字'Temporary (volatile) Jet DSN for process 0x11b4 Thread 0x1a4c DBC 0x9d34354 Jet'。

产生错误可能原因:
1.打开数据库时写法不对,标准的ACCESS数据库调用写法:
"driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("db.MDB")
2. 正在上传数据库文件。

――――――――――――――――――――――――――――――――――――
参数不足,期待是1 (80040e10)
Microsoft OLE DB Provider for ODBC Drivers 错误'80040e10'
[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是1。

产生错误可能原因:
1.打开数据的SQL查询语句WHERE后面条件子句有问题,一般是缺少逻辑比较符号或者是字段名不正确。

――――――――――――――――――――――――――――――――――――
一般性网络错误。

请检查网络文档(80004005)
Microsoft OLE DB Provider for ODBC Drivers 错误'80004005' [Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]一般性网络错误。

请检查网络文档。

产生错误可能原因:
1.数据库连接书写不正确,可能数据库名、服务器名错误。

2.数据库服务器重启中。

――――――――――――――――――――――――――――――――――――
不能使用'';文件已在使用中(80004005)
Microsoft JET Database Engine 错误'80004005'
不能使用'';文件已在使用中。

产生错误可能原因:
1.文件可能正被占用:上传、压缩、打包。

2.可能程序代码中形成了嵌套包含,重复包含的数据库调用文件。

――――――――――――――――――――――――――――――――――――
不能更新。

数据库或对象为只读/操作必须使用一个可更新的查询(80004005)
Microsoft OLE DB Provider for ODBC Drivers 错误'80004005'
[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。

Microsoft OLE DB Provider for ODBC Drivers 错误'80004005' [Microsoft][ODBC Microsoft Access Driver] 不能更新。

数据库或对象为只读。

产生错误可能原因:
1.数据库文件权限不够。

2.文件占用空间达到磁盘限额上限。

――――――――――――――――――――――――――――――――――――
未发现数据源名称并且未指定默认驱动程序(80004005)
Microsoft OLE DB Provider for ODBC Drivers 错误'80004005'
[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
产生错误可能原因:
1.使用了ODBC连接数据库,服务器上没有配置ODBC数据库,改用OLEDB的标准调用方式:"Driver={SQL Server};Database=dbname;Server=srv;Uid=user;Pwd=pd"可以解决
Provider 错误'80004005' ――――――――――――――――――――――――――――――――――――Microsoft OLE DB Provider for ODBC Drivers 错误'80004005'
未指定的错误
/pcn/conn.asp,行8
产生错误可能原因:
1.从出现错误的页面名称来看,是连接数据库时出现的问题。

最大的可能是无法连接数据库,和上面“一般性网络错误。

”是同性质的问题。

这时需要检查数据库服务器是否正常。

这类错误一般出现在连接MS SQLServer 数据库上。

ADODB.Recordset 错误'800a0e7d' ――――――――――――――――――――――――――――――――――――ADODB.Recordset 错误'800a0e7d'
连接无法用于执行此操作。

在此上下文中它可能已被关闭或无效。

/index.asp,行9
产生错误可能原因:
1.在程序中使用了一个已经关闭或者是还没打开的数据库连接。

Server.CreateObject 失败――――――――――――――――――――――――――――――――――――
服务器对象错误'ASP 0177 : 800401f3'
Server.CreateObject 失败
/xxxxx.asp,行155
无效的ProgID。

若要获取关于此消息的更多的信息,请访问Microsoft 联机支持站点: /contentredirect.asp 。

产生错误可能原因:
1.该错误多数出现在创建组件时,说明程序使用的组件,服务器不支持,需要注册所用的组件。

常见于各种使用了上传组件的ASP页面。

附:一些数据库连接字符串写法
[点击此处收藏本文]
发表于2004年09月01日3:36 PM
jass 发表于2004-10-23 10:51 PM
你好,我有一个asp也出现了ADODB.Recordset 错误'800a0bb9'
错误,你说这个是因为数据库连接conn对象未打开,可我看了看conn.asp文件没有问题,好象数据库连接没有问题呀。

你碰到这个问题是怎么怎么解决的呀,能不能说说经验?
fogdragon 发表于2004-11-15 9:36 PM
把你的ASP程序贴一部分上来看看。

conn.asp和出错附近的一段代码。

zxh 发表于2005-01-27 11:47 AM
ADODB.Recordset 错误'800a0e7d'
连接无法用于执行此操作。

在此上下文中它可能已被关闭或无效。

/default15.asp,行407
fogdragon 发表于2005-03-07 10:20 AM
这个错误常见用了一个前面已经关闭的Recordset或者conn对象,或者是用Recordset的时候忘记打开数据库连接对象Conn。

fish 发表于2005-04-12 10:26 AM
我刚才就解决了“ADODB.Recordset 错误'800a0e7d'
连接无法用于执行此操作。

在此上下文中它可能已被关闭或无效”这个问题,主要是提示中的“连接”、“上下文”和“关闭”这三个关键词。

肯定在程序的前面就有地方直接或者间接(包括<!--#include files=……-->等等)引用了预先声明过的定义数据库连接词conn,修改不同的引用就可以了!。

相关文档
最新文档