壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 338|回复: 0

通过专业报表从立方体抽取数据

[复制链接]
发表于 2012/3/18 15:52:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
我自己研究cognos的SDK,与自己的项目集成。想要实现将cognos数据立方体中的数据通过专业报表抽取的功能,并显示在自己项目前台。
我现在已经成功从以fm模型为数据源的专业报表数据抽取。如下:
public static void main(String[] args) {
  CognosImplDao ws=new CognosImplDao();
  HashMap htparams=new HashMap();
   htparams.put("USER_TEL", "13335246657");
   htparams.put("HOBBY_NAME", "股票行情");
  //将报表包名、报表名、用户名、密码、命名空间、参数集,传入访问cognos报表的方法,在方法内以xml形式运行
  //报表,返回xml格式字符串
  String xmlStr= ws.sdk_m_visit("myy", "useruse4", "ky", "ky123", "opends", htparams);
  test t=new test();
  t.getxml(xmlStr);//自己的xml字符串解析方法
}
运行结果如下:
log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectResourceBundle).
log4j:WARN Please initialize the log4j system properly.
Logging on as ky in the opends namespace.
Running the report...
Report search path is:
/content/folder[@name='myy']/report[@name='uts']
...done.
程序调用cognos运行时间:938ms
程序得到数据时间:21265ms
...done.
<?xml version="1.0" encoding="utf-8"?>
<dataset  xmlns="http://developer.cognos.com/schemas/xmldata/1/"  xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">
  <crosstab>
    <values>
      <value row="R1" col="C1">2</value>
      <value row="R2" col="C1">21</value>
      <value row="R3" col="C1">7</value>
      <value row="R4" col="C1">2</value>

此处略去剩余xml内容。注意此报表用的数据源是fm建的模型。这样OK。

小弟我遇到的问题是:如果报表的数据源换成cube也就是数据立方体的话,我的方法就出问题了。。。
运行结果:
Logging on as ky in the opends namespace.
Running the report...
Report search path is:
/content/folder[@name='myy']/report[@name='useruse4']
获取字符串为:
org.dom4j.DocumentException: Error on line 1 of document  : Premature end of file. Nested exception: Premature end of file.
at org.dom4j.io.SAXReader.read(SAXReader.java:318)
at org.dom4j.io.SAXReader.read(SAXReader.java:239)
at org.dom4j.DocumentHelper.parseText(DocumentHelper.java:215)
at cognos.test.getxml(test.java:47)
at cognos.test.main(test.java:40)
Nested exception:
org.xml.sax.SAXParseException: Premature end of file.
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.dom4j.io.SAXReader.read(SAXReader.java:302)
at org.dom4j.io.SAXReader.read(SAXReader.java:239)
at org.dom4j.DocumentHelper.parseText(DocumentHelper.java:215)
at cognos.test.getxml(test.java:47)
at cognos.test.main(test.java:40)
Nested exception: org.xml.sax.SAXParseException: Premature end of file.
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.dom4j.io.SAXReader.read(SAXReader.java:302)
at org.dom4j.io.SAXReader.read(SAXReader.java:239)
at org.dom4j.DocumentHelper.parseText(DocumentHelper.java:215)
at cognos.test.getxml(test.java:47)
at cognos.test.main(test.java:40)


小弟百思不得其解。。。。。。。。。。。。我就是换了个数据源而已,在Report Studio工具中运行正常,怎么在我的方法里就报错呢。。。
有用过此方法的前辈吗?如果有请赐教。是我的参数传递方法不对吗?
请高手指点,在此谢过!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 14:01 , Processed in 0.010588 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表