应用ASP ADO访问iFix数据库中的异常错误的分析与解(2)
发布时间:2021-06-11
发布时间:2021-06-11
iFix 文章
《工业控制计算机》!""#年$%卷第&期
时,该页面中可能会出现’()"**+的错误信息。该错误信息指出’()处理程序在处理该页面时出现错误并指出’()处理程序已对此错误进行了处理。错误信息提示如下:
,--.-/’()0**+/12,34,56,7,--.-895-:469;<=:>,2?@,A
’6-?44?B>,,--.-.55C--,7:2?2,36,-2?>.BD,56E5?22.65.26:2C,-C22:2H
!m
如果系统授权用户对一些自建组件,系统动态链接库WJKKX和注册键的文件没有足够的权限,就可能引起这样的错误。若是注册表的权限设置的问题,那可以用^,H,76&!E,3,检查注册键的权限。尤其是NJMO、d,6、’JN和其他可能引起这个问题的主键。
FG,95-:46
&E*E#\J’O版本导致的错误
\:5-.9.=6J?6?’55,99O.@4.2,269W\J’OX是微软公司
开发的数据存取组件,这个组件本身也存在错误,由此也有可能导致’()Y**+错误,解决该类错误的方法是去微软主页下载最新的\J’O版本,然后安装。
以德兴铜矿泗洲选矿厂实时监控系统为例,当过多用户访问查询历史数据网页时就可能会产生’()"**+的异常错误,由此异常错误导致II(停止响应,用户无法再继续查询历史数据。导致’()产生"**+错误的原因有很多,大致可以分为操作系统错误和程序错误两大方面的原因。
&E*操作系统方面的原因
&E*E*服务端程序的安装顺序导致的错误
在服务端操作人员以错误的顺序安装了新的软件后,一些新版本的JKK反而被旧版本的覆盖,在这些错误中,尤其应该注意的是当安装了任何一个涉及到LM+的数据组件时(JKK,,NOP)’JN的JKK文件并没有被LM+的安装程序中所带的旧版本给覆盖,LM+的安装程序而是将旧版本的JKK安装到Q:27.Q9R9S96,@或者Q:226R9S96,@&!目录中,并且在这些目录中注册了该JKK文件(它们将在服务器的注册表中替换掉新版本JKK在II(中的注册默认目录位置),要解决由于LM+带来的异常错误就是重新注册服务器中原来的JKK文件。
为了避免此类人为操作所造成的异常错误的发生,推荐以下列顺序安装服务端程序:
第一步:安装T:27.Q9UF#E0,
第二步:安装UF#E0N46:.2)?5VWII(#等X,第三步:安装UF#EY()#,第四步:安装(ZK(,-[,-,
第五步:安装\J’O(微软数据存取组件),第六步:安装I]+EY。
&E!程序设计方面的原因
(b.-@)出现错误&E!E*在’()提交表单
’()提交表单到处理页面时下列情况会引起异常错误产生:表单中的控件没有命名,解决该类错误的方法是给表单*)
中所有的控件命名。例如:
<:24C66S4,efF,36fA应该改成<:24C66S4,efF,36f2?@,ef6,36:24C6fA
在表单中必须确保有I24C6或者(,>,56控件,换句话说,!)
表单提交的时候必须传递I24C6或者(,>,56控件值到服务器。
&)当一个’()页面提交一个b.-@给本身时,没有给该
解决此类问题的方法就是给b.-@的b.-@的U?@,属性赋值,
U?@,属性赋值。
在编写JKK文件时没有声明类型本来为[?-:?26的变量#)
为[?-:?26也可能导致’()Y**+异常错误,所以在写程序的时候应该给每个变量进行类型定义。
&E*E!匿名账号没有足够的权限访问查询数据所需的资源
用户通过服务器上的匿名账号(I1(^_O.@4C6,-U?@,)访问网络服务器,而匿名帐号的权限决定了’()中需要访问到的
组件中某些函数的正确性,如果该匿名账号没有足够的权限读取查询数据所需的NJMOJKK文件,就可能会引起Y**+错误,解决该问题的方法是:
(默认为I1(^_O.@4C6,-U?@,)有权限读取下列*X使账号目录:
包含’()文件的目录;
&E!E!在’()文件中非法关闭OJN(,99:.2
如果在’()应用环境中非法关闭了OJN9,99:.2也会产生’()Y**+异常错误,解决此类异常错误的方法有两种:
*)程序员在脚本程序完成OJN操作时必须立即调用(,99:.2对象的K.H.==方法,既设定所有OJN对象的参数值为U.6G:2H。
在g>.B?>E?9?文件中使用(,99:.2_N2]27事件子程序!)
来确保关闭所有的OJN(,99:.2对象。&E!E&’()或’JN程序语法错误
在编写’()程序的时候,程序员通常会使用等号代替
例如:用<‘e^(E=:,>79W*X‘A来代^,94.29,ET-:6,方法,
替<‘^,94.29,ET-:6,^(E=:,>79W*X‘A,但是如果遗漏了等号,写成<‘^(E=:,>79W*X‘A则会导致异常错误。解决此类异常错误的方法是在写’()程序的过程中应用完整的^,94.29,E
规范程序写法,避免由语法错误所造成的异常错误。T-:6,函数,
另外如果调用了一个不存在的存储过程或者存储过程的参数值有下列错误时,也可能导致’()Y**+异常错误的产生:!存储过程参数没有赋值、"不正确参数值、#在存储过程中使用了
‘(S96,@^..6‘R9S96,@&!R目录;
‘(S96,@^..6‘R9S96,@&!R:2,69,-[R目录;网页的主目录(默认为OaRI2,6)CB);
注意:如果已经应用’JN进行查询,那么该账号也必须在
OaR)-.H-?@b:>,9RO.@@.2b:>,9R(S96,@R.>,7B和OaR)-.cH-?@b:>,9RO.@@.2b:>,9R(S96,@R?7.目录中拥有读权限。
使账号有权限对实际的数据库文件和该文件所在的目录!)
进行写操作。
使账号有权限对系统临时目录进行写操作:&)
d,6数据引擎会在操作过程中将临时文件存放在系统临时文件的目录中,所以需要账号有权限对临时目录进行读写的操作,因此需在系统的’C6.,3,5EB?6文件中加入:
(,6F]\)eOaRF,@4(,6F\)eOaRF,@4
(ZK保留字W如:(]OFINUX。!结束语
文章通过分析应用’()h’JN访问:b:3数据库的方法,详细分析了产生’()"**+异常错误的原因。从操作系统方面和
程序设计方面归纳论述了异常错误产生的原因,并且逐一阐述了在特定条件下解决异常错误的方法,对于其他程序员解决类似问题具有借鉴意义。
参考文献
*!
I26,>>C6:.2W中国X:b:3中文!ij版电子文档,!""*
李劲i精通’()数据库程序设计k\li北京:科学出版社,!""*
[收稿日期:!""&imi!#]
&E*E&文件或注册键的权限和授权认证有误
上一篇:环评技术咨询合同