PowerBI连接Oracle数据库

GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
https://cnsendnet.taobao.com
来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=1611

 

若要将 Oracle 数据库与 Power BI Desktop 连接,运行 Power BI Desktop 的计算机上必须安装了正确的 Oracle 客户端软件。 你使用的 Oracle 客户端软件取决于已安装的 Power BI Desktop 版本 - 32 版本或 64 版本。

支持的版本:Oracle 9 及更高版本、Oracle 客户端软件 8.1.7 及更高版本。

确定安装了哪个版本的 Power BI Desktop

若要确定所安装的 Power BI Desktop 版本,请依次选择“文件”、“帮助”和“关于”,然后查看“版本:”行。 下图中安装的是 64 位版本的 Power BI Desktop:

安装 Oracle 客户端

对于 32 版本的 Power BI Desktop,请使用以下链接来下载并安装 32  Oracle 客户端:

对于 64 版本的 Power BI Desktop,请使用以下链接来下载并安装 64  Oracle 客户端:

我用的是64位的Power BI,我下载的是这个

连接到 Oracle 数据库

Oracle数据访问组件ODAC(Oracle Data Access Components)顾名思义就是用来访问Oracle数据库的小程序。我们可以编程调用这些组件来实现在没有安装Oracle数据库软件的电脑上完成对Oracle数据库的访问。

工具/原料

  • ODAC安装包

步骤1. 下载ODAC安装包

  •     到Oracle官方网站下载ODAC安装包。在网页上找到你要的版本。我下载的是:

64-bit ODAC 11.2 Release 6 (11.2.0.4.0) Xcopy for Windows x64

下载下来的安装包名为:

ODAC112040Xcopy_64bit.zip

END

步骤2. 解压缩

  • 解压缩这个zip包,把里面的文件都解压到一个文件夹里,我是解压到D:\ODAC112040Xcopy_64bit,然后打开cmd,进入到这个文件夹。

这个文件夹里有8个子文件夹,分别是:

instantclient_11_2:这是Oracle客户端,所有组件的运行都依赖于这个客户端;

oledb:这是OLE DB组件

asp.net:这是ASP.NET2组件

asp.net4:这是ASP.NET4组件

odp.net4:这是.NET4组件

odp.net20:这是.NET2组件

oramts:这是Oracle的MTS服务

network:这个文件夹不用管,它是用来存放tnsnames.ora文件的,要安装后才能用。

  • 这里我们需要搞清楚这些组件之间的依赖关系。

instantclient_11_2是最基础的

oledb依赖于instantclient_11_2

asp.net依赖于instantclient_11_2和odp.net20

asp.net4依赖于instantclient_11_2和odp.net4

odp.net4依赖于instantclient_11_2

odp.net20依赖于instantclient_11_2

oramts依赖于instantclient_11_2

END

步骤3. 安装ODAC

  • 在cmd中运行install.bat批处理文件:输入"install.bat all D:\OracleClient ODAC"(不含双引号)。这里有几个参数需要特别注意,这里我们传入了三个参数,但最多可以传入四个。

  • 第一个参数:all。all代表安装ODAC112040Xcopy_64bit文件夹下所有的组件和客户端。如果你不需要这么多组件,只用到其中一个,比如只用到了OLE DB组件,就可以像下面这样只安装客户端和这一个OLE DB组件:

install.bat oledb D:\OracleClient ODAC

  • 第二个参数:D:\OracleClient。这是安装路径,根据自己的实际情况指定,路径中尽量不要有空格和圆括号。
  • 第三个参数:ODAC。这个叫ORACLE HOME NAME,这个参数也可以自己随便指定一个字符串,不一定非得是"ODAC"。这个参数是用来写入注册表的。比如,上面这条语句执行后,会在注册表的以下位置写入:

HKLM\Software\Oracle\KEY_ODAC

这"KEY_"后面的ODAC就是你在参数中传入的那个"ODAC"

  • 第四个参数。一般只用前三个参数就够了,在安装组件的时候会自动把它依赖的组件都安装上,但如果你只想安装指定的组件,不想装它所依赖的组件,这时才会用到第四个参数。比如:当你安装asp.net时,如果只用前三个参数,会自动把它所依赖的odp.net20和instantclient_11_2也安装上,但如果你再传入第四个参数"false",如下:

install.bat asp.net D:\OracleClient ODAC false

这时就只会安装asp.net,而不会把odp.net20和instantclient_11_2也装上。

END

步骤4. 设置环境变量

  1. 1

ORACLE_HOME=D:\OracleClient

(添加一个环境变量ORACLE_HOME,其值为你的安装路径,比如我这里就是D:\OracleClient)

  1. 2

PATH=%ORACLE_HOME%;%ORACLE_HOME%\bin;

(在PATH环境变量中添加下面两个路径,用分号隔开:

%ORACLE_HOME%;%ORACLE_HOME%\bin;)

END

步骤5. 根据需要配置tnsnames.ora文件(经测试,不配置TNS也能连接)

  • 如果要用组件访问Oracle数据库,那么就要根据需要配置tnsnames.ora文件,并存放于%ORACLE_HOME%\network\admin目录下。

我的tnsnames.ora文件格式如下,供参考:

ORA =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.26.231)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = ora)

    )

  )

END

卸载ODAC的方法

  1.  

用cmd进入到ODAC的安装路径下,然后运行该路径下的uninstall.bat批处理文件。这里也是要注意参数的运用。

================================================

若要卸载掉所有组件,可以这样:

uninstall.bat all ODAC

或者

uninstall.bat all D:\OracleClient

================================================

若要卸载掉某一个指定的组件,可以这样:

uninstall.bat oledb ODAC

或者

uninstall.bat oledb D:\OracleClient

  1. 2

手动删除掉安装目录,并把之前添加的环境变量也一并删除即可

END

注意事项

  • install.bat和uninstall.bat两个批处理文件会在安装目录下分别产生install.log和uninstall.log两个日志文件。

 

一旦安装了匹配的 Oracle 客户端驱动程序后,你就可以连接到 Oracle 数据库。 请执行以下步骤来建立连接:

在“获取数据”窗口中,选择数据库 > Oracle 数据库

 

  1. 在出现的 Oracle 数据库对话框中,提供服务器的名称,并选择连接。 如果需要 SID,则可以使用格式 ServerName/SID 进行指定,其中 SID 是数据库的唯一名称。 如果 ServerName/SID 格式无效,则尝试使用 ServerName/ServiceName,其中 ServiceName 是连接时使用的别名。

本地的PowerBI连接远程数据库服务器,应填:192.168.38.14:1521/orcl.neohk.int

orcl.neohk.int是实例名,注意不是服务器的TNS名哦。

  1. 如果想要使用本机数据库查询导入数据,可以将你的查询放在 SQL 语句框中,通过展开 Oracle 数据库对话框的高级选项分区实现。

  1. 一旦你的 Oracle 数据库信息输入 Oracle 数据库对话框(包括如 SID 或本机数据库查询的任何可选信息),请选择确定以连接。
  2. 如果 Oracle 数据库需要数据库用户凭据,请在出现提示时,输入这些凭据。

 

GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
https://cnsendnet.taobao.com
来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=1611

posted on 2021-08-10 22:19  森大科技  阅读(1558)  评论(0编辑  收藏  举报

导航