有关access的几则小错误及其解决方案

1。未找到关键字
   这不是由于程序问题而是数据库损坏造成的这种假象,“工具-->数据库实用工具-->压缩修复数据库“这样也就OK了。

2。 无法从指定的数据表中删除
   这是由于硬盘使用NTFS格式时出于安全考虑才会出现这样的问题的,如果用FAT32是没有这个问题的。解决办法,找到数据库右键单击选择“属性”-“安全”-“添加”将”IUSER_<HOST>“这个用户添加上去也就行了。

3。文件已在使用中
    关闭数据库文件也就行了。


4:  4005错误
   数据库设置正常,权限打开,select命令正常,而当使用update和insert命令时,出现rs或execute行4005错误。后来偶然发现,insert时,数据库内数据“自动编号”正常上升,而数据并未添加,考虑为数据表结构错误。将表内各子段均设置为“允许空字符串”后,故障排除,一切正常。

5.  ADODB.Recordset 错误 '800a0cc1'
    在对应所需名称或序数的集合中,未找到项目。

  答:在SQL语句中没有将这个字段选出来,或者数据库中没有这个字段。

6.① Response 对象 错误 'ASP 0251 : 80004005'
       超过响应缓冲区限制
       此 ASP 页的执行造成响应缓冲区超过其配置限制。
  
       答:请检查循环中是否缺少rs.movenext这条语句。

   ②Microsoft JET Database Engine 错误 '80004005'
      子查询最多能返回一个记录。

     答:SQL语句的子查询结果中出现了多条记录,但整个的SQL语句要求只有一条查询结果。
       要么改子查询,最多只能返回一条记录,要么改整个的SQL语句,允许子查询有多个的查询结果。
  ③Request 对象 错误 'ASP 0104 : 80004005' 不允许操作

  答:原因: 在Windows 2003 server + IIS 6.0 下,IIS6.0 禁止上传超过 200kB 的文件. 因此你需要修改 IIS 的默认设置.

技术背景
  在 IIS 6.0 中, AspMaxRequestEntityAllowed 属性指定了一个 ASP 请求(Request)可以使用的最大字节数. 如果 Content-Length 头信息中包含的请求长度超过了 AspMaxRequestEntityAllowed 的值, IIS 将返回一个 403 错误信息.
  这个属性值与 MaxRequestEntityAllowed 相似, 但是是针对 ASP 请求的. 假如你知道自己的 ASP 应用只需要处理很少的请求数据, 你可以在 World Wide Web Publishing Service (WWW 发布服务)层级设定全局的 MaxRequestEntityAllowed 属性为 1MB, 并单独设定 AspMaxRequestEntityAllowed 为一个较小的值.

解决方法
 先在服务里关闭iis admin service服务(net stop iisadmin)
 找到windows\system32\inesrv\下的metabase.xml,
 打开,找到ASPMaxRequestEntityAllowed 把他修改为需要的值,默认为204800,即200K
 然后重启iis admin service服务(net start iisadmin)

打开位于 C:\Windows\System32\Inetsrv 中的 metabase.XML, 并修改 AspMaxRequestEntityAllowed 为你需要的值(例如 "1073741824", 1GB).

然后:iisreset. 汗……

另摘网上:
-->但是重起IIS后,出现:Service Unavailable

答:到微软站点载了IIS6 Resource Kit Tools(http://www.microsoft.com/downloads/details.aspx?FamilyID=56FC92EE-A71A-4C73-B628-ADE629C89499&displaylang=en),安装后利用Metabase Explorer修改了(local)\LM\W3SVC\AspMaxRequestEntityAllowed属性(默认为200K= 204800),修改为1G就是了;同时修改了AspScriptTimeout属性调整下时限,就可以上传大文件了。 

7.  Microsoft JET Database Engine 错误 '80040e14'
    丢失 ), ], 或项目 在查询表达式 'adYear=max(adYear) and mMonth=(select adMonth from adIndex where adYear =max(adYear)' 中。

  答:这是因为sql语句中少了‘)’。

8。 Microsoft JET Database Engine 错误 '80040e14'
    WHERE 子句 (adYear=max(adYear)) 中不能有合计函数。

  答:where 后面不能跟合计函数,但可以写成adYear=(select max(adYear))。


9。 Microsoft JET Database Engine 错误 '80040e10'
    至少一个参数没有被指定值。

   答:SQL语句中出现数据库没有的字段。


10。  Microsoft VBScript 编译器错误 错误 '800a03ea'

   语法错误
    <%if Companyxingzhi="私有企业" then response.write("&nbsp;selected style=""color:#ff0000;"" ")>%> >私有企业</option>

   答:看到了吧,里面含有>这个字符。大多是因为多了ASP里面的符号。


11。①   Microsoft JET Database Engine 错误 '80040e14'
          语法错误 (操作符丢失) 在查询表达式 'mMonth order by mYear desc' 中。
 
         答:SQL语句中缺少表。

      ②Microsoft JET Database Engine 错误 '80040e14'
         无效的模式字符串

      答:SQL语句like中出现了不合法的语法错误。比如:[],()等.

12。   Microsoft JET Database Engine 错误 '80040e24'
     行集不支持反向提取。

   答:游标集只能向前,改为rs.open sql,conn,1,1 就行了.

 
13。 Microsoft VBScript 运行时错误 错误 800a000d 是什么意思?
    出错信息如下:

    Microsoft VBScript 运行时错误 错误 800a000d

    类型不匹配: [string: "Y"]

    答:if request.querystring("ID")="" then
     elseif request.querystring("ID")=1 改为"1"
        这种问题才郁闷呢,有时候其它网页是正常的,但到了这个页面也就出现这种问题。

14。  Provider 错误 '80040e21'
        多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。

    答: 所接收的字段类型不一样。

15。① 错误 '80020009'

         答: 可能1,此问题出现在分页上,由于没有给move指定参数导致移动到最前面或最后面。比如说:移动到最后面了,但此时并没有判断 rs.eof,于是还在取记录,于是就出现了这样的错误。

    ②错误 '80020009' 

     答:1. 在无限级菜单中,需要递归,但没有定义变量。这样在第二次递归时就会出现*对象*的相互覆盖,导致产生错误,只要在递归开始时定义变量,就不会出现这个问题.(错误一般是指向SQL语句)
      2. 有可能是语法错误:if rs.bof and rs.eof then response.write(rs(0))


16。缓冲区溢出
     
  答:①在查询的时候出现,这个问题有可能是在大量的数据中,特别是在“备注”字段中查询某个关键字时出现。
         ②日文假名片时会出现。

300*300
 文章首页关于迷茫时代关于我写意人生
版权所有:迷茫时代 All rights reserved   
执行时间:0.00587 秒