当前位置:编程学习 > asp >>

ASP访问ACCESS出错提示简要解释

答案:

在Asp页面中向记录集取长text型数据时,出现如下错误现象时:

MicrosoftOLEDBProviderforODBCDrivers错误'80040e21'

Errorsoccurred

可有以下三种解决办法:

(一)使用rs.opensql,conn,1,3方式打开记录集

(二)将该列放在第一列取出,比如comment里存放有较长的text内容,取记录集内容的时候,先来个comment=rs("comment")把这个捣蛋的东西先取出来放到内存变量中,然后再操作其它的字段。由于一般长text内容不会在第一个显示,因此一般都要取出来放到内存变量中。

(三)改为oledb方式连接数据库。在此方式连接数据库时,不会出现该错误(起码我没有遇到过)。在我的系统中,将现在的oledb连接方式改成odbc连接方式后,错误就马上出现了。

此错误怀疑是由于Asp向odbc返回的记录集取数据的机制有些问题造成。建议采用第三种方法避免该错误。

提问:
那么以下错误类型是什么意思
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'

The request properties can not be supported by this ODBC Driver


数据库字段长度不够

出错信息
Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
The request properties can not be supported by this ODBC Driver.
//_ScriptLibrary/Recordset.ASP, line 466


原因
When the Recordset DTC has the cursor location property set to "2 - Use Server Side Cursors" (the default value), it cannot return multiple recordsets.
当the Recordset DTC的游标设为2(服务器端游标,默认值)时,无法返回多个记录集

RESOLUTION
Under the Properties dialog box for the Recordset DTC, go to the Advanced tab and change the cursor location from "2 - Use Server-Side Cursor" to "3 - Use Client-Side Cursor."


asp错误代码
错误代码错误消息和扩展信息
ASP0100   Out of memory(内存溢出)
ASP0101   Unexpected error(函数返回e x c e p t i o n _ n a m e )
ASP0102   Expecting string input(期待字符串输入)
ASP0103   Expecting numeric input(期待数字量输入)
ASP0104   Operating not allowed(操作不允许)
ASP0105   Index out of range(数组下标溢出)
ASP0106   Type Mismatch(数据类型不匹配)
ASP0107   Stack Overflow(处理的数据量超过了允许的范围)
ASP0115  Unexpected error(出现在外部对象中的可捕获的错误e x c e p t i o n _ n a m e,脚本不能继续运行)
ASP0177   S e r v e r.CreateObject Failed(无效的P r o g I D )
ASP0190   Unexpected error(当释放外部对象时,出现的可捕获的错误)
ASP0191   Unexpected error(在外部对象的O n S t a r t P a g e方法中出现的可捕获的错误)
ASP0192   Unexpected error(在外部对象的OnEndPage 方法中出现的可捕获的错误)
ASP0193   OnStartPage Failed(在外部对象的O n S t a r t P a g e方法中出现错误)
ASP0194   OnEndPage Failed(在外部对象的OnEndPage 方法中出现错误)
ASP0240   Script Engine Exception(脚本引擎从o b j e c t _ n a m e抛出异常e x c e p t i o n _ n a m e )
ASP0241   CreateObject Exception(object_name的C r e a t e O b j e c t方法所导致的异常e x c e p t i o n _ n a m e )
ASP0242   Query OnStartPage Interface Exception(查询对象o b j e c t _ n a m e的O n S t a r t P a g e或O n E n d P a g e
方法所导致的异常e x c e p t i o n _ n a m e )

------------------
ADO 错误代码

除了在 Error 对象和 Errors 集合中说明的提供者错误之外,ADO 本身也将错误返回到运行时环境的异常处理机制之中。使用编程语言的错误捕获机制(如 Microsoft? Visual Basic? 中的 On Error 语句)可捕获及处理下列错误。下表将同时显示十进制和十六进制错误代码值。

常量名称         编号       说明
adErrInvalidArgument   3001   0x800A0BB9
 应用程序使用的参数其类型错误、超出可接受的范围或者与其他参数冲突。
adErrNoCurrentRecord   3021   0x800A0BCD
 BOF 或 EOF 为 True,或者当前记录已经删除。应用程序请求的操作需要当前记录。
adErrIllegalOperation   3219    0x800A0C93
 应用程序请求的操作不允许出现在该上下文中
adErrInTransaction   3246    0x800A0CAE
 在事务中应用程序无法显式关闭 Connection 对象。
adErrFeatureNotAvailable 3251    0x800A0CB3
 提供者不支持应用程序请求的操作。
adErrItemNotFound   3265      0x800A0CC1
 ADO 无法在对应于应用程序请求的名称或顺序引用的集合中找到对象。
adErrObjectInCollection  3367     0x800A0D27
 无法追加,对象已经在集合中。
adErrObjectNotSet   3420    0x800A0D5C
应用程序引用的对象不再指向有效的对象。
adErrDataConversion   3421    0x800A0D5D
 应用程序使用了不符合对当前操作的值类型。
adErrObjectClosed   3704     0x800A0E78
 如果对象关闭,则不允许应用程序请求的操作。
adErrObjectOpen   3705    0x800A0E79
 如果对象打开,则不允许应用程序请求的操作。
adErrProviderNotFound   3706    0x800A0E7A
 ADO 找不到指定的提供者。
adErrBoundToCommand  3707    0x800A0E7B
 应用程序无法用 Command 对象将 Recordset 对象的 ActiveConnection 属性更改为它的来源数据。
adErrInvalidParamInfo   3708    0x800A0E7C
 应用程序错误地定义了 Parameter 对象。
adErrInvalidConnection   3709    0x800A0E7D
 应用程序通过引用关闭或无效的 Connection 对象来请求对对象的操作。

-------------------------
VBScript 错误信息
--------------------------------------------------------------------------------


错误代码 信息
5 无效的过程调用或参数
6 溢出
7 内存不够
9 下标越界
10 数组长度固定或临时锁定
11 被零除
13 类型不匹配
14 字符串空间溢出
28 堆栈空间溢出
35 Sub 或 Function 未定义
48 加载 DLL 时出错
51 内部错误
53 文件未找到
57 设备 I/O 错误
58 文件已存在
61 磁盘已满
67 文件太多
70 没有权限
75 路径/文件访问错误
76 路径未找到
91 未设置对象变量或 With 块变量
92 未初始化 For 循环
94 无效的 Null 使用
322 无法创建必要的临时文件
424 要求使用对象
429 ActiveX 部件无法创建对象
430 类不支持 Automation
432 Automation 操作过程中,未找到文件名或类名
438 对象不支持此属性或方法
440 Automation 错误
445 对象不支持此操作
446 对象不支持命名的参数
447 对象不支持当前区域设置
448 未找到命名参数
449 此参数必选
450 参数个数错误或无效的属性赋值
451 对象不是集合
453 未找到指定的 DLL 函数
455 代码资源锁定错误
457 此键已和集合中的元素关联
458 VBScript 中不支持使用 Automation 类型的变量
500 变量未定义
501 非法赋值
502 用此对象进行脚本编程会出错
503 对象不能安全初始化
1001 内存不够
1002 语法错误
1003 缺少“:”
1004 缺少“;”
1005 缺少“(”
1006 缺少“)”
1007 缺少“]”
1008 缺少“{”
1009 缺少“}”
1010 缺少标识符
1011 缺少“=”
1012 缺少“If”
1013 缺少“To”
1014 缺少“End”
1015 缺少“Function”
1016 缺少“Sub”
1017 缺少“Then”
1018 缺少“Wend”
1019 缺少“Loop”
1020 缺少“Next”
1021 缺少“Case”
1022 缺少“Select”
1023 缺少表达式
1024 缺少语句
1025 语句未结束
1026 缺少整型常数
1027 缺少“While”或“Until”
1028 缺少“While”、“Until”或语句结尾
1029 局部变量或参数过多
1030 标识符过长
1031 无效的编号
1032 无效的字符
1033 未终止字符串常数
1034 未终止注释
1035 嵌套的注释
1037 “Me”关键字使用无效
1038 “Loop”缺少“Do”
1039 无效的“Exit”语句
1040 无效的“For”循环控制变量
1041 名称被重定义
1042 必须是行中的第一个语句
1043 无法为非 ByVal 参数赋值
1044 调用 Sub 时不能使用括号
1045 缺少字母常数
1046 缺少“In”
32766 True
32767 False
32811 未找到元素

服务器常见错误 
以下是通常服务器错误和问题解答的步骤。
●ASP 80004005
数据源文件名没有被找到没有默认的驱动说明 80004005
操作系统必须被更新查找 80004005
Microsoft Jet database引擎不能打开文件(未知) 80040

上一个:使用MFC快速实现网络编程
下一个:跟我学SQL:SELECT语句选项

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,