Тайм-аут соединения/запроса Oracle

Очевидная причина, "почему" это, предполагает, что у Вас есть класс как это:

class Foo
{
public:
    void SomeFunction()
    {
        cout << _obj->value << endl;
    }

private:
    SomeObject *_obj;
}

И затем Вы инстанцируете одного Foo и вызов SomeFunction, это даст нарушение прав доступа, пытающееся читать 0xCDCDCDCD. Это означает, что Вы забыли инициализировать что-то. Это "почему часть". В противном случае тогда указатель, возможно, выстроился в линию с некоторой другой памятью, и будет более трудно отладить. Это просто сообщает причину, что Вы получаете нарушение прав доступа. Обратите внимание, что этот случай был довольно прост, но в большем классе легко сделать ту ошибку.

AFAIK, это только работает над компилятором Visual Studio когда в режиме отладки (в противоположность выпуску)

5
задан Andrey Adamovich 7 September 2009 в 10:50
поделиться

2 ответа

Если вы выполняете запрос в контексте транзакции, значение тайм-аута транзакции монитора транзакций JTA будет определяющим для тайм-аута запроса. Конфигурация для этого зависит от одного сервера приложений к другому.

На уровне отдельного запроса (при отсутствии монитора транзакций JTA) метод setQueryTimeout может использоваться для установки тайм-аута при выполнении объекта Statement / PreparedStatement / CallableStatement.

Обновление

setQueryTimeout не следует использовать, хотя он работает (по крайней мере, от клиента J2SE). Он работает через драйвер JDBC, выполняя полный цикл работы с сервером базы данных Oracle. Затем база данных должна остановить выполнение запроса. Не полагайтесь на него для приложений, критичных по времени.

6
ответ дан 14 December 2019 в 01:12
поделиться

Взгляните на профили Oracle. Это позволяет вам указать несколько ограничений на уровне базы данных. Один из них - максимальное время ЦП на запрос.

Если у вас есть запросы, выполняемые более 2 минут на регулярной основе, вы можете сначала настроить свои запросы.

3
ответ дан 14 December 2019 в 01:12
поделиться
Другие вопросы по тегам:

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