Cognos Transformer使用IQD做为数据源,如何修改连接信息

转自:http://space.itpub.net/21947683/viewspace-609868

Cognos PowerPlay是一种多维报表解决工具,Transformer则是其建模工具。通过Transformer建立多维模型并生成PowerCube,然后通过PowerPlay展示,这是Cognos多维报表的一般流程。

但是Transformer只能使用IQD(Impromptu Query Definition)或者文本数据或者一些桌面数据库如Access等做为数据源,而对于目前流行的关系数据库如Oracle/MS SQL Server等都没有提供直接的连接支持。因此,对于关系数据库,必须先使用Framework Manager生成IQD文件,然后再使用IQD作为Transformer的数据源。

但是Cognos 8 Framework Manager生成的IQD,在Transformer中使用时还是无法连接到数据源,报错:

(TR1008)Transformer couldn’t read the connection information for database [name] from file COGNOS.INI, from the IQD or from Access Manager.

这是由于Cognos 8 Framework Manager生成IQD只包含了数据库名字和查询语句,而没有包含数据库连接信息,一个典型的IQD文件如下

COGNOS QUERY
STRUCTURE,1,1
DATABASE,gosales
TITLE,[gosales].[ACTIVE_INDICATOR_LOOKUP]
BEGIN SQL
{select “ACTIVE_INDICATOR_LOOKUP”.”ACTIVE_INDICATOR” AS “ACTIVE_INDICATOR”, “ACTIVE_INDICATOR_LOOKUP”.”LANGUAGE” AS “LANGUAGE2″, “ACTIVE_INDICATOR_LOOKUP”.”DESCRIPTION” AS “DESCRIPTION”
from “GOSL”.”gort”.”ACTIVE_INDICATOR_LOOKUP” “ACTIVE_INDICATOR_LOOKUP”}
END SQL
COLUMN,0,ACTIVE_INDICATOR
COLUMN,1,LANGUAGE
COLUMN,2,DESCRIPTION

很 明显,对于数据库gosales,没有提供相应的连接信息。所以需要手动在cognos.ini(位于cognos安装根目录下,如c:\program files\cognos,注意:8.3版本没有cognos.ini,使用另外一个文件cs7g.ini,位于cognos安装目录 \CS7Gateways\bin\cs7g.ini
)中添加相应的连接信息。

在congos connection的tools->directory->Data Source找到相应的数据源,单击该数据源,然后选择set properties->Connection Tab里可以找到相应的connection string(cognos8.3在Cognos Administration-〉配置下察看与编辑数据源)

^User ID:^?Password:;LOCAL;OL;DBInfo_Type=MS;Provider=SQLOLEDB;User ID=%s;Password=%s;Data Source=.;Provider_String=Initial Catalog=GOSL;@COLSEQ=

然后在cognos.ini文件里添加

 [Databases]

 gosales=^User ID:^?Password:;LOCAL;OL;DBInfo_Type=MS;Provider=SQLOLEDB;User ID=%s;Password=%s;Data Source=.;Provider_String=Initial Catalog=GOSL;@COLSEQ=

如果数据源是Teradata,则需要将connection string中的分号去掉。保存后,再在Transformer中就可以正常使用该IQD作为数据源了。


解决后贴出详细情形:

1、新建cognos.ini 放在安装目录 D:\cognos\c8\CS7Gateways\bin;

2、编辑cognos.ini 内容如下

[Databases]
TEST=^User ID:^?Password:;LOCAL;OR;ORACLE@%s@HIS3/%s@COLSEQ=

以上TEST是你配置的数据源名称,“=”后面的连接字符串在配置数据源的测试的地方有显示,直接拷过来即可。

你可能感兴趣的:(Cognos Transformer使用IQD做为数据源,如何修改连接信息)