我已经看到关于这个主题的几个线程,但我仍然无法弄清楚出了什么问题。以下是代码:
import java.sql.*;
public class SQL
{
public static void main(String[] args)
{
Connection conn = null;
String url = "jdbc:mysql://mysql1.oyo.co.il:3306/";
String dbName = "sdarot2_winner";
String driver = "com.mysql.jdbc.Driver";
String userName = "";
String password = "";
String table = "LEADER_CAM_PRODUCTS";
try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName,userName,password);
System.out.println("Connected to the database");
conn.close();
System.out.println("Disconnected from database");
}catch (Exception e) {
System.out.println(e);
}
}
}
这是我得到的错误:
com.mysql.jdbc.CommunicationsException: 由于底层 > > 异常导致通信链接失败:
** 开始嵌套异常 **
java.net.ConnectException MESSAGE:连接超时:连接
堆栈跟踪:
java.net.ConnectException:连接超时:在 java.net.PlainSocketImpl.doConnect(Unknown Source) 在 java.net.PlainSocketImpl.connectToAddress(Unknown Source) 在 java.net.PlainSocketImpl.socketConnect(Native Method) 处连接。 net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net。 Socket.(Unknown Source) at java.net.Socket.(Unknown Source) at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256) at com.mysql.jdbc.MysqlIO.(MysqlIO.java:271)在 com.mysql.jdbc.Connection.createNewIO(Connection.java:2744) 在 com.mysql.jdbc.Connection.(Connection.java:1553) 在 com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285) 在 java.sql.DriverManager.getConnection(Unknown Source) 在 java.sql.DriverManager.getConnection(Unknown Source) 在 SQL.main(SQL.java:17)
** 结束嵌套异常 **
发送到服务器的最后一个数据包是 1 毫秒前。
这是我发现的几件事:
- IP/域或端口不正确
- IP/域或端口(即服务)已关闭
- IP/域的响应时间超过您的默认超时时间
- 您有防火墙阻止您使用的任何端口上的请求或响应
- 您有一个防火墙阻止对该特定主机的请求
- 您的互联网访问已关闭
a) 它是正确的。b)它没有关闭,因为我有一个正在使用该数据库的网站。c) 我该如何检查?我认为这不是问题,因为正如我所说,我在这个数据库上有一个正在运行的网站。d)现在的方式是因为我上面提到的同样的原因。e) 与 d 相同
那么我做错了什么?为什么 php 代码可以与 sql 一起使用,但 java 给了我错误?谢谢你。