Помещение тайм-аутов на Подготовленных операторах

Я пытаюсь использовать подготовленные операторы, которые воздействуют на базу данных, расположенную вполне далеко, существует значительная задержка, и ненадежность, вовлеченная в сетевое соединение раньше, получала доступ к этой базе данных. Времена простоя до минуты распространены. Проблема состоит в том, что в случае такого отказа, если моя программа пытается выполнить какой-либо подготовленный оператор, целый поток входит в бесконечное ожидание. Это никогда не испытывает таймаут и просто остается застрявшим, ожидая ответа от базы данных.

Я пытался использовать метод setQueryTimeout () для явного помещения тайм-аута на выполнение, но, кажусь, что существует некоторая проблема с этим методом, где это наклоняет работу правильно, если сеть перестала работать.

Есть ли какой-либо альтернативный путь вокруг этого?

5
задан angryInsomniac 4 August 2010 в 06:30
поделиться