powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / BeginExecuteReader
2 сообщений из 2, страница 1 из 1
BeginExecuteReader
    #34251182
zac
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
zac
Гость
Выполняю запрос асинхронно. Сам запрос выполняется долго от 30 мин. и более.

Private Sub btnPopulate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPopulate.Click
Dim connectionString As String = _
"Server=reg;Database=taxes01;Integrated Security=SSPI;Asynchronous Processing=true"
Dim testConnection As SqlConnection = _
New SqlConnection(connectionString)

Dim testCommand As SqlCommand = _
New SqlCommand '("Select * from svedf$", testConnection)
With testCommand
.Connection = New SqlConnection(connectionString)
.CommandText = "_saldo"
.CommandTimeout = 500
.CommandType = CommandType.StoredProcedure
.Parameters.Add("@TP_ID", SqlDbType.Int).Value = 913
.Parameters.Add("@Date1", SqlDbType.SmallDateTime).Value = "01.01.2006"
.Parameters.Add("@Date2", SqlDbType.SmallDateTime).Value = "01.03.2006"
.Connection.Open()

End With
' testConnection.Open()

Dim callback As AsyncCallback = New AsyncCallback(AddressOf DataReaderIsReady)
Dim asyncresult As IAsyncResult = testCommand.BeginExecuteReader(callback, testCommand)

End Sub

Private Sub DataReaderIsReady(ByVal result As IAsyncResult)
Dim testCommand As SqlCommand = CType(result.AsyncState, SqlCommand)

Dim sqlDr As SqlDataReader = testCommand.EndExecuteReader(result)
' If sqlDr.HasRows Then

'Dim rec As DbDataRecord
' For Each rec In sqlDr
'dbRecordsHolder.Add(rec)
' Next
' End If
While sqlDr.Read
dbRecordsHolder.Add(sqlDr.Item(0)) ---Вот здесь говорит что время ожидания истекло
.
' sqlDr.NextResult()




End While

sqlDr.Close()
testCommand.Connection.Dispose()
End Sub


Я считал что если я запускаю ансинхроно то .CommandTimeout выставлять не нужно.
А судя по результату вываливается по тайм ауту.
Подскажите можно это обойти как нибудь или я что-то не так делаю
...
Рейтинг: 0 / 0
BeginExecuteReader
    #34251584
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выставить CommandTimeout в 0.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / BeginExecuteReader
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]