根据MySQL 5.0 Reference Manual ,MySQL JDCB Connector/J 是“Type 4”驱动程序。我用来连接 JDBC 服务器的方法是...
Class.forName("com.mysql.jdbc.Driver").newInstance();
我的 JDBC 根本不起作用,作为我找出为什么不起作用的最后手段的一部分,我认为它可能是驱动程序。有人可以告诉我这是否是调用 getConnection() 驱动程序的正确方法?我真正寻找的是一个不同的命令,应该替换 Type 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
最佳答案
java.sql.SQLException: No driver found for jdbc:mysql//localhost:3306/mysql?user=user_name&password=pass_word
这意味着运行时类路径中缺少 JDBC 驱动程序(并且您抑制了 ClassNotFoundException 并继续),或者 JDBC URL 错误。实际上您的 JDBC URL 存在错误,mysql
和 //
之间缺少 :
。它应该看起来像
jdbc:mysql://localhost:3306/mysql?user=user_name&password=pass_word
这与驱动程序类型无关。请注意,com.mysql.jdbc.Driver
上不需要 newInstance()
调用。这是其古老的前身 org.gjt.mm.mysql.Driver
中的一个错误遗留下来的,它在构造函数中而不是在静态初始化 block 中使用 DriverManager
注册自身。
相关问题
关于java - JDBC 类型 4 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4742468/