Jaspersoft Studio 6.2.1.3连接ODBC数据源报错:指定驱动未找到
解决Jaspersoft Studio 6.2.1.3中sun.jdbc.odbc.JdbcOdbcDriver找不到的问题
问题原因
sun.jdbc.odbc.JdbcOdbcDriver是JDBC-ODBC桥驱动,Java 8及以后版本已移除该驱动,Jaspersoft Studio 6.2.1.3默认运行环境为Java 8+,因此找不到该类。- 原Jasper Reports 5.6.0依赖的Java版本(Java 7及更早)仍包含此驱动,迁移后环境变化导致报错。
解决方案
1. 使用数据库原生JDBC驱动(推荐)
放弃JDBC-ODBC桥,改用目标数据库官方提供的原生JDBC驱动:
- 下载对应数据库的JDBC驱动Jar包(如MySQL的
mysql-connector-java、Oracle的ojdbc8等) - 将Jar包放入Jaspersoft Studio安装目录下的
plugins/net.sf.jasperreports_6.21.3.final/lib文件夹 - 重启Jaspersoft Studio
- 修改数据连接配置:
- 驱动类名替换为原生驱动类(例如MySQL用
com.mysql.cj.jdbc.Driver,Oracle用oracle.jdbc.driver.OracleDriver) - 更新JDBC URL为对应数据库的标准格式(如MySQL的
jdbc:mysql://localhost:3306/dbname?useSSL=false)
- 驱动类名替换为原生驱动类(例如MySQL用
2. 强制使用JDBC-ODBC桥(不推荐)
若因特殊需求必须使用ODBC,需手动适配:
- 从Java 7的JDK中提取
rt.jar内的sun/jdbc/odbc相关类,打包为独立Jar包(注意版权限制) - 将该Jar包添加到Jaspersoft Studio的类路径
- 切换Jaspersoft Studio的运行环境为Java 7,但此方式存在兼容性、安全风险,不建议采用
3. 检查并修正数据连接配置
确认数据连接中是否错误配置了sun.jdbc.odbc.JdbcOdbcDriver作为驱动类,若有则替换为原生驱动类,同步调整JDBC URL。
内容的提问来源于stack exchange,提问作者Steve Dyke
相关产品推荐
相关产品推荐

