我尝试运行此代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class fun {
public static void main(String args[]) {
try {
Connection connection = DriverManager.getConnection(
"jdbc:mariadb://localhost:3306/", "root", "bingo");
}
catch(SQLException e) {
e.printStackTrace();
}
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class fun {
public static void main(String args[]) {
try {
Connection connection = DriverManager.getConnection(
"jdbc:mariadb://localhost:3306/", "root", "bingo");
}
catch(SQLException e) {
e.printStackTrace();
}
}
}
但是我收到以下错误:
java.sql.SQLException: No suitable driver found for jdbc:mariadb://ocalhost:3306/
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at fun.main(fun.java:8)
我从mariadb website下载了mariadb-java-client-1.4.6-sources.jar并将其放入我的jdkdirectory/jre/lib/ext/
目录
这就是我的CLASSPATH
变量的持有方式:
C:\Program Files\Java\jdk1.8.0_91\bin;
C:\Program Files\Java\jdk1.8.0_91\jre\lib;
C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext;.;
C:\ProgramFiles\Java\jdk1.8.0_91\jre\lib\ext\mariadb-java-client-1.4.6-sources.jar
答案 0 :(得分:1)
Jens在上面的评论中点击了它:如果它包含.java文件,你不需要源JAR。你想要字节码;我会看看是否有一个带有驱动程序.class文件的JAR。
你永远不应该在你的jre / lib / ext文件夹中放任何东西。在编译和运行时,最好学习如何正确处理CLASSPATH。
大多数Java开发人员将使用某种标准目录格式(例如Maven)在像IntelliJ这样的IDE中设置项目。使用Maven肯定会让它变得更容易,但如果你不是,我希望看到一个/ lib目录,其中包含所有第三方JAR,例如你的JDBC驱动程序。所有这些JAR都将在编译和运行时添加到CLASSPATH。
专业开发人员将他们的项目存储在Subversion,Mercurial或Git等源代码管理系统中。检查你的代码的任何人都应该能够看到所有的依赖关系。
“没有合适的驱动程序”也可能意味着已加载JDBC驱动程序类,但URL syntax不正确。
答案 1 :(得分:1)
如果问题不合适,可以找到驱动程序;在此链接中下载jdbc:
https://downloads.mariadb.org/connector-java/1.5.4/
和
选择包类型为jar的第二个选项
在连接字符串中,您忘记了数据库名称:
Connection connection = DriverManager.getConnection("jdbc:mariadb://localhost:3306/<database>", "root", "bingo");