使用TADOConnection类连接到SQL Server 2005数据库。
具有ConnectionTimeOut:= 5; //秒。
尝试同步打开连接。
当服务器可用并正在运行时,连接超时可以正常工作。如果服务器不可用或网络连接丢失,则尝试打开连接将等待5秒钟以上(可能是20秒钟)。
是否需要设置任何属性或方法来影响此行为?
最佳答案
不,足够设置ConnectionTimeout属性
我遇到了确切的问题(D2009,MSSQL2005),但是TADOConnection.ConnectionTimeout对我来说工作正常(顺便说一句,此属性的默认值是15秒)。请注意,超时分散范围很广,因此一旦您在5秒钟后超时,然后在例如10秒后,但20秒对于连接尝试来说实在太多了。
可能您的CommandTimeout有问题(如果您尝试使用关联的ADO数据集组件执行查询)。您需要记住,如果在数据集组件中设置TADOConnection.ConnectionTimeout:= 5,例如TADOQuery.CommandTimeout:= 15,而您尝试执行查询,则20秒后将超时。
如果您确实对查询执行有疑问,不仅是尝试连接,那么此帖子可能会对您有所帮助
ADO components CommandTimeout
关于sql-server-2005 - ADO连接超时问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5483051/