我有个很急问题,就是我在indytcpserver的 onExecute 中每接收一个TCP文字信息都会动态创建一个TADOConnection ,把文字写入数据库,完成写入数据库后断开数据库连接和把TADOConnection 用 FREE 释放。问题就是程序大约运行12天左右就无法连接数据库,关掉程序再开程序也不行,必须重启电脑才能正常连接数据库, 请问这是什么原因?? 用的是XP系统,数据库sql2000

解决方案 »

  1.   

    为什么不重启sql server服务器试试呢?
      

  2.   

    即使是确定了sql server服务因句柄耗尽出现的问题,
    你这种写入方法也是存在问题的。简单一点的改进,可以将需要写入的内容,放到一个List里面。
    在另一个线程,读取List的内容,执行写入操作。 一个TADOConnection 搞定,也不用重复创建。
      

  3.   

    建议不要创建TADOConnection,而是使用一低点全局的静态的TADOConnection。试试。
      

  4.   

    Server就不要总是创建连接了,使用一个静态的长连接。通过消息或者线程同步来操作。