MySQL通过Java代理连接

时间:2011-07-01 06:56:42

标签: java mysql jdbc database-connection

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

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

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

如何在本地网络上代理时使用Java编程语言(MySQL数据库)建立连接?

感谢您的帮助。 问候!

1 个答案:

答案 0 :(得分:18)

尝试使用socksProxyHostsocksProxyPort系统属性。在章节“2.4)SOCKS”和here中查看here。 (http.proxyHost不能与JDBC一起使用。)以下是使用JDBC代理(例如Oracle)的说明:Connect outside internet Oracle Database from inside intranet through JDBC。您可能想要使用属性:socksProxySet, socksProxyPort, socksProxyHost, java.net.socks.username, java.net.socks.password, socksNonProxyHostsHere is description how to set version, username, and password。而且你需要袜子代理,而不是HTTP

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