根据MySQL 5.0 Reference Manual,MySQL JDCB Connector / J是“Type 4”驱动程序。我用来连接JDBC服务器的方法是......
Class.forName("com.mysql.jdbc.Driver").newInstance();
我的JDBC根本不起作用,作为我最后的手段,找出为什么这不起作用,我认为它可能是驱动程序。有人能告诉我这是否是为getConnection()调用驱动程序的正确方法?我真正需要的是一个不同的命令,它应该替换类型4 JDBC驱动程序的“com.mysql.jdbc.Driver”。
这是堆栈跟踪让我想到为什么这不起作用......
java.sql.SQLException: No driver found for jdbc:mysql://localhost:3306/mysql?user=user_name&password=pass_word
java.sql.DriverManager.getDriver(libgcj.so.10)
java.sql.DriverManager.getConnection(libgcj.so.10)
java.sql.DriverManager.getConnection(libgcj.so.10)
... blah blah blah
答案 0 :(得分:6)
java.sql.SQLException:找不到jdbc的驱动程序:mysql // localhost:3306 / mysql?user = user_name& password = pass_word
这意味着运行时类路径中缺少JDBC驱动程序(并且您已禁止ClassNotFoundException
并继续),或者JDBC URL错误。您的JDBC网址实际上存在错误,:
和mysql
之间缺少//
。它应该看起来像
jdbc:mysql://localhost:3306/mysql?user=user_name&password=pass_word
这与驱动程序类型无关。请注意,newInstance()
上不需要com.mysql.jdbc.Driver
来电。这是其古代前身org.gjt.mm.mysql.Driver
中的一个错误的遗留物,它在构造函数中使用DriverManager
而不是在静态初始化程序块中注册。