我正在使用 iReport 5.7.0
我的任务是生成一个包含多个数据源的报告:XML数据源和数据库。
所以我创建了一个使用数据库连接的子报表
我做了以下步骤:
1)定义XML数据源
2)创建使用此数据源的报告
3)使用defaultesxpression创建一个名为“connection”的参数:
java.sql.DriverManager.getConnection("jdbc:oracle:thin:@192.168.10.239:1521:DBNAME", "DBUSER", "DBPW")
参数类:java.sql.Connection
3)使用连接表达式创建子报表:$P{connection}
但是我收到了以下错误
填写打印时出错...评估表达式时出错:源文本:java.sql.DriverManager.getConnection(“jdbc:oracle:thin:@ 192.168.10.239:1521:DBNAME”,“DBUSER”,“DBPW”) net.sf.jasperreports.engine.fill.JRExpressionEvalException:计算表达式时出错:源文本:java.sql.DriverManager.getConnection(“jdbc:oracle:thin:@ 192.168.10.239:1521:DBNAME”,“DBUSER”,“DBPW “)net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:263)at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:611)at net.sf.jasperreports .engine.fill.JRCalculator.evaluate(JRCalculator.java:579)在net.sf.jasperreports.engine.fill.JRFillDataset.setFillParameterValues(JRFillDataset.java:996)在net.sf.jasperreports.engine.fill.JRFillDataset.setParameterValues (JRFillDataset.java:637)net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1313)at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:931)at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:873)at net.s f.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:87)at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:287)at net.sf.jasperreports.engine.JasperFillManager.fillReport( JasperFillManager.java:760)位于org.openide的org.openide.util.RequestProcessor $ Task.run(RequestProcessor.java:572)的com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:891) .util.RequestProcessor $ Processor.run(RequestProcessor.java:997)引起:java.sql.SQLException:没有为jdbc找到合适的驱动程序:oracle:thin:@ 192.168.10.239:1521:java.sql.DriverManager上的DBNAME。的getConnection(DriverManager.java:596)在java.sql.DriverManager.getConnection(DriverManager.java:215)在report4_1407933336571_300812.evaluate(report4_1407933336571_300812:236)在net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java :250)......还有13个 打印未填写。尝试使用EmptyDataSource ...
请帮忙吗?
答案 0 :(得分:0)
我使用iReport-5.1.0
。
复制你的sql连接器,例如:mysql-connector-java-5.0.4-bin.jar
到
C:\ Program Files(x86)\ Jaspersoft \ iReport-5.1.0 \ platform9 \ lib
和restart your iReport
,再次运行您的报告。