Установите TDS client_version при подключении к SQL Server 2005 из asp.net 1.1 - PullRequest
0 голосов
/ 02 декабря 2009

Я пытаюсь отладить проблему по аналогии с этим старым вопросом: SqlDataSource Timeout. ОК в Management Studio

Сложная хранимая процедура всегда истекает при запуске из ASP.NET 1.1 через .NET SQL Client, но без проблем запускается из SQL Management Studio. Я посмотрел на sys.dm_exec_sessions, чтобы увидеть, какие настройки были для соответствующих соединений. По какой-то причине соединение из приложения ASP.NET использует client_version 4 (SQLServer 2000 sp1), в то время как соединение со студией управления (соответственно) использует версию 5 (SQLServer 2005).

Я предполагал, что мне придется изменить строку подключения, чтобы ASP.NET указывал правильную версию, но я не понимаю, как и где это сделать. Google странно бесполезен ... могу ли я указать client_version, который приложение ASP.NET должно где-то использовать?

Любая помощь очень ценится.

(PS ... настройки arithabort также изначально были разными для двух соединений, но установка их обоих на «on», к сожалению, не помогает.)

1 Ответ

0 голосов
/ 05 декабря 2009

Проблема в том, что в объект .NET SqlCommand встроен тайм-аут команды по умолчанию на 30 секунд. В SQL Server Management Studio для него установлено неограниченное время ожидания. Вы можете изменить значение времени ожидания для приложения, изменив значение SqlCommand.CommandTimeout перед выполнением команды:

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.commandtimeout(VS.71).aspx

Сколько времени занимает выполнение запроса из SSMS? 30-секундный запрос - это длинный запрос для создания веб-приложения, поэтому вы можете подумать о настройке своего кода, чтобы он не занимал много времени, прежде чем изменить время ожидания.

Клиентская версия основана на том, что установлено на компьютере приложения. Если вы загрузите и установите собственный клиент SQL 2005, он обновит используемый клиент. Собственный клиент SQL находится на установочном компакт-диске или может быть бесплатно загружен из пакета дополнительных компонентов 2005 года бесплатно:

http://www.microsoft.com/downloads/details.aspx?FamilyID=D09C1D60-A13C-4479-9B91-9E8B9D835CDC&displaylang=en

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...