发新话题
打印

急!OSGI环境下使用JOR,中文字段无法解析,报告脚本解析错误,请求帮助

急!OSGI环境下使用JOR,中文字段无法解析,报告脚本解析错误,请求帮助

SQL语句如下: SELECT P.PRODUCT_CODE AS 产品编码 FROM Goods

表格中用"$.产品编码"取值,在设计器中预览等一切正常,但放到开发环境跑时,始终报告如下错误,如果换用英文,立即正确,与Unicode有关吗?何解,盼复!


脚本解析错误[reports-jor/goods/PurchasePlanReport.xml]:
Sourced file: inline evaluation of: ``$.产品名称;'' : Cannot access field: 产品名称, on object: jatools.dom.RowNode@fc4048c

Sourced file: inline evaluation of: ``$.产品名称;'' : Cannot access field: 产品名称, on object: jatools.dom.RowNode@fc4048c : at Line: 1 : in file: inline evaluation of: ``$.产品名称;'' : $ .产品名称

        at bsh.UtilEvalError.toEvalError(UtilEvalError.java:85)
        at bsh.UtilEvalError.toEvalError(UtilEvalError.java:90)
        at bsh.BSHAmbiguousName.toObject(BSHAmbiguousName.java:98)
        at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:105)
        at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:54)
        at bsh.Interpreter.eval(Interpreter.java:801)
        at bsh.Interpreter.eval(Interpreter.java:762)
        at bsh.Interpreter.eval(Interpreter.java:1015)
        at bsh.Interpreter.eval(Interpreter.java:1005)
        at jatools.engine.script.ReportContext.eval(ReportContext.java:241)
        at jatools.engine.script.ReportContext.get(ReportContext.java:324)


[ 本帖最后由 flashcloud 于 2010-11-22 01:46 编辑 ]

TOP

从你的错误来看,感觉RowNode里找不到中文的字段名,有可能是数据库as过来的中文,已经不是模板里的$.中文了,建议你这样:

1.osgi的环境里的jdbc驱动包,与你设计器里的lib下的驱动包,是否一致。
2.写一小段代码jdbc代码, 放到osgi上运行,看是否有as过的列名
复制内容到剪贴板
代码:
  
     执行 SELECT P.PRODUCT_CODE AS 产品编码 FROM Goods
     System.out.println(ResultSetMetaData.getColumnName(1).equals("产品编码"));

TOP

是的,高人!

换用JOR自带的mysql.jar就正确,不知何故。难道不同版本的mysql.jar还有差异吗?盼有知晓的人指点迷津!

TOP

发新话题