我在使用java和jdbc时遇到了一些麻烦。 特别是,虽然我的代码完全适用于NetBeans项目,但当我尝试在终端或我的ubuntu vps上执行它时(这是我需要它工作的地方)我总是得到这个例外:
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/quakes
首先要做的是:是的,我将jdbc .jar添加到execute命令和compile命令中;是的,我甚至试图添加
Class.forName("com.mysql.jdbc.Driver");
,
但我总是得到ClassNotFoundException: com.mysql.jdbc.Driver
例外
我正在使用的.jar与我在NetBeans项目中使用的完全相同,所以我知道我有正确的东西,甚至从官方网站再次下载它也不会改变一件事。
是的,数据库存在,如果我尝试连接到另一个数据库,结果不会改变。
我也试过切换到postgresql(是的,我没有忘记更改网址),但无济于事,它仍然无法找到驱动程序。
有了这个,我猜测实际错误是在编译/执行命令中,但即使它们也应该没问题:
javac *.java <-cp mysql-connector-java-5.1.41-bin.jar >
(&lt;&gt;括号表示我尝试使用和不指定类路径进行编译);
java TAW -cp mysql-connector-java-5.1.41-bin.jar
,
如果你想看到它,这是尝试连接数据库的方法:
public Connection getConnection() throws SQLException {
if (conn == null) {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/"+
this.dbname,this.user,this.pass);
}
return conn;
}
有没有人知道为什么会这样?
答案 0 :(得分:2)
您需要在主类的名称之前放置java的classpath选项,否则它被视为程序参数:
java -cp mysql-connector-java-5.1.41-bin.jar;. TAW
答案 1 :(得分:0)
You can use this method step by step to create connetion.
这是一个连接示例:
Class.forName("com.mysql.jdbc.Driver");
// Setup the connection with the DB
connect = DriverManager
.getConnection("jdbc:mysql://localhost/feedback?"
+ "user=sqluser&password=sqluserpw");