我正在开发一个客户端-服务器软件,客户端按如下方式连接到数据库服务器。
...
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/agenda", "root", "LA_PASSWORD");
}catch....
...
两个应用程序始终位于同一本地网络上。我遇到的问题是当本地网络使用代理时,在这种情况下MySQL连接失败。
当本地网络上的代理时,如何与 Java 编程语言、MySQL 数据库建立连接?
感谢您的帮助。 问候!
最佳答案
尝试使用 socksProxyHost
和 socksProxyPort
系统属性。看here在章节“2.4) socks ”和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、socksNonProxyHosts
。 Here is description how to set version, username, and password 。并且ofc您需要socks代理,而不是HTTP。
如果您只有 HTTP 代理,您可以尝试通过 HTTP 建立 JDBC 隧道。解决方案很少。例如,这里是免费解决方案 http://sourceforge.net/projects/sqlgateway/这里是商业http://www.idssoftware.com/jdbcdrv.html
关于java - Java中通过代理连接MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20408383/