说起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)

技术博客:http://www.cnblogs.com/asxinyu/

最新文章

  1. bzoj4364: [IOI2014]wall砖墙
  2. 20169212《Linux内核原理与分析》第五周作业
  3. 3d数学总结帖
  4. plsql dev引起的数据库被黑勒索比特币实现原理分析和解决方案
  5. 20.策略者模式(Stragety Pattern)
  6. 为android项目集成maven
  7. java中的类实现comparable接口 用于排序
  8. Java之简单图形面积计算
  9. [POJ 2019] Cornfields
  10. Java cookie的使用
  11. 武汉科技大学ACM:1004: 零起点学算法36——3n+1问题
  12. Unable to execute dex: Multiple dex files define Lorg/ap (
  13. ajax+php如何获取部分请求的信息显示在对应的div中
  14. 存储linux RAID6被重建成RAID5的数据恢复解决方案
  15. 【译】使用 Flutter 实现跨平台移动端开发
  16. Kafka集群搭建 (2.11-0.9.0.1)
  17. leetcode — jump-game-ii
  18. utf-8mb4和排序规则
  19. sublime 最近用的有点卡
  20. Spring boot Thymeleaf 配置

热门文章

  1. mapreduce多文件输出的两方法
  2. html中如何添加提示信息
  3. 如何一步一步用DDD设计一个电商网站(七)—— 实现售价上下文
  4. json与JavaScript对象互换
  5. Hyper-V3:虚拟机的配置
  6. Android学习探索之Java 8 在Android 开发中的应用
  7. 最长回文子串-LeetCode 5 Longest Palindromic Substring
  8. python 数据类型---文件二
  9. springmvc 多数据源 SSM java redis shiro ehcache 头像裁剪
  10. iOS 小知识点(持续更新)