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

一起学微软Power BI系列-使用技巧(1)连接Oracle与Mysql数据库的更多相关文章

  1. 一起学微软Power BI系列-使用技巧(2)连接Excel数据源错误解决方法

    上一篇文章一起学微软Power BI系列-使用技巧(1)连接Oracle与Mysql数据库中,我们介绍了Power BI Desktop中连接Oracle和Mysql的方法,其实说到底还是驱动的问题, ...

  2. 一起学微软Power BI系列-使用技巧(6) 连接Sqlite数据库

    好久没有研究Power BI了,看到高飞大神弄的东西,太惭愧了.今天有个小东西,数据在Sqlite里面,想倒腾到Power BI Desktop里面折腾一下,结果发现还不直接支持.所以只好硬着头皮上去 ...

  3. 一起学微软Power BI系列-使用技巧(5)自定义PowerBI时间日期表

    1.日期函数表作用 经常使用Excel或者PowerBI,Power Pivot做报表,时间日期是一个重要的纬度,加上做一些钻取,时间日期函数表不可避免.所以今天就给大家分享一个自定义的做日期表的方法 ...

  4. 一起学微软Power BI系列-使用技巧(4)Power BI中国版企业环境搭建和帐号问题

    千呼万唤的Power BI中国版终于落地了,相信12月初的微软技术大会之后已经铺天盖地的新闻出现了,不错,Power BI中国版真的来了,但还有些遗憾,国际版的一些重量级服务如power bi emb ...

  5. 一起学微软Power BI系列-使用技巧(3)Power BI安卓手机版安装与体验

    Power BI有手机版,目前支持安卓,苹果和WP,不过没有WP手机,苹果在国内还不能用,要FQ和用就不测试了.安卓的我也也是费了九牛二虎之力才把app下载下来,把方法分享给大家. FQ太麻烦,所以建 ...

  6. 一起学微软Power BI系列-官方文档-入门指南(3)Power BI建模

    我们前2篇文章:一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍 和一起学微软Power BI系列-官方文档-入门指南(2)获取源数据 中,我们介绍了官方入门文档与获取 ...

  7. 一起学微软Power BI系列-官方文档-入门指南(4)Power BI的可视化

    在前面的系列文章中,我们介绍了官方有关获取数据,以及建模的原始文档和基本介绍.今天继续给大家介绍官方文档中,有关可视化的内容.实际上获获取数据和建模更注重业务关系的处理,而可视化则关注对数据的解读.这 ...

  8. 一起学微软Power BI系列-官方文档-入门指南(5)探索数据奥秘

    我们几篇系列文章中,我们介绍了官方入门文档与获取数据等基本知识.今天继续给大家另外一个重点,探索数据奥秘.有了数据源,有了模型,下一步就是如何解析数据了.解析数据的过程需要很多综合技能,不仅仅是需要掌 ...

  9. 一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍

    我们在前一篇文章微软新神器-Power BI,一个简单易用,还用得起的BI产品中,我们初步介绍了Power BI的基本知识.由于Power BI是去年开始微软新发布的一个产品,虽然已经可以企业级应用, ...

随机推荐

  1. 总结:Mac前端开发环境的搭建(配置)

    新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...

  2. ASP.NET MVC5+EF6+EasyUI 后台管理系统(72)-微信公众平台开发-消息处理

    系列目录 前言 Senparc.Weixin.MP SDK提供了MessageHandler消息处理类 在作者的Wiki中也详细说明了如何定义这个类,下面我们来演示,消息的回复,及效果 了解Messa ...

  3. [C#] 简单的 Helper 封装 -- CookieHelper

    using System; using System.Web; namespace ConsoleApplication5 { /// <summary> /// Cookie 助手 // ...

  4. springMVC学习笔记--知识点总结1

    以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...

  5. scanf类型不匹配造成死循环

        int i = 0; while (flag) { printf("please input a number >>> "); scanf("% ...

  6. java常用的设计模式

    设计模式:一个程序员对设计模式的理解:"不懂"为什么要把很简单的东西搞得那么复杂.后来随着软件开发经验的增加才开始明白我所看到的"复杂"恰恰就是设计模式的精髓所 ...

  7. 《如何使用Javascript判断浏览器终端设备》

    WEB开发中如何通过Javascript来判断终端为PC.IOS(iphone).Android呢? 可以通过判断浏览器的userAgent,用正则来判断手机是否是ios和Android客户端. va ...

  8. kali linux下的arp攻击

    这是我第一篇博客,写的不好请谅解 ____________________________(分割线)_______________________________ 在kali linux系统下自带工具 ...

  9. 定时Job在IIS中潜在危险-IIS 定期回收

    引言 有时我们会在IIS中启用一些定时服务,但是你必须清楚IIS会定期回收Asp.net的应用程序的.首先来看IIS啥时候回收APPDomain.   APPDomain 回收时机 There are ...

  10. Struts2框架基础

    Struts2框架基础 1.Java的框架 1.1.框架简介 在大型项目开发过程中,经常会使用到一些框架,这样做好的好处是能够提高工作效率,在java中最常用的的框架就是SSH,这其实是三个框架的简称 ...