是否可以更改默认的OLEDB连接超时值?运行时错误(80040e31)

时间:2013-07-25 11:46:32

标签: sql-server vba oledb connection-timeout

我有一个遗留应用程序(VB),我在连接到SQL Server时可能出现超时错误(可能是通过OLEDB)。

enter image description here

使用SQL事件探查器我发现连接只丢失了30秒。

enter image description here

我无法访问源代码,但我扫描了exe资源,但在那里找不到任何硬编码的连接字符串超时值。

我认为我的最后一次机会是在应用程序之外的某处更改默认的OLEDB超时。

我的问题是:是否可以更改默认的OLEDB超时值?


更新

我找到连接字符串并将超时更改为300,但它没有帮助......

Provider=SQLOLEDB.1;Persist Security Info=False;User ID=______;Password=______;Initial Catalog=________;Data Source=______;Connect Timeout=300

之后我尝试用来自不同提供商的连接字符串替换当前连接字符串: ADO.NET ODBC 但每次30秒后我都会收到超时错误 - 击破。

P.S。

我会很乐意接受任何建议

3 个答案:

答案 0 :(得分:2)

连接超时是连接服务器的时间限制,而不是执行命令,因此设置它将无济于事

答案 1 :(得分:1)

我找到了答案here。它是命令超时,必须从特定的command对象配置。

答案 2 :(得分:-1)

有一个名为“连接超时”的属性。您可以将此属性添加到应用程序中可用的连接字符串。

以下是具有用户指定超时值的示例连接字符串: (注意:连接超时值始终以秒为单位)

connectionString =“Data Source = ServerName; Initial Catalog = DatabaseName; User ID = sa; Password = tiger; Connect Timeout = 200”