MySQL通过Java代理连接

我正在开发客户端 – 服务器软件,其中客户端连接到数据库服务器,如下所示。

... try { Class.forName("com.mysql.jdbc.Driver"); Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/agenda", "root", "LA_PASSWORD"); }catch.... ... 

两个应用程序始终位于同一本地网络上。 我遇到的问题是当本地网络使用代理时,在这种情况下MySQL连接失败。

如何在本地网络上代理时使用Java编程语言,MySQL数据库进行连接?

谢谢您的帮助。 问候!

尝试使用socksProxyHostsocksProxyPort系统属性。 请看这里的章节“2.4)SOCKS”。 (http.proxyHost不能与JDBC一起使用。)以下是使用JDBC代理的说明(例如Oracle): 通过JDBC从Intranet内部连接外部Internet数据库 。 您可能希望使用属性: socksProxySet, socksProxyPort, socksProxyHost, java.net.socks.username, java.net.socks.password, socksNonProxyHosts 。 以下是如何设置版本,用户名和密码的说明 。 而且你需要袜子代理,而不是HTTP

如果您只有HTTP代理,则可以尝试通过HTTP隧道传输JDBC。 解决方案很少。 例如,这里是免费的解决方案http://sourceforge.net/projects/sqlgateway/和这里的商业http://www.idssoftware.com/jdbcdrv.html