java.sql.SQLException: ORA-28040: No matching authentication protocol
使用FineReport连接Oracle时,出现如下日志:
严重:java.sql.SQLException: ORA-28040: No matching authentication protocol
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at com.fr.dav.LocalEnv.testConnection(Unknown Source)
at com.fr.design.data.datapane.connect.DatabaseConnectionPane$1$1.doInBackground(Unknown Source)
at javax.swing.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at javax.swing.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
2019-07-23 10:49:03
正常:加载配置文件:"datasource.xml".
解决方法:
在报表软件安装目录下,我的是在D:\FineReport8.0-CN\FineReport8.0-CNInStall\FineReport_8.0\WebReport\WEB-INF\lib,有如上图片中名为 ojdbc** 的jar包,将他替换为你的Oracle所对应的 jar,我的替换为 ojdbc11,再次链接就可以了,注意需要将你原来的 ojdbc** 从原文件中删除(建议剪切到另外文件夹,备用)。