小弟不才最近在给电信做点工程。做好了安装好了,但是每过段时间软件就不能访问数据库了。狂晕,已经出N次问题了,在下去我就要下班了,55555。
问题如下:
我使用的是SQL Server。数据库访问是用ADO。
在程序启动时我会创建两个访问连接也就是使用了两个ADODataSet和一个ADOCommand
但是每次程序运行24以上后程序就不能够在访问数据库了,而且这期间程序没做什么事只是连接一直保持着。
本来我以为访问不了时将ADODataSet控件Free掉在Create就OK了,看来我错了。
个位大虾米就命啊~~~~~~~~~~~~~

解决方案 »

  1.   

    up, 看你的MsSql是不是評估版本而已!!
      

  2.   

    我用的不是MySql,是MS SQL Server。难道没人遇到过这类问题吗?555555
    也不知道是ADO?,SQL Server,机器?,还是。。我不知道
    我猜不出来,我已经详细检查了连接,内存,控件的Open 与 Close
    都没有问题。
    我现在只有每次都Free掉真个控件了,但是这个方法真有点......
      

  3.   

    不会吧!
    ADO连接设置一直连接吗?
    我用很长时间没有问题啊?
    看看TCP/IP协议有没有问题,前段时间我的出现了一次!
    现在就没有了!
      

  4.   

    连接控件的keepconnection的属性为true, CommandTimeout := 0;
     ConnectionTimeout := 0;应该就没问题了
      

  5.   

    是这样,运行很长时间后程序突然出现数据库访问失败,在这里我有一个机制专门用来
    判断数据库访问是否失败,当发生失败时就将数据库控件Free掉在Create.问题也发生在这里
    程序更本不能Free掉控件。也没看出内存有释漏.
      

  6.   

    我这里没有用ADOConntion控件而是直接使用的ADODataSet和ADOCommand不知道是否有问题。
    我曾经也用这个方式做过一个工程,但是数据库访问量比较小运行了两个月都没问题。
    还是想不通
      

  7.   

    sql server 的版本和ADO的版本是多少啊?
      

  8.   

    MSSQL就是SQLSERVER
    用ADOCONNECTION好些,一个可以连接很多DATASET和COMMAND及TABLE和QUERY,STOREPROC
    只要保持它长连接就不必设置其它了
      

  9.   

    sql server 的版本和ADO的版本之间有关系吗?
    用AdoConnection和直接用TAdoDataSet连接除了更方便以外还有什么区别?
    没人知道吗?