我想知道是否有人可以帮助我,我正在尝试连接到一个在线数据库。数据库被放在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);
}
}发布于 2014-02-28 22:22:52
您不能像这样连接到外部数据库。在服务器labs.cms.gre.ac.uk上运行的数据库将受到防火墙的保护,并且它位于运行服务器的网络的内部。因此,您将无法连接到此数据库。
即使您连接到本地数据库,代码中也存在多个问题:
在您正在使用的classpath.
希望这能有所帮助!
发布于 2014-02-28 22:24:35
差不多就是这样。
首先,这里的" 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驱动程序。
第三,您必须确保您有权连接到数据库。这意味着数据库管理员为您提供了"user“和"pass”对的访问权限,以便从它正在运行的服务器外部访问,并且如果mysql DB连接端口(默认为3306)已打开,则可以接收您的请求。请与您的DBA确认。
https://stackoverflow.com/questions/22097586
复制相似问题