使用DriverManager连接到外部mysql数据库 - Java

时间:2013-01-30 15:27:23

标签: java mysql database-connection

我想这对我来说是一个简单的语法错误。我前一段时间买了一个网络托管计划,并有一些空的MySQL数据库,我只想练习连接和传递一些数据。

我发现了很多关于如何做到这一点的帖子,但都涉及“localhost”作为IP。我从其他帖子收集了这个语法,但仍然收到错误消息

Unable to connect to database error: java.sql.SQLException: No suitable driver found for jdbc:mysql://ipAddress:port/dbName

我到处都看到这是一个URL问题,或者没有加载驱动程序。我已下载并将.jar放在IntelliJ中的Classpath中,但无法找到有关加载驱动程序文件的任何其他信息。这是我的代码,IP地址是我网站的IP。

Connection connection = null;

        try{
            Class.forName("com.mysql.jdbc.Driver").newInstance();

        } catch (Exception err){
            System.out.println(err.getMessage());
        }

        //Establish connection using DriverManager
        try {
            String host = "jdbc:mysql://ipAddress:3306/dbName";
            String uName = "userName";
            String uPass= "userPass";
            connection = DriverManager.getConnection(host, uName, uPass);
        } catch (SQLException err) {
            System.out.println("Unable to connect to database error: "+err);
        }

我尝试将“主持人”更改为我在网络上看到的一些不同的事情:

jdbc:mysql:ipAddress:3306/dbName
jdbc:mysql://ipAddress/dbName

我也跟着这个,但我的问题主要在于我认为的URL。 http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=%2Frzaha%2Fdb2drivr.htm

任何帮助将不胜感激!

编辑: 我下载了.jar并且不知道在哪里放置它所以我只是将它放在这个目录中,然后我将这个目录链接为Classpath。 //Library/Java/JavaVirtualMachines/jdk1.7.0_12.jdk/Contents/MacOS/mysql-connector-java-5.1.22-bin.jar!/ 从此链接:JConnector

我从我的机器上运行它并希望它连接到我的网络托管提供商数据库。该程序是一个简单的Java应用程序,它从JFrame中的文本框中获取输入。

4 个答案:

答案 0 :(得分:2)

您的具体错误消息:

Unable to connect to database error: java.sql.SQLException: 
No suitable driver found for jdbc:mysql://ipAddress:port/dbName

当执行的JVM无法找到您的应用程序时,无法在其类路径中找到MySQL Connector/J JAR。

在IntelliJ中,您可以转到File->Project Structure->Modules。对于您当前的模块,请单击Dependencies选项卡。单击图标以添加JAR或库,找到MySQL Connector/J JAR。

现在,如果您通过IntelliJ运行它,您的执行JVM应该找到它。

答案 1 :(得分:0)

我建议更换

 try {
     Class.forName("com.mysql.jdbc.Driver").newInstance();
 } catch (Exception err){
     System.out.println(err.getMessage());
 }

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

1)newInstance()无关紧要

2)如果没有这样的驱动程序让它抛出异常

答案 2 :(得分:0)

“找不到合适的驱动程序”表示JVM找不到您的mysql连接器jar文件。 您使用的是哪个版本的mysql java连接器?如果将它放在IntelliJ类路径中不起作用,请尝试将其作为项目的依赖项。

答案 3 :(得分:0)

您的代码似乎工作正常,问题必须与连接器有关。您目前使用哪种连接器?您可以使用J连接器并将jar文件添加到构建路径。