Problem, który masz, polega na tym, że polecenie zapytania trwa zbyt długo. Uważam, że domyślny limit czasu na wykonanie zapytania to 15 sekund. Musisz ustawić CommandTimeout (w sekundach), aby był wystarczająco długi, aby polecenie zakończyło swoje wykonanie. „CommandTimeout” jest inny niż „Limit czasu połączenia” w ciągu połączenia i musi być ustawiony dla każdego polecenia.
W swoim sql Selecting Event użyj polecenia:
e.Command.CommandTimeout = 60
na przykład:
Protected Sub SqlDataSource1_Selecting(sender As Object, e As System.Web.UI.WebControls.SqlDataSourceSelectingEventArgs)
e.Command.CommandTimeout = 60
End Sub