是否有解决“带外中断”中 JDBC 驱动程序错误的方法?

Bor*_*ris 1 jdbc oracle-sqldeveloper

当通过 VPN 和其他不太完美的网络使用时,SQL Developer 断开连接是一个长期存在的问题。

根据 SQL Developer Team 的一名成员的说法,这是 JDBC 驱动程序中的一个已知错误,无法应对“带外中断”。他还建议将AddVMOption -Doracle.net.disableOob=true设置为一种解决方法。查看更多信息: OTN 论坛:SQL 开发人员:无法查看表

我想问一下,是否有人知道这个错误正在解决,或者有比上面提出的更好的解决方案?

小智 6

设置java系统属性oracle.net.disableOob=true并不是一个糟糕的解决方案,这是常见的误解。Oracle 只是回退到轮询机制,即使查询正在运行,服务器进程也会永久检查是否有客户端发送的取消消息。没有更多的错误JDBC driver(至少没有11.2.0.3),它不起作用的主要原因如下。当通过 VPN 连接到 oracle DB 时,肯定有一些防火墙。URG出于许多安全原因,大多数现代防火墙都在清除数据包。他们不会丢弃带有URG标志的数据包,只是清除这些位。

即使在RFC那里写到URG数据包在几个平台上没有正确实现。

有可能说服安全人员允许使用URG旗帜,但与他们合作会很辛苦,我很害怕。