我想知道是否有人可以帮助我,我正在尝试连接到在线数据库。数据库放在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);
}
}
答案 0 :(得分:0)
您无法连接到此类外部数据库。在服务器labs.cms.gre.ac.uk上运行的数据库将受到防火墙的保护,它位于运行服务器的网络的内部。因此,您无法连接到此数据库。
即使您连接到本地数据库,代码中也存在多个问题:
希望有所帮助!
答案 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。