net.sf.jasperreports.engine.fill.JRExpressionEvalException
Hi!
I am trying to change the print engine from an old software project to JasperReports.
Some data comes in a wrong characterset over the jdbcodbc-interface. I can't use an other driver, because this is a verry special database.
I helped me with changing the fields to a new String($F{LB_TEXT}.getBytes(), "MacRoman").
This worked verry well under iReport and Eclipse. And also, if I test my code over a btach-file under Windows XP.
But if I call the programm inside the old application (same place, and same way as in the batch-file), I get the following error.
***
ERROR!
Message:
net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression :
Source text : new String($F{LB_TEXT}.getBytes(), "MacRoman")
Level:
SEVERE
Stack Trace:
Error evaluating expression : Source text : new String($F{LB_TEXT}.getBytes(), "MacRoman")
net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:197)
net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:537)
net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:505)
net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:826)
net.sf.jasperreports.engine.fill.JRFillTextField.evaluateText(JRFillTextField.java:368)
net.sf.jasperreports.engine.fill.JRFillTextField.evaluate(JRFillTextField.java:353)
net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:275)
net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:426)
net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:1380)
net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupHeader(JRVerticalFiller.java:591)
net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupHeaders(JRVerticalFiller.java:524)
net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:253)
net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:113)
net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:879)
net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:782)
net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)
net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)
net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:234)
biz.soag.jr4ao.helpers.CreateReport.fillReport(CreateReport.java:112)
biz.soag.jr4ao.helpers.CreateReport.doInBackground(CreateReport.java:67)
biz.soag.jr4ao.helpers.CreateReport.doInBackground(CreateReport.java:1)
javax.swing.SwingWorker$1.call(Unknown Source)
java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
java.util.concurrent.FutureTask.run(Unknown Source)
javax.swing.SwingWorker.run(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
MacRoman
java.lang.StringCoding.decode(Unknown Source)
java.lang.String.<init>(Unknown Source)
java.lang.String.<init>(Unknown Source)
LB45Ausdruck46d_lb_pos_1217230426744_870805.evaluate(LB45Ausdruck46d_lb_pos_1217230426744_870805:389)
net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:186)
net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:537)
net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:505)
net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:826)
net.sf.jasperreports.engine.fill.JRFillTextField.evaluateText(JRFillTextField.java:368)
net.sf.jasperreports.engine.fill.JRFillTextField.evaluate(JRFillTextField.java:353)
net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:275)
net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:426)
net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:1380)
net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupHeader(JRVerticalFiller.java:591)
net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupHeaders(JRVerticalFiller.java:524)
net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:253)
net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:113)
net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:879)
net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:782)
net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)
net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)
net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:234)
biz.soag.jr4ao.helpers.CreateReport.fillReport(CreateReport.java:112)
biz.soag.jr4ao.helpers.CreateReport.doInBackground(CreateReport.java:67)
biz.soag.jr4ao.helpers.CreateReport.doInBackground(CreateReport.java:1)
javax.swing.SwingWorker$1.call(Unknown Source)
java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
java.util.concurrent.FutureTask.run(Unknown Source)
javax.swing.SwingWorker.run(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
***
The problem comes from the conversation. Because if I don't make the conversation, or leafe the filed away, there is no error. But if I don't make the conversation, some german characters (Umlauts) are not correct.
Has anybody an idea?
Thanks,
Christian.