gpt4 book ai didi

sql - 如果服务器不存在,如何使 ADO 连接更快超时?

转载 作者:行者123 更新时间:2023-12-02 01:19:23 27 4
gpt4 key购买 nike

我的任务是支持一个旧的 VB6 应用程序。 (是的)我在 ADO 连接超时属性方面遇到了问题。如果服务器存在,下面的方法可以正常工作,但如果服务器不存在或机器的网络连接尚未启动,即使将 intTimeout 设置为 1,也将花费整整 30 秒的时间来超时。

有没有办法让ADO更快地无法连接?这可能吗?谢谢!

Public Sub GetConnectionObject(ByRef oCn As ADODB.Connection, strServer As String,     strInitialCatalog As String, Optional intTimeout = 10)

Dim strConnectionString As String
strConnectionString = "Data Source=[SERVER];Provider=SQLOLEDB.1;User ID=ScanReq1;Password=ScanR3Q;Initial Catalog=[INITIALCATALOG];ConnectionTimeout=" & intTimeout & ";"
strConnectionString = Replace(strConnectionString, "[SERVER]", strServer)
strConnectionString = Replace(strConnectionString, "[INITIALCATALOG]", strInitialCatalog)

Set oCn = New ADODB.Connection
oCn.CursorLocation = adUseClient
oCn.ConnectionString = strConnectionString
oCn.CommandTimeout = intTimeout
oCn.ConnectionTimeout = intTimeout

oCn.Open

End Sub

最佳答案

建立 TCP 连接后,ConnectionTimeout 开始计时。如果找不到服务器,则该值由 Windows TCP 子系统控制。

如果这对您来说确实是个问题,我会尝试先对盒子进行 ping 操作(网上有很多通过 VB6 进行 ping 操作的示例)。

关于sql - 如果服务器不存在,如何使 ADO 连接更快超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6961453/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com