VBA ADO连接超时在不同版本的库



我正在尝试使用VBA (Excel 2007)和ADO连接对象连接SQL Server 2012上的视图。除了一个视图之外,所有工作都很完美,即使是最简单的查询也会出现运行时错误。要设置最大断开连接时间,我使用YourConnection.ConnectionTimeout = 0命令。不同版本的Microsoft ActiveX Data Objects x.x Library(2.0、2.1、…、2.8、6.1、6.2)是否有不同的最大超时,还是都有30秒的最大超时?另外,这个库的2.0,…,2.8版本之间有什么不同?我在哪里可以找到它?

ConnectionTimeout仅适用于建立连接。如果您的查询在执行期间超时,您应该使用CommandTimeout代替Command对象。注意,您必须在每个Command对象上设置它,因为它不是从Connection对象继承的:

Dim cnn As New ADODB.Connection
cnn.ConnectionString = "Provider=SQLOLEDB;Data Source=xxx;Catalog=xxx;User ID=xxx;Password=xxx;"
cnn.Open
Dim cmd As New ADODB.Command
Set cmd.ActiveConnection = cnn
cmd.CommandTimeout = 120
cmd.CommandText = "SELECT * FROM [Table]"
Dim rs As New ADODB.RecordSet
rs.Open cmd, , adOpenStatic, adLockOptimistic

查看MSDN获取更多信息和MDAC/ADO历史记录

相关内容

  • 没有找到相关文章

最新更新