【更新】用cognos SDK将报表下载到本地

本资料无预览

如感兴趣请 1 金币购买后下载

立即下载

资料简介:
抱歉由于工作原因,又再次和cognos无缘了。 可能是更偏向于底层以及SDK的开发, 一直没有机会从事更多关于cognos的开发。 M@X 大虾找到我,希望我能更新一下cognos lib的连接, 一直无法让大家正常运行是我的错~~~
关于版本的问题, 我这里想说一下。 对于windows平台下,8.3. 8.4的类库没发现什么问题, 但在AIX下,8.4就必须使用8.4的类库,而且有些依赖的类库也必须替换, 这让我想起了当年一个非常小的jar包依赖,而不得不出差坐半天火车解决后,又当天坐火车回来。

先决条件:
1. 熟悉JAVA,会使用JAVA开发工具,比如说Netbeans, Eclipse等等
2. 下载依赖的cognos SDK jar包, 下载地址为:
http://www.cognoschina.net/club/thread-3475-1-2.html
3.源代码可能太长了,帖子有字数限制,想要完整的,直接下载Lesson1.rar解压后,就行了。

由于工作需要,快速的了解了cognos SDK如果将服务器上的报表下载到本地。
我们的系统是 JavaEE + cognos, 将cognos的报表信息都另存一份在 Java EE系统中, 用户点击下载时, 便触发代码来调用cognos SDK,实现下载功能。而这一切对用户来所是透明的,这也是大家期望达到的效果。

好吧,咱们现在就来做一个最简单的报表导出吧。

首先,你得有张报表,如果还不清楚如何创建报表,“Anda教程” “Andy教程”一定有适合你的。 现在假设我已经有一张报表,请看下图



里面的内容为



一会儿生成到本地的excel就包含上面内容。


然后编写一个JAVA程序,这个JAVA程序得有个几百行。 详细的代码注释,与说明都写上了, 你只要修改大概6到7处,才能保证正常运行。如果运行的时候,遇到什么问题,可以回贴,我有空就会回复的。

导出excel的流程就是:

1.连接cognos服务
2.登录cognos(没有配置CA,就不需要这一步)
3.设置cognos执行excel导出事件
4.不断的向cognos服务器发请示,判断是否已经生成excel
5.生成excel,下载到本机

运行程序的时候,可能有点慢,耐心等待一会,完成后,你可以看看你自己设定的盘符下是否已经生成了excel。其中程序运行的时候,如果输出,下列信息,则表示生成成功
报表: /content/package[@name='MSSQL']/report[@name='test']
将在 2009-10-25 19:09:35.687 开始运行。
cognos的event管理服务为其生成的事件唯一编号为: C0A8016801CF481301248A9EF7988002001248b631047
你可以在congos门户中的Cognos Administration->状态中,看到此即将进行的活动。
报表已经生成到本地文件系统 d:test.xls中了。

导出完成.
当然,你也可以在Cognos Administration看到这个计划的一系列变化:

加入到计划调度中:



正在执行:



执行完成:




最后打开生成的excel,发现内容属实:





问题: 在使用cognos导出excel时,容易发生类似于死锁的问题——不得不重启数据库后,才能再次倒出,而且导出的时候是依靠设定的导出时间来判断excel属于哪个用户,如果在高并发的情况下,可能会出乱子。 而Cognos SDK的doc文件,连个注释说明都没有。哎,期待高手出现。



最后附上完整的源代码如下:
2009-10-25
浏览31726
下载498

已下载用户的评价8.00分

您还未下载该资料,不能发表评价;
查看我的 待评价资源
yizhenyizhen研发工程师ntt2018-04-04
有用
EventManagementService_port 这个用到那个包,我看到好多包都有这个
hua1883hua1883软件开发工程师rf2017-09-14
有用
谢谢分享!
lyc162743lyc162743软件开发工程师International Business Machines Corporation2016-06-07
有用
挺牛B的,呵呵
chendf_20chendf_20软件架构设计师神州数码2016-06-01
有用
挺牛B的,呵呵
小新小新软件开发工程师xx2014-07-28
没用
狂顶楼主。。
quicksongquicksong软件开发工程师ibm2014-03-10
没用
不错 受用了
SanGeERSanGeER其它河海2013-10-29
没用
楼主真神人也
gouqinggouqing系统分析师Xyzzy2013-09-14
没用
很需要sdk的资料,mark
haijun2100haijun2100软件开发工程师cy2013-07-31
没用
好东西! 谢谢分享
trizytrizy软件开发工程师cc2013-07-09
没用
你好,最近刚开始看SDK,有个需求咨询一下,现要使用SDK实现自动导出同时导入到另一台环境上,相当于开发环境的包导入到测试环境。 方法:分三部分,制作两个bat文件实现 一、配置相关参数,实现指定文件夹的导出----export.bat 二、将导出成功后的包(../Deployment目录下),放入到测试机子对应的../Deployment目录下 三、获取该目录下得包,实现导入------import.bat 现同台服务器的导入导出已实现,因为导入导出包都读取Deployment目录下的文件 问题: 上述第二步的功能如何实现? 我想的是在开发环境点击export.bat实现导出同时../Deployment目录下数据包copy放入一共享文件夹,然后在另一台服务器(测试环境)点击import.bat读取共享文件夹内的数据copy 至测试环境../Deployment目录下实现导入,请教这步SDK如何读取../Deployment目录? [b]回复 [url=http://www.cognoschina.net/club/redirect.php?goto=findpost&pid=20093&ptid=3476]5#[/url] [i]anda[/i] [/b]

贡献者

X社区推广