Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > Timeout expired и методы борьбы с ним


Автор: Cleric 8.2.2006, 14:57
При выполнении sqlDB1.Fill(DT), где ДТ - datatable, sqldb1 - sqlclient.sqldataadapter

появляется ошибка:

Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

код:

Код

         Public Function ExecuteProcedure(ByVal ProcedureName As String, ByVal ParamArray Parameters() As Object) As DataTable
        Dim DT As New DataTable
        Dim sqlDB1 As New SqlClient.SqlDataAdapter
        Dim sqlDBcon1 As New SqlClient.SqlConnection
        Dim sqlDBcom1 As New SqlClient.SqlCommand

        sqlDBcon1.ConnectionString = ...
        sqlDBcom1.CommandType = CommandType.StoredProcedure
        sqlDBcom1.Connection = sqlDBcon1
        sqlDBcom1.CommandText = ProcedureName

        If Parameters.Length = 0 Then GoTo 10
        Select Case LCase(ProcedureName)
            Case "totalretailsales"
                If Parameters.Length < 1 Then Return Nothing
                sqlDBcom1.Parameters.AddWithValue("@begin_date", Parameters(0))
                If Parameters.Length >= 2 Then sqlDBcom1.Parameters.AddWithValue("@end_date", Parameters(1)) Else sqlDBcom1.Parameters.AddWithValue("@end_date", DateTime.Today)

        End Select
    
10:

        sqlDBcon1.Open()
        sqlDB1.SelectCommand = sqlDBcom1

        sqlDB1.Fill(DT)

        sqlDBcon1.Close()

        Return DT
    End Function


данная процедура выполняется в sql query analyzer за 40+ секунд

можно ли както со всем этим побороться?

Автор: mr.DUDA 8.2.2006, 21:00
Гм... Свойство SqlCommand.CommandTimeout менять не пробовали? Там по умолчанию 30 секунд стоит.

Автор: Cleric 9.2.2006, 13:32
вот ведь как все просто оказывается.
спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)