首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Cognos8.3未能连接数据源。为什么?

Cognos8.3未能连接数据源。为什么?
EN

Stack Overflow用户
提问于 2011-08-05 16:25:16
回答 2查看 7.8K关注 0票数 0

我已经在我的机器上安装了CognosBI8.3,它有一个Windows 7操作系统64位.在IBMCognos8.3的支持环境列表中,没有列出Windows 7。此外,该公司还表示,该产品将只与32位第三方库集成。所以,你已经看到我的脚已经开始不舒服了。但无论如何,这是我的机器,这是我得到的软件,所以我决定看看他们是否会一起工作。

我还在我的计算机和Apache2.2服务器中安装了Oracle 10g Express数据库。到目前为止没有问题。

在进一步研究之前,我将ojdbc14.jar复制到Cognos /./webapp/p2pd/WEB/lib,并在Cognos配置中添加了Oracle数据库。测试通过了。

随着数据库的启动、Apache服务器的启动和Cognos的启动,我成功地在计算机上启动了Cognos连接。因此,看起来操作系统不是一个问题。

(你可以看到我在这个站点上所做的每一件事,因为两天前它似乎已经下降了,但我想最终还是会恢复的)

然后我决定尝试这些示例,所以我尝试创建一个从Cognos到Oracle数据库的数据源连接。因此,在管理配置控制台(即管理console > Configuration)中,我决定创建一个新的Oracle数据源。我把证件放了,但是..。测试失败。

失败消息:

代码语言:javascript
运行
复制
QE-DEF-0285 The logon failed.
QE-DEF-0323 The DSN(ODBC)/ServiceName is invalid. Either the DSN is missing or the host is inaccessible. 
RQP-DEF-0068 Unable to connect to at least one database during a multi-database attach to 1 database(s) in: 
testDateSourceConnection

UDA-SQL-0031 Unable to access the "testDataSourceConnection" database.
UDA-SQL-0532 Data Source is not accessible: "XE".
ORA-12154: TNS:could not resolve the connect identifier specified

RSV-SRV-0042 Trace back: 
...

据我所研究,这可能是许多事情,但似乎没有任何工作。以下是我尝试过的:

  1. 添加ODBC驱动程序。添加了Oracle XE驱动程序,甚至确保它是在32位ODBC管理器(即Windows\SysWOW64 64\odbcad32.exe)中完成的。那不管用。
  2. 在我的环境变量中添加了ORACLE_HOME、LD_LIBRARY_PATH和TNS_ADMIN。
  3. 修改了XE数据库,它返回了ok。
  4. 计算机中没有tnsnames.ora副本。
  5. 我试过了,并且能够通过sqlplus连接到数据库。我提到过Config数据库测试也通过了吗?
  6. 安装了Oracle XE客户端。但是,由于Oracle服务器安装在计算机中,并且也有一个客户端组件,所以没有对其进行太多操作。

有人遇到这个问题了吗?我已经好几天没能诊断出这个问题了,甚至连一点点的进步都没有。如果你想让我提供更多关于我尝试过的解决方案的信息,请问。如果你有一个潜在的解决方案,或者,更好的是,如果你以前能够解决这个问题,请告诉我如何!

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2011-08-05 17:00:34

有一点要记住: Cognos的某些部分是通过Java实现的,而其他部分是通过本机C++进程( BI总线进程)实现的。

Cognos使用JDBC从Java进程连接到内容存储数据库。

BI总线进程将使用本机Oracle客户端连接到oracle。

因此,根据您的描述,问题区域在本机oracle客户端配置中(或Cognos服务的角度)。

您提到了在windows中添加ORACLE_HOME、LD_LIBRARY_PATH和TNS_ADMIN环境变量,以及Oracle实用程序(如SQLPlus和TNSPing )正在为您工作。

添加环境变量时,是将它们添加到环境变量的系统区域,还是添加到用户区域.?

如果您将Cognos作为服务运行,它将是SERVICES.EXE的子进程,该进程作为系统运行(除非重新启动机器,否则也不会重新启动该进程)。

我想试试这个:

  1. 确保为系统用户(在系统区域,而不是用户区域)定义了上述环境变量。
  2. 一旦你这样做了,重新启动机器

看看现在是否可以创建数据库连接。

如果这不起作用,我建议作为系统用户对SQLPlus或TNSPING执行"run“操作(并查看这是否有效)。

票数 1
EN

Stack Overflow用户

发布于 2011-08-09 19:40:06

为了使用oracle作为数据源,必须安装32位客户端。64位客户端将无法工作。因此,如果您安装了oracle快递64位,并且不想卸载它,您只需安装额外的32位客户端,并确保将其设置为您的默认主页。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6959482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档