說起Oracle數據庫,以前沒用過Oracle不知道,但是這1年用Oracle后,發現真的是想狂吐槽,特別是那個.NET驅動和鏈接字符串,特別奇葩。總歸是和其他數據庫不一樣,標新立異,不知道為何。另外如果想去Oracle官網搞點東西,比啥都難,密碼設置強度要求很高,經常記不住,每次都是重置密碼再進去,總是要費周折。好在.NET的驅動中,現在已經有純托管驅動(Oracle.ManagedDataAccess.dll)方便了不少,備受折磨的朋友趕緊去切換吧,很簡單,幾個命名空間換一個就好了。總算做了一回好事。
不過今天要給大家介紹的是如何在Power BI中連接Oracle數據庫,很多做Power BI的不一定都搞過開發,所以這個鏈接估計還是坑了不少人,所以把過程寫一下吧,讓其他人少踩坑,免得還說Power BI垃圾,其實都是Oracle搞的鬼。不吐槽了,進入主題。
1.關於Power BI的版本信息
Power BI官網提供了32bit和64bit的版本,以及不同語言的版本,目前是有中文版的,英文版畢竟不習慣,7月份有過小更新,大家可以下載相應最新版本。
其次連接Oracle數據庫和Power BI的版本以及Oracle驅動版本相關。這個之前沒注意,好在我的版本都是匹配的。如果不知道自己Power BI安裝的什么版本,可以在 文件-關於中查看,如下圖所示:
2.Power BI連接Oracle踩坑記
然后開始踩坑之旅,連接Oracle,從下面這個地方選擇進入,目前支持的數據源非常多,盡情享受吧。如下圖:
選擇后,會進入下面界面,沒看過相關文章的人,或者沒接觸過Oracle的人肯定懵逼。。。我也懵逼了好久:
我嘗試輸入完整的Oracle數據庫連接字符串進去,不行。。。然后不知所措了,然后放棄了,當時也狂吐槽,也不提示下咋填。。。過了幾天才想起來去Bin個搜索了一下,當日百度也試過,無果。果然發現了些蹤跡。然后有了下面完整的解決方法。參考的解決方法在第三節的參考文獻中,英文的,不過看部分就應該清楚了。
2.1 安裝Oracle版本的驅動
首先要按照Oracle版本的驅動,所以這里又是坑,如果開發中用了純托管驅動,誰還安裝這鬼東西,好在自己開發環境比較全,都安裝了。我在后面體提供我使用的一個版本的32bit驅動下載,誰有64bit的提供一個,我是非常不想進Oracle那個網站。安裝好之后,在按照目錄下,在XX\product\11.2.0\client_1目錄下,找到tnsnames.ora文件,如果沒有,就從Sample文件夾中復制一個出來,改一下。其實這里和配置PL/SQL是一樣的。在這里添加Oracle的連接。如果沒有添加,直接連接,會出現下面錯誤。
2.2 連接Oracle的正確方法
配置tnsnames.ora文件的示例我給一個本地數據庫的例子,大家看看
ORCLK = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
然后打開Power BI連接Oracle數據庫,如下圖所示,在服務器那里輸入配置名稱 ORCLK,然后在高級選項中,設置你要獲取數據的SQL語句,其實這里非常靈活,在以后在操作和實戰中再講。
點擊確定后,第一次會出現權限驗證,選擇數據庫,輸入用戶名和密碼,連接即可:
正常情況下會獲取到數據,並顯示編輯界面,就是Power Query的功能,可以進行列修改和一些操作。如下圖,由於我這里是做例子,沒有用真實數據,所以顯示是空白的。
3.連接Mysql數據庫
連接Mysql就相對簡單多了,輸入服務器地址,和用戶名密碼就好了,我這里舉個例子演示一下。So Easy,我用的是本地的Mysql數據庫。過程和Oracle類似:
4.參考文獻與資料
Oracle 32bit驅動,下載地址:http://pan.baidu.com/s/1i4GNyKH 密碼:i4z6
個人建立的Power BI技術群,目前正在學習階段,有興趣的朋友可以一起學習討論。
微軟Power BI技術交流群: 564786745(驗證注明:博客園Power BI)