3

我正在尝试使用 Power BI 连接 Oracle 12c 数据源,我寻找了多种解决方案并按照 Microsoft 文档中的说明进行操作

https://docs.microsoft.com/en-us/power-bi/desktop-connect-oracle-database#installing-the-oracle-client

但我认为工作中缺少一些东西。

  • 首先尝试通过 Oracle 数据库连接:

我在同一台笔记本电脑上安装全新的 Oracle 和 powerbi,其中服务器应采用文档中所述的“ServerName/SID”格式,所以我的将是:

本地主机/测试数据库

在此处输入图像描述

然后添加数据库用户和密码 在此处输入图像描述

我得到这个错误 在此处输入图像描述

我刚刚在笔记本电脑上安装了 Oracle 12c 64 位来测试连接 在此处输入图像描述

我也在使用 Power Bi 64 位 在此处输入图像描述 我也在 Windows 10 64 位 在此处输入图像描述

我还从 Oracle 网站安装了“64 位 Oracle 数据访问组件 (ODAC)”: http ://www.oracle.com/technetwork/database/windows/downloads/index-090165.html

在此处输入图像描述

我使用“OraDB12Home1”和“OraClient12Home2”将我的数据库添加到 DSN 在此处输入图像描述

并且对于两个 DSN,我都测试了连接并且它是成功的 在此处输入图像描述

  • 接下来我使用 ODBC OraClient12Home2 测试连接:

在此处输入图像描述

然后插入数据库的用户名和密码 在此处输入图像描述

然后我得到这个错误 在此处输入图像描述

当我与 OraDB12Home1 连接时,我收到此错误: 在此处输入图像描述

我还清除了 power bi 上的所有数据源连接,因为有时它只是显示错误而没有将我发送到下一个屏幕输入用户和密码 在此处输入图像描述

这些是 tnsnames.ora 的详细信息

  # tnsnames.ora Network Configuration File: 
  C:\app\Ahmadssb\virtual\product\12.2.0\dbhome_1\network\admin\tnsnames.ora
  # Generated by Oracle configuration tools. 

  LISTENER_TESTDB =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))


ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))


TESTDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = testdb)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl.babader.com)
    )
  )

我不知道我错过了什么我什至已经从 oracle 导出数据作为转储文件并将其转换为 sql 但似乎现在电源位不支持这种情况,这是另一种情况。

我需要将我的数据库数据导入 PowerBi 数据中,我遗漏了什么,我应该怎么做才能使其成功连接?


  • 更新:在服务器字段上尝试 testdb:

正如评论中建议的那样,将localhost/testdb更改为仅testdb(也在大写TESTDB中进行了测试),因为它应该在服务器上输入。但这对我也不起作用,并且仍然得到相同的错误检查以下图片:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

似乎与 oracle 的连接不起作用,我应该在 oracle 中做些什么来完成这项工作吗?

4

4 回答 4

3

我已经格式化了窗口,从头开始重新安装所有内容并通过 ODBC 连接并且它可以工作(但我得到正常的错误DataSource.Error: ODBC: ERROR [07006] [Oracle][ODBC]Restricted data type attribute violation

但是对于需要的每个表的选择查询,我得到它的工作

  • 已下载Oracle Database 12c 第 2 版

  • 正常安装

  • 从开始菜单 -> Windows 管理工具 > ODBC 数据源(64 位)

  • 在用户 DSN 点击中,按照以下图片进行操作:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

由于连接成功,然后单击“确定”保存它

下一步在 Power BI 上选择获取源:

  • 选择 ODBC

在此处输入图像描述

  • 选择您在上面提供的 DSN 名称

在此处输入图像描述

  • 现在不要单击确定,因为它可能会给您一个错误,我将在下面解释。
  • 点击高级选项
  • 键入特定表的 SELECT 查询,然后单击确定 在此处输入图像描述

  • 然后它会显示表格数据预览,点击加载 在此处输入图像描述

  • 恭喜,你完成了 在此处输入图像描述

如果您没有输入选择查询并单击“确定”,那么您添加了您的用户名和密码

在此处输入图像描述

  • 它将连接并显示表格列表,但您最终可能会遇到此错误(互联网上提供的解决方案是上述解决方案):

https://community.powerbi.com/t5/Integrations-with-Files-and/ODBC-Connection-error-07006/td-p/278165

在此处输入图像描述

这就是我最终连接的方式,我仍然有与这个主题无关的小问题我把它放在另一个问题上,但希望这个答案能帮助其他人连接

于 2018-07-31T08:06:33.413 回答
1

通过从 Microsoft Store 卸载 PowerBI 并从https://powerbi.microsoft.com/en-us/desktop/上的高级下载选项下载 msi 文件,我终于能够让 PowerBI 与 Oracle 驱动程序一起使用。我怀疑这是阻止使用 Oracle 库的商店应用程序的一些安全限制。

于 2019-01-01T20:39:41.023 回答
0

我还体验到MS 的 Connect via Oracle Database 描述不起作用。但是,我可以通过“Oracle 数据库”选项(即Get Data > Oracle Database > Server)建立连接,而不使用 ODBC,方法是输入以下格式的凭据:

[HOSTNAME]:[PORT]/[SERVICE_NAME]

所以例如:

localhost:1521/myservice.com
于 2020-01-22T13:59:31.047 回答
0

它遵循与 SQL Plus 相同的连接体系结构,因此 Power BI 中的服务器字段应包含成功的 SQL Plus 测试中 @ 符号后面的任何内容。

因此,当从 Power BI 而非localhost/testdb建立 Oracle 连接时,我会在 Server 字段中尝试TESTDB。如果那行得通,我想您可以忽略 ODBC。

于 2018-07-01T23:33:06.983 回答