У меня есть приложение формы Windows, написанное на С#, которое передает запрос в базу данных SQL Server, а затем отображает результаты в сетке просмотра данных. Запрос, передаваемый в базу данных, зависит от параметра, выбранного в форме.
Один конкретный запрос выполняется чуть более минуты в студии управления, но время ожидания истекает, когда он передается в базу данных из программы. вот шаги, которые я сделал, чтобы попытаться разрешить ситуацию:
В программу добавлен 5-минутный тайм-аут, установив для параметра тайм-аута соединения значение 300 секунд в строке подключения sql. Пример:
Data Source=ab;Initial Catalog=abc;User ID=user; Password =pw; Connection Timeout=300
Установка времени ожидания удаленного запроса в экземпляре SQL Server равным 0 (что означает отсутствие времени ожидания). Пример:
EXEC sp_configure 'remote query timeout', 0 ; GO
Ни один из этих вариантов не работает. Несмотря на реализацию обоих из них, программа С# возвращает ошибку тайм-аута sql менее чем через минуту.
Есть ли обходной путь для этого? Я искал эту тему по переполнению стека, и до сих пор все предложения сводились к тому, чтобы сделать либо 1, либо 2 (что я и сделал).
Для справки: я использую выпуск Visual Studio 17 Community и выпуск SQL Server 2016 Developer.
Любая помощь будет принята с благодарностью.
Спасибо!