Propriedade QueryDef.ODBCTimeout (DAO)
Aplica-se ao: Access 2013, Office 2013
Indica se o número de segundos a ser aguardado antes da ocorrência de um erro de tempo limite durante a execução de QueryDef em um banco de dados ODBC.
Sintaxe
expressão . ODBCTimeout
expressão Uma variável que representa um objeto QueryDef.
Comentários
Quando a propriedade ODBCTimeout for definida como -1, os padrões de tempo limite para a definição atual da propriedade QueryTimeout do objeto Connection ou Database que contém o QueryDef. Quando a propriedade ODBCTimeout for definida como 0, não ocorrerá um erro de tempo limite.
Quando você estiver usando um banco de dados ODBC, como o Microsoft SQL Server, poderão ocorrer atrasos por causa do tráfego de rede ou do uso intenso do servidor ODBC. Em vez de aguardar indefinidamente, especifique quanto tempo será necessário aguardar antes que seja retornado um erro.
A definição da propriedade ODBCTimeout de um objeto QueryDef substituirá o valor especificado pela propriedade QueryTimeout do objeto Connection ou Database que contém o QueryDef, mas somente para esse objeto QueryDef.
Exemplo
Este exemplo usa as propriedades ODBCTimeout e QueryTimeout para mostrar como a definição QueryTimeout em um objeto Database configura a definição ODBCTimeout padrão em quaisquer objetos QueryDef criados a partir do objeto Database.
Sub ODBCTimeoutX()
Dim dbsCurrent As Database
Dim qdfStores As QueryDef
Dim rstStores As Recordset
Set dbsCurrent = OpenDatabase("Northwind.mdb")
' Change the default QueryTimeout of the Northwind
' database.
Debug.Print "Default QueryTimeout of Database: " & _
dbsCurrent.QueryTimeout
dbsCurrent.QueryTimeout = 30
Debug.Print "New QueryTimeout of Database: " & _
dbsCurrent.QueryTimeout
' Create a new QueryDef object.
Set qdfStores = dbsCurrent.CreateQueryDef("Stores", _
"SELECT * FROM stores")
' Note: The DSN referenced below must be configured to
' use Microsoft Windows NT Authentication Mode to
' authorize user access to the SQL Server.
qdfStores.Connect = _
"ODBC;DATABASE=pubs;DSN=Publishers"
' Change the ODBCTimeout setting of the new QueryDef
' object from its default setting.
Debug.Print "Default ODBCTimeout of QueryDef: " & _
qdfStores.ODBCTimeout
qdfStores.ODBCTimeout = 0
Debug.Print "New ODBCTimeout of QueryDef: " & _
qdfStores.ODBCTimeout
' Execute the query and display the results.
Set rstStores = qdfStores.OpenRecordset()
Debug.Print "Contents of recordset:"
With rstStores
Do While Not .EOF
Debug.Print , .Fields(0), .Fields(1)
.MoveNext
Loop
.Close
End With
' Delete new QueryDef because this is a demonstration.
dbsCurrent.QueryDefs.Delete qdfStores.Name
dbsCurrent.Close
End Sub