Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中通过代理连接MySQL_Java_Mysql_Jdbc_Database Connection - Fatal编程技术网

Java中通过代理连接MySQL

Java中通过代理连接MySQL,java,mysql,jdbc,database-connection,Java,Mysql,Jdbc,Database Connection,我正在开发一个客户机-服务器软件,其中客户机连接到数据库服务器,如下所示 ... try { Class.forName("com.mysql.jdbc.Driver"); Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/agenda", "root", "LA_PASSWORD"); }catch.... ... 两个应用程序始终位于同一个本地网络上。我遇到的问题是当本地网络使用代

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

...
try
{
   Class.forName("com.mysql.jdbc.Driver");
   Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/agenda", "root", "LA_PASSWORD");
}catch....
...
两个应用程序始终位于同一个本地网络上。我遇到的问题是当本地网络使用代理时,在这种情况下MySQL连接失败

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

谢谢你的帮助。
你好

尝试使用
socksproxy主机
socksproxy端口
系统属性。请看“2.4)袜子”和。(http.proxyHost不能与JDBC一起使用。)下面是对JDBC使用代理的描述(例如Oracle):。您可能需要使用以下属性:
socksproxy集、socksproxy端口、socksproxy主机、java.net.socks.username、java.net.socks.password、socksnonproxy主机
。而ofc则需要socks代理,而不是HTTP


如果您只有HTTP代理,您可以尝试通过HTTP隧道JDBC。解决方案很少。例如,这里是免费的解决方案,这里是商业的

你说的“本地网络使用代理”是什么意思?你是说HTTP代理吗?MySQL使用的是二进制协议,而不是HTTP。连接是否被防火墙阻止?是的,我指的是HTTP代理。谢谢。@Lobo您的代理需要用户的身份验证&psw???谢谢您的回答。提供的解决方案将重定向SocksProxy主机上的所有流量。在我的例子中,我有两个DB连接。一个应该通过代理,一个在本地网络上。有什么建议吗?我刚找到解决办法。它是一个名为socksNonProxyHosts的属性,您可以在其中登记所有排除的主机。