Как я могу решить закрытый сокет, когда отчет занимает много времени?

Я запускаю отчеты в Clarity, сделанные с помощью iReport.

Один из моих отчетов довольно сложный и иногда занимает много времени (в зависимости от параметров). Иногда это занимает слишком много времени, и я получаю сообщение, которое говорит

Розетка закрыта

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

Есть ли способ сделать гнездо дольше открытым?

скриншот сообщения об ошибке

1 ответ

Решение

Вы можете добавить дополнительные параметры в строку подключения, например,

jdbc:jtds:sqlserver://server:port/database;socketTimeout=120

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

Другие вопросы по тегам