将 Oracle DB 与 Power BI 连接时出错
Errors when connecting oracle DB with Power BI
我正在尝试使用 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
而且对于两个 DSN,我都测试了连接并且成功了
- 接下来我使用 ODBC OraClient12Home2 测试连接:
然后为数据库插入用户名和密码
然后我得到这个错误
当我连接到 OraDB12Home1 时,出现此错误:
我还清除了 power bi 上的所有数据源连接,因为有时它只是显示错误,而没有将我带到下一个屏幕以输入用户名和密码
这些是tnsnames.ora的详细信息:
# tnsnames.ora Network Configuration File:
C:\app\Ahmadssb\virtual\product.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 但似乎现在 power bit 不支持这个,这是另一个情况。
我需要将我的数据库数据导入 PowerBi 数据是什么,我丢失了什么,我应该怎么做才能成功连接?
- 更新:在服务器字段上尝试 testdb:
根据评论中的建议将 localhost/testdb 更改为仅 testdb(也在大写 TESTDB 中进行了测试) 因为它应该在服务器上输入。但这对我也不起作用,仍然出现相同的错误,请检查以下图片:
与 oracle 的连接似乎无法正常工作,我应该在 oracle 中做些什么才能使它正常工作?
它遵循与 SQL Plus 相同的连接架构,因此在成功的 SQL Plus 测试中,Power BI 中的服务器字段应包含 @ 符号后面的任何内容。
因此,当从 Power BI 建立 Oracle 连接时,我会在服务器字段中尝试 TESTDB,而不是 localhost/testdb。如果可行,我想您可以忽略 ODBC。
我已经格式化 windows,从头开始重新安装所有内容并通过 ODBC 连接,它工作正常(但我收到正常错误 DataSource.Error:ODBC:错误 [07006] [ Oracle][ODBC]限制数据类型属性违规)
但是对于每个 table 需要的 select 查询,我得到它的工作
正常安装
从开始菜单 -> Windows 管理工具 > ODBC 数据源(64 位)
在用户DSN点击,如下图:
既然连接成功了,那么点击"OK"保存
下一步是 Power BI select 获取源代码:
- select ODBC
- select 您在上面提供的 DSN 名称
- 现在不要点击确定,因为它可能会给你一个错误,我将在下面解释。
- 点击高级选项
键入 SELECT 查询特定 table,然后单击“确定”
然后会显示table数据预览,点击加载
恭喜你完成了
如果您没有键入 select 查询并单击“确定”
然后你添加了你的用户名和密码
- 它将连接并显示 table 的列表,但您可能会遇到此错误(互联网上提供的解决方案是上述解决方案):
https://community.powerbi.com/t5/Integrations-with-Files-and/ODBC-Connection-error-07006/td-p/278165
这就是我最终连接它的方式,但我还有一个与此主题无关的小问题我把它放在另一个问题上了,
但希望这个答案能帮助其他人联系
通过从 Microsoft Store 卸载 PowerBI 并从 https://powerbi.microsoft.com/en-us/desktop/ 上的高级下载选项下载 msi 文件,我终于能够让 PowerBI 与 Oracle 驱动程序一起工作。我怀疑这是商店应用程序的一些安全限制,阻止使用 Oracle 库。
我也有过Connect via Oracle Database description by MS不工作的经验。但是,我可以通过 "Oracle Database" 选项(即 Get Data > Oracle Database > Server
)建立连接,而无需使用 ODBC,只需按以下格式输入凭据:
[HOSTNAME]:[PORT]/[SERVICE_NAME]
所以例如:
localhost:1521/myservice.com
我正在尝试使用 Power BI 连接 Oracle 12c 数据源,我已经寻找了多种解决方案并遵循了 Microsoft 文档中的说明
但我认为工作中缺少一些东西。
- 第一次尝试通过 Oracle 数据库连接:
我在同一台笔记本电脑上安装全新的 Oracle 和 powerbi,其中服务器应采用这种格式 "ServerName/SID",如文档中所述,所以我的将是:
localhost/testdb
然后添加数据库用户和密码
我收到这个错误
我刚刚在笔记本电脑上安装了 Oracle 12c 64 位来测试连接
我也在使用 Power Bi 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.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 但似乎现在 power bit 不支持这个,这是另一个情况。
我需要将我的数据库数据导入 PowerBi 数据是什么,我丢失了什么,我应该怎么做才能成功连接?
- 更新:在服务器字段上尝试 testdb:
根据评论中的建议将 localhost/testdb 更改为仅 testdb(也在大写 TESTDB 中进行了测试) 因为它应该在服务器上输入。但这对我也不起作用,仍然出现相同的错误,请检查以下图片:
与 oracle 的连接似乎无法正常工作,我应该在 oracle 中做些什么才能使它正常工作?
它遵循与 SQL Plus 相同的连接架构,因此在成功的 SQL Plus 测试中,Power BI 中的服务器字段应包含 @ 符号后面的任何内容。
因此,当从 Power BI 建立 Oracle 连接时,我会在服务器字段中尝试 TESTDB,而不是 localhost/testdb。如果可行,我想您可以忽略 ODBC。
我已经格式化 windows,从头开始重新安装所有内容并通过 ODBC 连接,它工作正常(但我收到正常错误 DataSource.Error:ODBC:错误 [07006] [ Oracle][ODBC]限制数据类型属性违规)
但是对于每个 table 需要的 select 查询,我得到它的工作
正常安装
从开始菜单 -> Windows 管理工具 > ODBC 数据源(64 位)
在用户DSN点击,如下图:
既然连接成功了,那么点击"OK"保存
下一步是 Power BI select 获取源代码:
- select ODBC
- select 您在上面提供的 DSN 名称
- 现在不要点击确定,因为它可能会给你一个错误,我将在下面解释。
- 点击高级选项
键入 SELECT 查询特定 table,然后单击“确定”
然后会显示table数据预览,点击加载
恭喜你完成了
如果您没有键入 select 查询并单击“确定” 然后你添加了你的用户名和密码
- 它将连接并显示 table 的列表,但您可能会遇到此错误(互联网上提供的解决方案是上述解决方案):
https://community.powerbi.com/t5/Integrations-with-Files-and/ODBC-Connection-error-07006/td-p/278165
这就是我最终连接它的方式,但我还有一个与此主题无关的小问题我把它放在另一个问题上了, 但希望这个答案能帮助其他人联系
通过从 Microsoft Store 卸载 PowerBI 并从 https://powerbi.microsoft.com/en-us/desktop/ 上的高级下载选项下载 msi 文件,我终于能够让 PowerBI 与 Oracle 驱动程序一起工作。我怀疑这是商店应用程序的一些安全限制,阻止使用 Oracle 库。
我也有过Connect via Oracle Database description by MS不工作的经验。但是,我可以通过 "Oracle Database" 选项(即 Get Data > Oracle Database > Server
)建立连接,而无需使用 ODBC,只需按以下格式输入凭据:
[HOSTNAME]:[PORT]/[SERVICE_NAME]
所以例如:
localhost:1521/myservice.com