我正在尝试使用Power BI连接Oracle 12c数据源,我寻找了多种解决方案并按照Microsoft文档的说明进行操作。
但我认为工作中缺少了一些东西。
- 首先尝试通过Oracle数据库连接:
我正在同一台笔记本电脑上安装全新的Oracle和PowerBI,服务器应该采用文档中描述的"ServerName/SID"格式,因此我的格式将是:
localhost/testdb
我刚刚在我的笔记本上安装了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中
![在此输入图片描述](https://istack.dev59.com/vCws9.webp)
同时,我已经为这两个DSN测试了连接,测试成功
![在此输入图片描述](https://istack.dev59.com/RYYJt.webp)
- 接下来,我尝试使用ODBC OraClient12Home2进行连接测试:
我还清除了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上不支持这种情况。 我需要将我的数据库数据导入PowerBi,我错过了什么数据?我应该怎么做才能成功连接?
- 更新:在服务器字段上尝试testdb:
根据评论建议,将localhost/testdb更改为仅testdb(也测试过大写的TESTDB),因为它应该在服务器上键入。但是这对我也没有起作用,仍然会出现相同的错误,请查看以下图片:
看起来与Oracle的连接不起作用,我需要在Oracle中做些什么才能使其正常工作吗?