2013-02-08
<前言>
這陣子因為外力因素,接手了「SSAS(SQL Server Analysis Services) access Oracle DB 」的怪異Solution。這東西簡單來說就是用Microsft SQLServer內建的
OLAP功能,但是不拿它來分析MSSQL DB的資料卻拿它來分析Oracle DB的資料。
在江湖上走唱多年的Software Engineer都很清楚這樣的組合會有不少風險。因為M社產品的特徵向來是跟自家產品整合最OK,如果不幸自家東西串不起來,只要有付維護合約的費用
(保護費)
,M社大多都會想辦法幫你解決。當然啦,M社產品就是只能.Net平台,想要M社支援Java或其它語言,那可能要等太陽從西邊出來才辦的到囉。至於O社產品呀,它是蠻多跨平台的各類產品跟元件啦,不過每個都要錢,而且很貴
(如果你用了卻少付錢或不付錢偷用,O社強大的律師群會告的你哭爹喊娘)
。
二家公司都這麼有個性,卻硬要把二家的產品串在一起用,我直覺就是種玩火的行為。在接手這個怪異的玩意兒後,我只能說這是個「shit solution」或是「big bomb」,如果你剛好正在考慮OLAP Solution,然後又不是全部都走.Net base,最好還是三思而後行呀...=3=
===========================================================================
<安裝環境>
1.Win7 64bit(或Win 200X Server 64bit)
2.SQL Server 2008 R2 64bit standard version
3.Oracle 10g(或11g) DB 64bit
===========================================================================
<名詞解說>
SSAS:
SQL Server Analysis Services。簡單來說就是M社在SQLServer內提供的OLAP跟BI功能。
BIDS:SQL Server Business Intelligence Development Studio。OLAP跟BI的開發工具。
SSMS:SQL Server Management Studio。SQLServer的管理工具。
===========================================================================
<安裝流程>
1.安裝 SQLServer 2008 R2
安裝時建議全部功能都裝,只是我們主要是使用SSAS功能。
2.安裝 SQLServer 2008 R2 的SP2 patch
更新了一堆有的沒的東西,如果是剛開始裝一個全新的系統,還是乖乖的patch一下
這個
SP2(SQLServer2008R2SP2-KB2630458-x64-CHT.exe)吧。裝完後開啟SSMS後可以看到版本號是10.50.4000
3.安裝
Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (32bit)
step1.選擇自訂安裝
step2.安裝的位置設在「C:\oracle_32bit\11.2.0\client_1」
step3.只要安裝紅框選的那三個元件
step4.先決條件的判斷會出錯,直接忽略它強制安裝
4.安裝
Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (x64)
安裝方式跟上一個流程一樣,但是安裝位置要分開,改放在「C:\oracle_64bit\11.2.0\client_1」不可以相同。
5.撰寫 tnsnames.ora 設定檔
手工建立「C:\oracle_32bit\11.2.0\client_1\network\admin」目錄與「C:\oracle_64bit\11.2.0\client_1\network\admin」目錄。在這二個目錄中都建立一個「相同」內容的「tnsnames.ora」檔案。該檔的內容長的像下列範例
TEST_DB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(SID = testdb)
(SERVER = DEDICATED)
)
)
C:\oracle_32bit\11.2.0\client_1\bin;
@echo on
set path=C:\oracle_32bit\11.2.0\client_1\bin;%path%
c:
cd\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE
start devenv.exe
exit
超重要,一定要重開
,免的有一些奇怪的靈異現象!
BIDS只有32bit的版本
,所以在64bit作業系統上啟動BIDS時,它是以32bit相容模式在執行。BIDS在開發時是直接跟SSAS與OracleDB溝通(下圖粉紅色線條所示)
本圖取自 http://blogs.msdn.com/b/davidlean |
本圖取自 http://blogs.msdn.com/b/davidlean |
一定要在環境變數的Path參數中設定64bit Oracle Client的路徑,不然SSAS一旦開始跟Oracle DB抓資料時整個SSAS就整個死當,而且完全不會告訴你原因為何!