<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-15  評論-79  文章-0  trackbacks-0

        對COGNOS有一定了解以后,經(jīng)理逐漸發(fā)現(xiàn)COGNOS的強(qiáng)大之處,特別的立方體模型使數(shù)據(jù)倉庫更有條理而且訪問速度更快。但是也了解到了COGNOS的劣勢,應(yīng)該說是IBM整體的劣勢,也就是界面太丑。雖然COGNOS也包含了幾乎所有的圖表,樣式也可以調(diào)整。但是對COGNOS的界面調(diào)整太復(fù)雜,幾乎看的比較好的COGNOS顯示界面都要有HTML對象來調(diào),更或者無論你怎么調(diào)也是基于HTML,在色彩和動畫方面不會有很大的空間了。
        于是經(jīng)理在想,是不是可以把只用COGNOS對數(shù)據(jù)的抓取優(yōu)勢而在顯示層用別的方式呈現(xiàn)呢(比如flex或者別的)?如果COGNOS能開發(fā)更多的前端顯示接口固然好,但這是不可能的,當(dāng)然,經(jīng)理知道這樣做會損失一部分性能,但是對現(xiàn)在大多對界面都很挑剔的客戶,這肯定是一條比較好的路。
        OK,那么現(xiàn)在經(jīng)理把做的一個java調(diào)用cognos端直接返回XML字節(jié)流的例子和大家分享下。
    一、環(huán)境
        硬件環(huán)境:主屏2.0Hz+內(nèi)存3gb+系統(tǒng)32位
        軟件環(huán)境:cognos 8.41+Myeclipse8.5ga+sqlserver2000sp4

    二、IBM Cognos Connection部分
        首先,我用framework做了了一個灰常簡單的包(所謂非常簡單就是里面完全沒有維度和亮度,直接隱射的數(shù)據(jù)庫表列),并把他發(fā)布到公共文件夾,名為test_sdk_paser

    然后在這個包下用report studio做了一個灰常簡單的報表,名為test

    這個報表就是我們之后要在java中獲取其數(shù)據(jù)的報表。
    三、COGNOS SDK調(diào)用程序
        0.準(zhǔn)備步驟.
    我們先要把sdk所需要的包考到項(xiàng)目中來。必要包的位置在D:\cognos\c8\sdk\java\lib\下,先給大家看看我的目錄結(jié)構(gòu)

        1.我建立了一個config.properties文件用來存放congos服務(wù)器的ip和端口

        在java中對應(yīng)寫一個從properties中獲取數(shù)據(jù)的方法

        2.弄清楚報表的xpath
        這個xpath我們可以在報表的 設(shè)置屬性-->常規(guī) 找到

        xpath是十分重要的,其實(shí)報表ID也十分重要,這個經(jīng)理以后會跟大家寫。
        3.連接cognos服務(wù)器
    經(jīng)理這里用ReportService_ServiceLocator對象的getreportService方法來獲得一個ReportService_Port對象。
    getreportService需要一個參數(shù),是cognos服務(wù)器地址,http://localhost/p2pd/servlet/dispatch
    ReportService_Port是報表操作對象,我們就是用這個對象的run方法來運(yùn)行cognos端報表。


        4.設(shè)置cognos認(rèn)證信息
    經(jīng)理這里的cognos設(shè)置了NTML認(rèn)證,那么是需要在sdk代碼中設(shè)置認(rèn)證信息的。

    用CAM方式進(jìn)行登陸


        5.設(shè)置report的參數(shù)
    本例中用HashMap來傳遞report的參數(shù),用循環(huán)的方式把外界的參數(shù)從HashMap中取出來,設(shè)置到ParameterValue的value中去。

        6.cognos運(yùn)行報表設(shè)置
    每項(xiàng)代表什么經(jīng)理已經(jīng)把注釋寫的很清楚了。


    這里尤其提醒大家注意的一點(diǎn)是,RunOptionEnum.prompt這個參數(shù)一定要設(shè)置,設(shè)置這個參數(shù)是當(dāng)cognos運(yùn)行有參數(shù)的report時候,不彈出html提示窗口。經(jīng)理之前就是沒有設(shè)置這個參數(shù),所以在測試帶參數(shù)報表的時候搞了一天都沒搞出來。
    那么這個option到底還有多少參數(shù)呢?經(jīng)理給大家看啊看你cognos sdk的官方API

    大家看到了吧,官方的API只是把枚舉值做了一個羅列,具體他們是做什么的?有什么作用?什么都沒說。經(jīng)理當(dāng)然也看了sdk的源碼,希望能在源碼中找到一點(diǎn)注釋,結(jié)果是:sdk的java文件沒有一行注釋代碼。
    經(jīng)理在這里不想罵人,現(xiàn)在終于知道為什么cognos sdk這個領(lǐng)域這么弱了。
        7.運(yùn)行cognos報表并返回xml數(shù)據(jù)
    經(jīng)理在這里統(tǒng)計(jì)了一下用sdk返回?cái)?shù)據(jù)的時間。
    之前講過用ReportService_Port的run方法可以讓report運(yùn)行,然后返回一個叫AsynchReply的對象,這個對象中有details[]屬性,這個里面基本上包含了report返回的所有信息。而他的status屬性則標(biāo)識了此次請求是否成功。


    OK,現(xiàn)在代碼都解釋完了,現(xiàn)在來測試下。

    經(jīng)理在這里寫了一個簡單的測試?yán)樱弥爸v到的test_sdk_paser包中的test進(jìn)行測試


    下面再測試一個帶參數(shù)的報表

    把之前的那個報表加一個參數(shù)

    然后在這里輸入一個1

    得到這樣的數(shù)據(jù)

    稍微改動下代碼,然后run一下

    然后得到結(jié)果是這樣的

    正好和剛剛的結(jié)果一樣~~


    sdk取數(shù)據(jù)關(guān)鍵的也就是上面說的7個步驟。最后依然要BS一下cognos的開發(fā)者,居然在源碼中一行注釋都沒有,幫助文檔也不全面。
    所以還是集結(jié)大家的力量一起研究一起分享研究后的成果。
    歡迎大家一起來博客上討論。

    謝謝~

     

     

     

     

     

     

     

     

     

     


     

    posted on 2010-08-05 21:41 張?jiān)猈on 閱讀(6216) 評論(16)  編輯  收藏 所屬分類: Cognos

    評論:
    # re: Cognos SDK 研究學(xué)習(xí)手冊(二)之[java讀取report報表返回XML] 2010-08-05 22:51 | bonamana
    大哥,不要打這么多底紋好不好  回復(fù)  更多評論
      
    # re: Cognos SDK 研究學(xué)習(xí)手冊(二)之[java讀取report報表返回XML] 2010-08-05 23:38 | え經(jīng)理え
    最近太流行轉(zhuǎn)載了... 沒辦法··@bonamana
      回復(fù)  更多評論
      
    # re: Cognos SDK 研究學(xué)習(xí)手冊(二)之[java讀取report報表返回XML] 2010-08-11 14:47 | gf7
    轉(zhuǎn)載你是沒辦法制止的,再說轉(zhuǎn)了才說明你的好,有價值。你發(fā)表的目的是什么?  回復(fù)  更多評論
      
    # re: Cognos SDK 研究學(xué)習(xí)手冊(二)之[java讀取report報表返回XML] 2010-09-12 18:59 | 董懂
    請問輸入兩個參數(shù)怎么弄??而且你的index好像永遠(yuǎn)都是0吧。。--!  回復(fù)  更多評論
      
    # re: Cognos SDK 研究學(xué)習(xí)手冊(二)之[java讀取report報表返回XML] 2010-09-12 23:38 | え經(jīng)理え
    設(shè)置兩個我參數(shù)是一樣的..我試過的...

    你說的index指的是什么?..  回復(fù)  更多評論
      
    # re: Cognos SDK 研究學(xué)習(xí)手冊(二)之[java讀取report報表返回XML] 2010-09-14 14:09 | 董懂
    @え經(jīng)理え
    5.設(shè)置report的參數(shù) index變量。。。
      回復(fù)  更多評論
      
    # re: Cognos SDK 研究學(xué)習(xí)手冊(二)之[java讀取report報表返回XML][未登錄] 2010-09-20 14:56 | aa
    您能把cognos sdk的官方API上傳一份嗎?
      回復(fù)  更多評論
      
    # re: Cognos SDK 研究學(xué)習(xí)手冊(二)之[java讀取report報表返回XML][未登錄] 2010-09-20 15:16 | aa
    向您借問cognos sdk的官方API,
    能上傳一份嗎?或者說一下下載地址,找的實(shí)在是太久了,沒找到。
    謝謝。
      回復(fù)  更多評論
      
    # re: Cognos SDK 研究學(xué)習(xí)手冊(二)之[java讀取report報表返回XML] 2011-02-11 11:52 | tyoushinya
    麻煩能不能實(shí)現(xiàn)報表多張圖片的取得啊?
    查了一些資料只能找到取得一張圖片的例子。  回復(fù)  更多評論
      
    # re: Cognos SDK 研究學(xué)習(xí)手冊(二)之[java讀取report報表返回XML][未登錄] 2011-06-27 16:44 | 崔新鵬
    為什么我向cognos報表中傳兩個參數(shù)就不管用了那?????  回復(fù)  更多評論
      
    # re: Cognos SDK 研究學(xué)習(xí)手冊(二)之[java讀取report報表返回XML] 2011-07-08 11:06 | Cognoser
    雁過留聲,看過留言,jianchibuxie_777@sina.com  回復(fù)  更多評論
      
    # re: Cognos SDK 研究學(xué)習(xí)手冊(二)之[java讀取report報表返回XML] 2012-06-26 16:38 | 馬云
    謝謝~  回復(fù)  更多評論
      
    # re: Cognos SDK 研究學(xué)習(xí)手冊(二)之[java讀取report報表返回XML] 2013-08-23 11:06 | yuc
    請問返回這個xml文件有什么實(shí)質(zhì)性的用途呢?  回復(fù)  更多評論
      
    # re: Cognos SDK 研究學(xué)習(xí)手冊(二)之[java讀取report報表返回XML] 2013-12-31 09:53 | 黑蝙蝠
    請問一下如果報表的列項(xiàng)是合并的單元格,xml里面是否會展示出來?  回復(fù)  更多評論
      
    # re: Cognos SDK 研究學(xué)習(xí)手冊(二)之[java讀取report報表返回XML][未登錄] 2014-03-11 15:14 | 匿名
    第5項(xiàng)中 int index=0 應(yīng)該放在循環(huán)外面 還有參數(shù)名稱要和cognos報表中的參數(shù)名稱對應(yīng) 帶參報表終于解析出來了 。
      回復(fù)  更多評論
      
    # re: Cognos SDK 研究學(xué)習(xí)手冊(二)之[java讀取report報表返回XML][未登錄] 2014-03-11 15:17 | 匿名
    @匿名
    補(bǔ)充
    ParmValueItem[] p1 = new ParmValueItem[1];
    p1[0] = item1;  回復(fù)  更多評論
      
    主站蜘蛛池模板: 四虎国产精品永久免费网址| 成年私人影院免费视频网站| 亚洲精品国产免费| 操美女视频免费网站| 一个人免费观看www视频| 久久亚洲精品中文字幕无码| 成年女人毛片免费播放视频m| 4hu四虎免费影院www| 中文文字幕文字幕亚洲色| 亚洲国产日韩成人综合天堂| 亚洲综合免费视频| 美女裸免费观看网站| 亚洲视频精品在线观看| 免费大片在线观看网站| 亚洲综合免费视频| 巨胸喷奶水www永久免费 | 亚洲国产美女精品久久| www国产亚洲精品久久久| 182tv免费视视频线路一二三| 美女被暴羞羞免费视频| 亚洲日本在线观看网址| 久久久久久A亚洲欧洲AV冫| 毛片a级毛片免费播放100| 鲁丝片一区二区三区免费| 国产亚洲精品仙踪林在线播放| 久久精品九九亚洲精品| 久久精品亚洲男人的天堂| 最新中文字幕电影免费观看| 久久久久国产精品免费网站| 黄色一级视频免费| 亚洲一区精彩视频| 亚洲AV乱码一区二区三区林ゆな| 又大又粗又爽a级毛片免费看| 麻豆一区二区免费播放网站| 日本免费污片中国特一级| 人妻仑刮八A级毛片免费看| 亚洲精品无码少妇30P| 亚洲日韩乱码中文无码蜜桃| 亚洲一区二区三区首页| 亚洲欧洲无码AV电影在线观看| 亚洲 无码 在线 专区|