我有一个网站,用的是asp.net空间的虚拟主机,前一段一切正常。但是从昨天开始,出现了以下问题:
   系统对数据库的访问可能有一段时间(几个小时吧)是正常的,可以进行插入、删除、更新操作。但是过一段时间就会出现“ 操作必须使用一个可更新的查询”的错误,此时,不能再对数据库进行插入、删除、更新操作。过一两个小时后,又会自动恢复正常。
   出现错误时,查看数据库文件所放的目录,发现生成的ldb文件不见了(能进行正常访问时,有ldb生成)。一般情况下,对于错误原因已做了以下分析:
1。最普遍的原因是匿名用户帐号(IUSR_MACHINE)对该数据库文件没有写权限。
    这种情况应该是不可能的,因为前几天访问正常,而且现在也是断断续续地可以正常访问。
2、对MDB文件和文件夹没有写的权限
    这种原因也是不可能的,因为前几天访问正常,而且现在也是断断续续地可以正常访问。
3、没有用到DSN。
4、同时更新两个表中的字段,也会出现这个错误信息
    没有同时更新两个表中字段的SQL;
5、使用了一个从低版本中(如ACCESS2.0,ACCESS7.0)载入到高版本(ACCESS 2000)
中的查询时
    不会是这种情况。
6、数据库的打开模式问题
    原来在ASP中使用ADO时,有打开模式问题,要设为 adModeReadWrite,但在ASP。NET中C#下,好象没有这个选项。  综上各常见原因,感觉都不对。如果是并发访问造成的问题,但不应该一直出这个错误吧(一般出错时会持续一段时间)。各位高手有什么想法,给点儿意见吧,分可以继续加,偶可用的分还有很多!!!PS:如果有人重复我上面的几点分析,还是请少打几个字,直接帮我顶一下吧。顶的有分喔。

解决方案 »

  1.   

    呵呵,“ qzb0818(bob) ”的意见不错,可惜我用的是虚拟主机,系统问题没办法管理、解决。
      

  2.   

    TO:“ gdami(糖米) ”,我的空间有100M大,只用了十几M,空间还是有的。
      

  3.   

    我也出现过这种问题,是access数据库引起的,可能是由于你要操作的表中有多余的记录造成的,你可以把出错的表中的数据先备份,然后删掉某些记录,查出影响此操作的记录删除掉就行了
      

  4.   

    就连微软的PRB也就说了这么些个可能问题。还能有什么呢。。