Java连接到在线数据库

时间:2014-02-28 14:16:19

标签: java mysql database database-connection

我想知道是否有人可以帮助我,我正在尝试连接到在线数据库。数据库放在http://labs.cms.gre.ac.uk/db/mysqlnew.php上,但我似乎无法连接,到目前为止,我有什么可以帮助吗?

另外我需要进口任何东西吗?我有import.hava.sql。*;但就是这样呢?

try {

  System.out.println("Attempting Database Connection");
  Class.forName("com.mysql.jdbc.Driver");
  String url = "jdbc:mysql://http://labs.cms.gre.ac.uk/database";
  connection = DriverManager.getConnection(url, "user", "pass");
  stmt = connection.createStatement();
  System.out.println("Connection made");
} catch (Exception e) {
  System.out.println("Database connection attempt failed");
  System.out.println(e);
  }
}

2 个答案:

答案 0 :(得分:0)

您无法连接到此类外部数据库。在服务器labs.cms.gre.ac.uk上运行的数据库将受到防火墙的保护,它位于运行服务器的网络的内部。因此,您无法连接到此数据库。

即使您连接到本地数据库,代码中也存在多个问题:

  1. 您应该将MySQL JDBC驱动程序添加到类路径中。
  2. 您使用的连接网址错误。 Connect URL不能包含http://之类的协议。请谷歌获取MySQL JDBC连接URL格式。
  3. 希望有所帮助!

答案 1 :(得分:0)

几乎就是这样。

首先,这里的“url”与您在浏览器中使用的url不同,而是jdbc字符串,通常类似于

"jdbc:mysql://localhost/test";

(见What is the MySQL JDBC driver connection string?

其次,你的类路径中必须有一个mysql jdbc驱动程序(参见http://dev.mysql.com/downloads/connector/j/)。这条线

 Class.forName("com.mysql.jdbc.Driver");

尝试找到mysql驱动程序。

第三,您必须确保您有权连接到数据库。这意味着数据库管理员提供了“用户”和“通过”对访问权限,以便从正在运行的服务器外部进行访问,并且如果mysql数据库连接端口(默认3306)已打开以接收您的请求。请咨询您的DBA。