Как я увеличиваю период тайм-аута для своего вызова хранимой процедуры (см. ошибку)?

Кажется, вы запутались между supplierid и supplier. Вам нужно определить переменную для supplier, чтобы напечатать строку вывода, и, скорее всего, вы определили переменную командной строки supplierid, которая имеет числовой тип.

Итак, используйте ниже:

SQL> set serveroutput on;
SQL> var supplier varchar2;
SQL> execute test(2279, :supplier);
supplier
---------
Afzal -- as an example name
10
задан MetaGuru 8 May 2009 в 19:53
поделиться

4 ответа

Возможно, это не относится, но я думаю, что это все же следует упомянуть. CommandTimeOut по умолчанию - 30 секунд. Этого времени должно быть достаточно для любых действий, которые происходят в 99,9% веб-приложения. Если вы не уверены, что действие должно занять больше времени, вам следует потратить свое время, пытаясь оптимизировать sql, чтобы он возвращался через <30 секунд. Хорошее начало для этого - правильное индексирование.

11
ответ дан 3 December 2019 в 13:37
поделиться

Вы можете увеличить период ожидания для команды, установив SqlCommand.CommandTimeout ] свойство.

18
ответ дан 3 December 2019 в 13:37
поделиться

+1 to Al because 30 seconds should be plenty. Making the timeout period longer is really only a bandage to the underlying problem.

In my experience the stored proc is too expensive 90% of the time. When I was reviewing these errors last, I had a general rule of thumb that no stored proc cost more than 1.00. The more expensive they are, the greater the risk we had of blocking and generating these exceptions.

2
ответ дан 3 December 2019 в 13:37
поделиться

Вы можете выполнить это, добавив «Connect Timeout = 90 дюймов к соединительной строке. Если ваш запрос занимает больше 30 секунд, вам действительно стоит подумать об оптимизации запроса. Может потребоваться добавление индексов или создание представления и т. Д.

Отредактировано для исправления проблемы, указанной в комментариях @Stijn.

1
ответ дан 3 December 2019 в 13:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: