Как я могу решить закрытый сокет, когда отчет занимает много времени?
Я запускаю отчеты в Clarity, сделанные с помощью iReport.
Один из моих отчетов довольно сложный и иногда занимает много времени (в зависимости от параметров). Иногда это занимает слишком много времени, и я получаю сообщение, которое говорит
Розетка закрыта
Это сообщение не появляется, если отчет выполняется быстро. Я предполагаю, что это означает, что время ожидания истекло. В настоящее время я работаю над тем, чтобы SQL работал быстрее, но боюсь, что до истечения времени ожидания этого не произойдет.
Есть ли способ сделать гнездо дольше открытым?
1 ответ
Вы можете добавить дополнительные параметры в строку подключения, например,
jdbc:jtds:sqlserver://server:port/database;socketTimeout=120
Это должно использоваться только в качестве крайней меры, хотя. Возможно, плохая инфраструктура или слишком сложный запрос с недостаточным количеством индексов - это реальная причина медленного выполнения запроса.