Cognos11.0.12 对接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 |
20M左右,可从官网下载。该包的作用是,odbc可能会用到pg的一些lib库文件。 |
|
unixODBC-2.3.0.tar.gz |
ftp://ftp.unixodbc.org/pub/unixODBC |
|
psqlodbc-12.00.0000.tar.gz |
|
- 依次解压并编译安装(需要编译为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 连接
- 登录cognos服务端,如:http://10.16.86.35:9300/bi/ 输入用户密码
- 进入管理控制台,新建数据源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安装包中的odbc和jdbc驱动,按照GaussDB A 8.0.0产品文档的操作配置odbc和jdbc后可以正常对接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.1中2和3的问题,最终发现是驱动使用的问题。官网原文如下:Before making the datasource connection in IBM Cognos Administration you will need to make sure that you have installed the 32bit PostgreSQL ODBC driver。Once 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要求odbc是32位的驱动,并且要使用32位的unixodbc,GaussDB A 8.0.0暂无linux下的32位驱动,都是64位的。下载psqlodbc、unixODBC、postgresql源码包,编译安装。详细过程见第4章使用ODBC对接cognos11。
- JDBC解决方法
cognos11中对pg的jdbc要求的版本与cognos10要求的不一样,cognos11要求postgresql-9.4.1202.jdbc42.jar,cognos10要求postgresql-9.4-1201.jdbc4.jar。
可以下载官方要求的jdbc驱动版本或者按照第3章使用jdbc对接cognos11中的方法把GaussDBA的jdbc驱动名称改名为要求的名字。
附:官方驱动安装说明,链接中网页最下面有对应驱动的下载地址。
https://www.ibm.com/support/pages/node/302939 (cognos11)
https://www.ibm.com/support/pages/node/530621 (cognos10)
- 点赞
- 收藏
- 关注作者
评论(0)