java - "Data source name not found and no default driver"

标签 java mysql odbc

java转mysql连接代码:

        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        System.out.println("Driver loaded");
        con = DriverManager.getConnection(url, "root", "sai");
        stmt = con.createStatement();
        System.out.println("Connection established");

执行上述代码后

"Driver loaded" message printed on console but,
after that following exception is printed - 
[Microsoft][ODBC Driver Manager] 
Data source name not found and no default driver specified

我已经为项目创建了DSN(MYSQL ODBC 3.51 Driver)

请告诉我上述问题的解决方案。

最佳答案

“如果可能的话,不要使用 JdbcOdbc 驱动程序,而是为您的数据库使用纯 JDBC 驱动程序!”

MySql 纯 JDBC 驱动程序的示例是 com.mysql.jdbc.Driver 类,该类位于可用的 mysql-connector-java-5.x.x.jar 文件中从 MySQL 下载.

关于 JDBC 和 JDBC-ODBC 之间差异的很好的解释可以在 wikipedia 上找到。

关于java - "Data source name not found and no default driver",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5361132/

相关文章:

java - java 7 nio 2 程序的意外输出

java - 字符串方法Append() : StringBuilder vs StringBuffer

java - JMS 中的重复持久订阅是什么

mysql - SQLSTATE[HY000] : General error: 1364 Field 'id' doesn't have a default value in Laravel 6

mysql 1054,未知列,但我没有指定列

mysql - key 1 的重复条目 '2014-02-28' 错误代码 : 1062

python - 更改 pyodbc 期望 libodbc.2.dylib 存在的位置(更改默认 odbc 文件位置)

java - @exceptionhandler 不在 Spring REST 中工作

php - mysqli 的 odbc_result 方法的替代方法

java - FoxPro ODBC 在数字字段上给出零而不是 null