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

使用DriverManager-Java连接到外部mysql数据库,java,mysql,database-connection,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/dbNam

我想这是我的一个简单语法错误。不久前我买了一个网络托管计划,有一些空的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内的类路径中,但找不到有关加载驱动程序文件的任何其他信息。这是我的代码,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。

任何帮助都将不胜感激

编辑: 我下载了那个.jar,不知道放在哪里,所以我把它放在这个目录中,然后我把这个目录链接成一个类路径。
//Library/Java/JavaVirtualMachines/jdk1.7.0_12.jdk/Contents/MacOS/mysql-connector-Java-5.1.22-bin.jar/
通过此链接:

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

我建议替换它

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

1) newInstance()是不相关的

2) 如果没有这样的驱动程序,让它抛出一个异常,“找不到合适的驱动程序”表示JVM找不到您的mysql连接器jar文件。
您使用的是哪个版本的mysql java连接器?如果将其放入IntelliJ类路径不起作用,请尝试使其成为项目的依赖项。

您的代码似乎工作正常,问题一定出在连接器上。您当前正在使用哪个连接器?您可以使用J连接器并将jar文件添加到生成路径。

您的特定错误消息:

Unable to connect to database error: java.sql.SQLException: 
No suitable driver found for jdbc:mysql://ipAddress:port/dbName
当正在执行的JVM无法找到您的应用程序无法在其类路径中找到
MySQL连接器/J
JAR时,将发生此错误

在IntelliJ中,您可以进入
文件->项目结构->模块
。对于当前模块,请单击
依赖项
选项卡。单击图标添加JAR或库,找到
MySQL连接器/J
JAR


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

是否检查了数据库服务器是否允许远程连接?这是类路径问题。您正在开发什么样的应用程序?网络应用程序?如果是,mysql驱动程序jar文件是否在部署的webapp的WEB-INF/lib目录中?您是在尝试从IDE(IntelliJ)中运行的代码连接到托管的远程mysql服务器,还是连接到开发机器上的本地mysql服务器?@NightWhisper是的,我忘了提到这一点。我允许我的机器的IP地址通过“Remote MySQL”。@JBNizet这是一个简单的JFrame,用于输入文本(在我的机器上),我想连接到数据库并传递数据(最终,但现在我只是尝试连接)。当我这样做时,在Class.forName(“com.MySQL.jdbc.Driver”)下出现了一条红线;它说
java:unreportedexception java.lang.ClassNotFoundException;必须捕获或声明抛出
我使用的是5.1.22版,下载时我只是将其放在任何目录中,并将其与一些Java文件分组。它必须在某个特定的地方吗?目录:
//Library/Java/JavaVirtualMachines/jdk1.7.0_12.jdk/Contents/MacOS/mysql-connector-Java-5.1.22-bin.jar/我从下载了它,然后在中链接了.jar。如果您使用的是eclipse,请转到配置构建路径,然后添加外部jar,浏览到提取J连接器的位置,并将jar文件添加到项目中。尝试构建它应该可以工作
Unable to connect to database error: java.sql.SQLException: 
No suitable driver found for jdbc:mysql://ipAddress:port/dbName