sql-server-2005 - ADO连接超时问题

标签 sql-server-2005 delphi delphi-2009 ado

使用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/

相关文章:

sql - 按列分组 + COUNT(*),如何获得每个组合的平均计数?

sql-server - 在 SQL 中使用逻辑

sql - 从 sql server 2005 发送关于 @@error 的 dbmail

delphi - 暂时禁用 Delphi 中 TvertScrollBox 组件的滚动?

delphi - 用delphi打印

listview - 如何找到下一个未选中的 ListView 项?

delphi - 当显示对话框时淡出应用程序的所有其他窗口?

sql-server - 数据库表不会删除(或显示它的输入数据)

windows - 如何在 Delphi 中处理自定义组件中的箭头键?

delphi - 什么是代码页 0?