找不到适合 jdbc:mariadb 的驱动程序 (Netbeans)
No suitable driver found for jdbc:mariadb (Netbeans)
我正在使用 MariaDB 的 mariadb-java-client-1.5.7.jar
连接器,但它不起作用。
连接代码如下:
public DataAccess() throws SQLException, ClassNotFoundException {
this.driver = "org.mariadb.jdbc.Driver";
this.host = "jdbc:mariadb://localhost/bluebank";
this.user = "root";
this.password = "";
Class.forName(this.driver);
this.conn = DriverManager.getConnection(this.host, this.user, this.password);
}
我得到:
java.sql.SQLException: No suitable driver found for jdbc:mariadb://localhost/bluebank
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at DAO.DataAccess.<init>(DataAccess.java:31)
除了将其作为外部 jar 添加到库中外,我还在 Netbeans 的(服务)中将其作为驱动程序添加到数据库中。另外,如果我删除 Class.forName()
,它也不起作用。
您忘记了数据库的端口号:
this.host = "jdbc:mariadb://localhost:port_number/bluebank";
确保您的数据库连接器 jar 存在于您的 jar 库中:https://mariadb.com/kb/en/mariadb/about-mariadb-connector-j/
您可以在此处了解更多信息:
Connect to MariaDB from Java application in NetBeans on Linux (Mageia)
希望对您有所帮助
今天有类似的事情。在 Eclipse 中工作,没有使用纯 Java.
对我来说,拥有
很重要
Class.forName ("org.mariadb.jdbc.Driver");
让它在任何地方都能工作。
将url中的mariadb替换为mysql:
我自己遇到了这个问题:解决方案很简单……MariaDB 基本上还是MySQL。在 Url 你用来连接数据库 (jdbc:mariadb://localhost:3306) 因此你可以只使用 jdbc:mysql://localhost:3306 <- 我只是将 mariadb 替换为 mysql。它在 mariadb 服务器上仍然是 运行,但是它可以工作所以不要改变它 ;)
我仍然不知道为什么 none 其他解决方案有效,但至少它是一个解决方案
我正在使用 MariaDB 的 mariadb-java-client-1.5.7.jar
连接器,但它不起作用。
连接代码如下:
public DataAccess() throws SQLException, ClassNotFoundException {
this.driver = "org.mariadb.jdbc.Driver";
this.host = "jdbc:mariadb://localhost/bluebank";
this.user = "root";
this.password = "";
Class.forName(this.driver);
this.conn = DriverManager.getConnection(this.host, this.user, this.password);
}
我得到:
java.sql.SQLException: No suitable driver found for jdbc:mariadb://localhost/bluebank
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at DAO.DataAccess.<init>(DataAccess.java:31)
除了将其作为外部 jar 添加到库中外,我还在 Netbeans 的(服务)中将其作为驱动程序添加到数据库中。另外,如果我删除 Class.forName()
,它也不起作用。
您忘记了数据库的端口号:
this.host = "jdbc:mariadb://localhost:port_number/bluebank";
确保您的数据库连接器 jar 存在于您的 jar 库中:https://mariadb.com/kb/en/mariadb/about-mariadb-connector-j/
您可以在此处了解更多信息:
Connect to MariaDB from Java application in NetBeans on Linux (Mageia)
希望对您有所帮助
今天有类似的事情。在 Eclipse 中工作,没有使用纯 Java.
对我来说,拥有
很重要Class.forName ("org.mariadb.jdbc.Driver");
让它在任何地方都能工作。
将url中的mariadb替换为mysql:
我自己遇到了这个问题:解决方案很简单……MariaDB 基本上还是MySQL。在 Url 你用来连接数据库 (jdbc:mariadb://localhost:3306) 因此你可以只使用 jdbc:mysql://localhost:3306 <- 我只是将 mariadb 替换为 mysql。它在 mariadb 服务器上仍然是 运行,但是它可以工作所以不要改变它 ;)
我仍然不知道为什么 none 其他解决方案有效,但至少它是一个解决方案