在ASP中使用CONN.EXECUTE(sqlstr)的方法提交SQL语句(insert),提交后在另一个页面中使用SELECT显示刚刚INSERT的结果,可以显示生成的记录。此时打开SQL SERVER中刚刚操作的表,却出现该表“死”现象,无法显示其中数据,一会儿后,出现“超时已过期”的错误提示。刷新刚刚SELECT的页面,之前可以显示的数据没了,数据库表此时可以正常打开,但刚刚插入的数据也已丢失。在查询分析器中执行该语句,完全正常,数据不会丢失。这种丢失修改数据的情况不是一直出现,出现的概率在连续执行INSERT时更大。
请问这是什么问题呢?

解决方案 »

  1.   

    是不是ASP中设置了数据库的某个选项,需要commit?
      

  2.   

    数据库中并没有设置事务,但SQL SERVER中使用了存储过程,其中有“事务”,但是系统在使用普通INSERT语句时,也会出现丢失数据的情况。
    今天又发现了个问题,就是在注册用户的时候,注册一个用户,然后停5分钟左右再去注册下一个用户,数据不会丢失,但如果连续注册两个用户,那这两个用户都会丢失。
      

  3.   

    看上去似乎是SQL Server的Bug.
      

  4.   


    感觉5分钟的时间里系统自动commit,把Code贴出来吧。