Cognos11.0.12 对接GaussDB A

举报
输入啥昵称好呢 发表于 2021/01/06 09:45:33 2021/01/06
【摘要】 Cognos是IBM公司研发的一款BI工具,实现了企业级的交互式数据库查询和报表生成。本文介绍cognos11.0与GaussDB A的对接。

Cognos11.0.12 对接GaussDB A 8.0

1.       Cognos 介绍

        Cognos是IBM公司研发的一款BI工具,实现了企业级的交互式数据库查询和报表生成。它不仅能够让企业的每一位员工都能够轻松自如地访问企业重要数据,有效地管理其业务,还能对企业数据进行多维分析和统计汇总,为企业管理者决策提供依据。cognos11与cognos10相比,变动较大。

2.       环境准备

  • GaussDB A已经安装完成。
  • Cognos已经安装完成。Framework Manager已经安装完成。

本文验证所用Cognos及GaussDB A的版本和操作系统信息如下:

软件

版本

操作系统

IBM cognos

11.0.12

Redhat6.5

GaussDB A

8.0.0

Redhat 7.4


3.       使用JDBC对接cognos11

3.1 在Cognos 服务器端配置 GaussDB A JDBC 驱动

        在Cognos服务器端配置GaussDB A的JDBC驱动后,Web端才可以通过JDBC连接GaussDB A,并将GaussDB A设置为数据源以完成对接。

  • 解压GaussDB A安装包获得JDBC驱动包 jar。

       

       

  • 将JDBC驱动 jar 复制到Cognos的安装目录下的:<cognos install>/drivers。(与cognos10版本的配置路径有差异)。
  • jar 重命名为 postgresql-9.4.1202.jdbc42.jar。(cognos10版本的需改成postgresql-9.4-1201.jdbc4.jar)。
  • 重启Cognos服务使配置生效。

        ----结束


    3.2 在Cognos Web 端将GaussDB A 配置为数据源

             在Cognos Web端将GaussDB A配置为数据源后,Framework Manger可以将GaussDB A数据制作成数据包,并发布到Cognos服务端,最终由Cognos Web端的Report Studio根据已发布的数据包自定义生成报表。

    • 打开浏览器通过 http://serverIP:9300/bi访问Cognos server。例如:访问 http://189.122.105.25:9300/bi


           

    • 点击左下角“管理”进入管理界面后选择“管理控制台”,跳转到新的界面,点击“配置”标签,单击右上角的(新建数据源)。

           

    • 配置数据源,通过JDBC连接GaussDB A。输入名称,单击“下一步”。

           

    • 类型中选择标准JDBC,单击“下一步”。

           

    • JDBC URL: jdbc:postgresql://<host>:<port>/<database-name> 替换为实际值。登录中的用户信息和密码使用可连接到数据库的用户帐号及密码。

            说明:基于安全考虑,GaussDB A已禁止使用omm用户进行远程连接。故需要使用自行创建的用户,例如 “test_user”。配置结束后单击“测试连接”。

           

    • 单击“测试”,查看能否成功连接数据源。

           

    • 如下表示数据源连接成功。

           

    • 保存数据源配置生成数据源。

           

        ----结束

     


    3.3 测试报表是否可直连数据库

    • 随便找一张报表,点击编辑报表。

           

    • 点击左侧工具栏“查询”-“查询”,然后再点击左侧工具栏“工具箱”(锤子图标)。

           

           

    • 拖动查询下面的“sql”图标到右侧,然后点击右上角“显示属性”。

           

    • 点击“数据源”,选择前面配置的数据源JDBC_TO_GaussDB,点击确定。

           

    • 点击右侧“sql”后面的…按钮,打开sql窗口。输入查询语句,点击验证。

           

    • 验证通过。

           

    • 如果第6步报以下错误,可以从pg官网下载postgresql-9.4.1202.jdbc42.jar驱动,按照上面的方法重新配置。

            

           

            

     

    4.       使用ODBC对接cognos11

            以下操作在cognos服务器上操作。

    4.1 准备并安装驱动

    • 网上下载以下软件源码包:

    名称

    网址

    附件

    postgresql-9.2.4.tar

    https://www.postgresql.org/ftp/source/v9.2.4/       

    https://ftp.postgresql.org/pub/source/v9.2.4/

    20M左右,可从官网下载。该包的作用是,odbc可能会用到pg的一些lib库文件。

    unixODBC-2.3.0.tar.gz

    ftp://ftp.unixodbc.org/pub/unixODBC

    psqlodbc-12.00.0000.tar.gz

    https://www.postgresql.org/ftp/odbc/versions/src/


     

    • 依次解压并编译安装(需要编译为32位的)

            注意:如果原来系统里面已经安装过上面三个软件需要先卸载后再安装。

             #postgresql

            ./configure  CFLAGS="-m32"  --without-readline --without-zlib --prefix=/usr/local/pgsql/

            make

            make install

     

            #unixODBC

             ./configure  CFLAGS="-m32"  --prefix=/usr/local/unixodbc/

            make

            make install

     

            #pgsqlodbc

            ./configure  CFLAGS="-m32"  --prefix=/usr/local/psqlodbc/ --with-unixodbc=/usr/local/unixodbc/ --with-libpq=/usr/local/pgsql/

     

            使用odbcinst –j 进行测试 ,确定使用的是新安装的unixodbc ,如果不是,需要设置PATH

           

    •  配置DSN

            修改 vi $ODBCINI ,添加 如下内容

           [TRCBDB]

           Driver=/usr/local/psqlodbc/lib/psqlodbcw.so

           Servername=10.16.87.113

           Port=25308

           Database=trcbdb

           Username=etl_usr

           Password=etl_usr@123

           Sslmode=allow

     

    • 测试连接

           [root@cognos02 analytics]# isql -v TRCBDB

           +---------------------------------------+

           | Connected!                            |

           |                                       |

           | sql-statement                         |

           | help [tablename]                      |

           | quit                                  |

           |                                       |

           +---------------------------------------+

           SQL>

           

     

    • 重启cognos

            [root@cognos02 bin64]# pwd

            /cognos/analytics/bin64

            [root@cognos02 bin64]# ./shutdown.sh

            JAVA_HOME is /cognos/jdk1.8.0_171

            JRE_HOME is

            JAVA_CMD is /cognos/jdk1.8.0_171/bin/java

            正在停止服务器 cognosserver。

            服务器 cognosserver 已停止。

            [root@cognos02 bin64]# ./startup.sh

            JAVA_HOME is /cognos/jdk1.8.0_171

            JRE_HOME is

            JAVA_CMD is /cognos/jdk1.8.0_171/bin/java

            COGNOS_INSTALL_DIR is /cognos/analytics

            LD_LIBRARY_PATH is set to /cognos/analytics/bin64:.::/usr/local/nz/lib:/lib64/:/usr/local/lib/:/usr/local/pgsql/lib/:/usr/local/psqlodbc/lib:/usr/local/nz/lib:/lib64/:/usr/local/lib/:/usr/local/pgsql/lib/:/usr/local/psqlodbc/lib

            正在启动服务器 cognosserver。

            服务器 cognosserver 已启动,进程标识为 128015。

     

    4.2 在cognos 服务端配置odbc 连接

           

    • 进入管理控制台,新建数据源GaussDBODBC

           

           

           


    • 填写ini中配置的数据源TRCBDB

           

    • 点击测试链接,成功。

           

     

    4.3 测试报表是否可直连数据库

    • 随便找一张报表,点击编辑报表。

           

    • 点击左侧工具栏“查询”-“查询”,然后再点击左侧工具栏“工具箱”(锤子图标)。

           

           

    • 拖动查询下面的“sql”图标到右侧,然后点击右上角“显示属性”。

           

    • 点击“数据源”,选择前面配置的数据源GaussDBODBC,点击确定。

           

    • 点击右侧“sql”后面的…按钮,打开sql窗口。输入查询语句,点击验证。

           

    • 验证成功。

           

     

     

    5.       GaussDB A 8.0.0对接cognos11遇到的问题

    5.1 问题描述

    • 1、对接cognos10版本时,客户的cognos10安装在windows server服务器上,使用GaussDB A 8.0.0安装包中的odbcjdbc驱动,按照GaussDB A 8.0.0产品文档的操作配置odbcjdbc后可以正常对接cognos10
    • 2、对接cognos11版本时,客户的cognos11安装在linux系统上(5),使用GaussDB A 8.0.0安装包中的jdbc驱动,按照congnos10版本的配置方法配置后,数据源可以正常配置。但在cognos工具直连数据库取数据时报错。报错信息如下:

           

           

    • 3、对接cognos11版本时,客户的cognos11安装在linux系统上(5),使用GaussDB A 8.0.0安装包中的odbc驱动,按照GaussDB A 8.0.0产品文档的操作配置odbc后,在linux系统后台执行isql -v TRCBDB可正常连接到集群,但在cognos11配置odbc数据源后会报下图中的错。

           

     

    5.2  解决方案

            针对5.123的问题,最终发现是驱动使用的问题。官网原文如下:Before making the datasource connection in IBM Cognos Administration you will need to make sure that you have installed the 32bit PostgreSQL ODBC driverOnce this is complete you will need to download the necessary JDBC driver file(postgresql-9.4.1202.jdbc42.jar) from the PostgreSQL Site then copy that to the <cognos install>/drivers directory.

    详细内容见后面网址或图片。

    • ODBC解决方法

            cognos11要求odbc32位的驱动,并且要使用32位的unixodbcGaussDB A 8.0.0暂无linux下的32位驱动,都是64位的。下载psqlodbcunixODBCpostgresql源码包,编译安装。详细过程见第4章使用ODBC对接cognos11

    • JDBC解决方法

            cognos11中对pgjdbc要求的版本与cognos10要求的不一样,cognos11要求postgresql-9.4.1202.jdbc42.jarcognos10要求postgresql-9.4-1201.jdbc4.jar

    可以下载官方要求的jdbc驱动版本或者按照第3章使用jdbc对接cognos11中的方法把GaussDBAjdbc驱动名称改名为要求的名字。

    附:官方驱动安装说明,链接中网页最下面有对应驱动的下载地址。

    https://www.ibm.com/support/pages/node/302939    (cognos11

    https://www.ibm.com/support/pages/node/530621    (cognos10


     

    【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
    • 点赞
    • 收藏
    • 关注作者

    评论(0

    0/1000
    抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。