我使用ADO建立了与SQL Server的连接,一段时间后,这个连接就不能用了?在这个连接上的操作会出错,不知道是什么原因??????

解决方案 »

  1.   

    不是在本地连接,sql server 在远端,通过Internet访问,好象大约两个小时后连接会失效,网络连接没有问题。
      

  2.   

    如果你写一个tcp的soket通讯,如果没有心跳包,可能空闲十几分钟后再用连接就断了,sql server的连接是基于tcp的,所以有可能出现自己断开这种情况。至于数据库的连接有没有什么保障措施,俺就不大清楚。 要不你每分钟执行一次select ''看看能否保持连接。(纯属馊主意)
      

  3.   

    谢谢。sql server的连接是基于tcp的?? 确定吗??他有没有采用其他技术来保持数据库连接呢?
      

  4.   

    tcp是肯定的,如果你维护过服务器的路由于远程访问就知道了,默认的是1433端口,这是一个著名地端口,嘿嘿。我用企业管理器或者查询分析器打开一个远程连接,过很久后(第二天),再用它,第一次使用时,它会提示“到xxx的连接已断开,要重新连接吗?”连微软的工具都会自动断开。当然,这个断开也许是sql server的一个功能,断开空闲太久的连接,以释放服务器资源。
      

  5.   

    是tcp连接,jun_01(无名小卒) 很在行,不过1433可以改,在服务器网络实用工具里可以改,
      

  6.   

    我用企业管理器或者查询分析器打开一个远程连接,过很久后(第二天),再用它,第一次使用时,它会提示“到xxx的连接已断开,要重新连接吗?”连微软的工具都会自动断开。
    这个连接时间可以自己设置吗?
      

  7.   

    连接断开是必然的,不要期望会一直保持。惯用的做法是:open-》操作-》close,下次再用时再open-》操作-》close
      

  8.   

    但需要不定时的往数据库里写呀,采用 open-》操作-》close 的方式可能效率太低。显示错误得到的信息是:一般性网络错误,请检查网络文档。
    IDispatch error #3121没有查到资料,不知道什么意思。