java - JDBC 类型 4 驱动程序

标签 java mysql jdbc

根据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/

相关文章:

java.lang.NoSuchFieldError : ACCEPT_CASE_INSENSITIVE_VALUES

java - 如何使用 Java 从两个 for 循环中获取单独的输出

java - Libgdx 着色器设置 NullPointerException

postgresql - clojure.java.jdbc 中的嵌套事务

Mysql InnoDB 锁定原子读

java - 插入日期并得到错误的格式

java - 使用@Transactional 的类层次结构问题

mysql - 如何在mysql中的2列之间有2路唯一约束

php - 如何在Agiletoolkit Framework和mysql中检查电子邮件是否存在

MySQL : error 1265 data truncated for column 'due_date' at row1