环境:vc6 + ADO + Oracle10g/Oracle 9i问题:程序向数据表中插个数据,开始还好好的,但运行一段时间后(1~3天不等),就不再插入了。
经调试,问题出在 Recordset 的open方法上了。
出问题是因为 执行open方法,去打开记录集,但该方法一直无法返回,就像是卡死、阻塞、死锁、假死等等。
反正就是不能返回,也不报错,所以程序执行不了了。我的在程序中,创建了一个独立的线程去对数据库进行操作(打开、关闭、插入数据等等)
各位有没有遇到过这种情况的,分享下解决办法,谢谢了

解决方案 »

  1.   

    同样问题的帖子
    http://topic.csdn.net/u/20110623/21/5c76701e-86a2-4ea5-adb4-5277f6cca3cc.htmlhttp://topic.csdn.net/u/20100629/10/C5636FB2-75DD-4188-94EE-B650FC87B4E7.html#r_66775540
      

  2.   

    或者使用insert into语句插入数据,不要用recordset
      

  3.   

    1. 是使用的长连接
    2. 为了兼容更多的数据库所以,不直接使用SQL语句,而是 不断的addnew 然后批量提交
      

  4.   

    俺也碰到过,次数还不少。关键是调试的时候就会华丽丽的卡死在open上,百思不得其解啊。
      

  5.   

    我又发现 在连接或关闭数据库时也会出现,也就是 Connect对像的 open 和close方法
    郁闷中
      

  6.   

    所有支持ODBC的数据库基本上都支持sql语句吧,你说的“为了兼容更多的数据库”,具体指什么数据库?
      

  7.   


    是支持SQL语句 但是oracle,sql server,mysql,postgresql等等的语法,有很大程度的不同,所以不考虑使用SQL语句。我也不想自已去过滤那么多关键字,况且既然有写好的通用方案,为什么我不用呢只是现在在这个通用方案中 我遇到了问题,首先要想看能不能解决这个问题 然后再想 是不是采用别的方案。
      

  8.   

    语法不同,直接执行sql时odbc都是直接把sql语句抛给数据库解析,so...
      

  9.   

    顶一下
    另外,在操作 Addnew 接口时 也会死
      

  10.   

    确保表没有被死锁.比如执行insert卡住的时候,把语句调出来,放到plsql里执行看这个时候是不是一样会卡死.
      

  11.   

    嗨  能分享一下你的连接字符串么  我老是连接不上[email protected]
    帮帮忙么