socket closed when report takes long-time to 运行 如何解决?

How can I solve socket closed when report takes long-time to run?

我正在 运行使用 iReport 制作 Clarity 报告。

我的一份报告相当复杂,有时需要很长时间才能 运行(取决于参数)。有时,它花费的时间太长,我收到一条消息说

Socket Closed

报告很快 运行 时不会出现此消息。我假设这意味着 运行 已经超时。我目前正在努力使 SQL 运行 更快,但我担心它仍然不会在超时之前完成。

有没有办法让套接字保持打开的时间更长?

您可以将其他参数放入连接字符串中,例如

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

不过,这只能作为最后的手段使用。也许糟​​糕的基础设施或没有足够索引的过于复杂的查询是 运行 查询缓慢的真正原因。