2011-08-05 78 views
0

我在我的機器上安裝了Cognos BI 8.3,它具有Windows 7 OS 64位。在IBM的supported environment list for Cognos 8.3中,未列出Windows 7。最重要的是,該產品將只與32位第三方庫集成。所以,你已經可以看到我已經開始不好。但不管怎麼說,這是機器,我有,這是我得到的軟件,所以我決定去看看他們是否會一起工作..Cognos 8.3無法連接到數據源。爲什麼?

我安裝的Oracle 10g Express數據庫也是在我的機器和Apache 2.2服務器。到那裏沒有問題。

前進一步移動,我複製ojdbc14.jar複製到Cognos /.../的webapps/p2pd的/ WEB-INF/lib和在Cognos配置增加了Oracle數據庫。測試,通過。

與數據庫啓動,Apache服務器啓動,和Cognos開始,我能夠成功啓動計算機上Cognos Connection中。所以,它看起來像操作系統不是一個問題。

(你可以看到一切,我沒有按照這個site的步驟,因爲前兩天似乎下來,但我想最終會補回來)

於是我決定嘗試樣本,所以我嘗試創建從Cognos到Oracle數據庫的數據源連接。因此,在管理配置控制檯(即管理Cognos目錄>配置)中,我決定創建一個新的Oracle數據源。我把憑證,但BAM ..測試失敗。

失敗消息:

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 \ odbcad32.exe)中完成的。這沒有用。

  2. 新增ORACLE_HOME,LD_LIBRARY_PATH和TNS_ADMIN我的環境變量。

  3. tnsping'ed的XE數據庫,並將其平安返回OK。

  4. 計算機中沒有tnsnames.ora重複項。

  5. 我試過了,我可以通過sqlplus連接到數據庫。我提到Cognos Config數據庫測試是否也通過了?

  6. 已安裝的Oracle XE客戶端。但是沒有做太多的工作,因爲Oracle服務器安裝在計算機中,並且還有一個客戶端組件。

有沒有人遇到過這個問題?我無法診斷問題,甚至連幾天的輕微進展都無法解決。如果您希望我提供有關我嘗試的任何解決方案的更多信息,請不要問。如果您有潛在的解決方案,或者更好,如果您之前能夠解決此問題,請告訴我如何!

謝謝!

回答

1

有一點要記住:Cognos BI中的某些部分是通過Java實現和其他部分通過原生C++進程(BI總線過程)中實現

COGNOS連接到從Java程序內容存儲數據庫使用JDBC。

BI總線進程將使用本機oracle客戶端連接到Oracle。

因此,根據您的描述,我會說問題區域在本機oracle客戶端配置(或Cognos服務的角度)。

您提到在Windows中添加ORACLE_HOME,LD_LIBRARY_PATH和TNS_ADMIN環境變量以及像SQLPlus和TNSPing這樣的Oracle實用程序正在爲您工作。

添加環境變量時,是否將它們添加到環境變量的SYSTEM區域或用戶區域...?

如果您將Cognos作爲服務運行,它將作爲SYSTEM.EXE的子進程運行(作爲系統運行(除非重新啓動計算機,此進程也不會重新啓動)。

我想試試這個:

  1. 確保上述環境變量是系統的用戶定義(在系統區,而不是用戶區)
  2. 一旦你做到了這一點,重新啓動機器

看看您現在是否可以創建數據庫連接。

如果這不起作用,我會建議像SYSTEM用戶那樣做一個SQLPlus或TNSPING的「run as」(並查看它是否有效)。

+0

嘿,感謝您的想法。我確實在用戶部分有這些變量,所以我將它們移到了系統區域。但不幸的是,沒有任何改變。讓我給你一些更多的信息,這樣你可以發現如果有我的配置有趣的東西。在我的SYSTEM環境變量中,我現在有ORACLE_HOME(C:\ oraclexe \ app \ oracle \ product \ 10.2.0 \ server),LD_LIBRARY_PATH(C:\ Program Files(x86)\ cognos \ c8 \ bin; C:\ Program Files (x86)\ cognos \ c8 \ cgi-bin; C:\ oraclexe \ app \ oracle \ product \ 10.2.0 \ server \ lib)和TNS_ADMIN(C:\ oraclex \ app \ oracle \ product \ 10.2.0 \ server \ NETWORK \ ADMIN \ tnsnames.ora) – Mauro

+0

從我讀過的東西,LD_LIBRARY_PATH通常與Unix系統相關聯。作爲我的Windows,它仍然是必要的嗎?還有一些ORACLE_SID的提及。你認爲我需要它嗎?你將如何作爲系統用戶來運行SQLPLUS? – Mauro

+0

對不起所有的問題。希望我能幫你幫我解決問題;)我自己也沒辦法..... – Mauro

1

爲了使用oracle作爲數據源,您必須安裝32位客戶端。 64位客戶端將無法工作。 因此,如果您安裝了oracle express 64位,並且您不想卸載它,您可以只安裝其他32位客戶端,並確保將其設置爲您的默認主目錄。

相關問題