从 Power Apps 连接到 Oracle 数据库

创建连接并在 Power Apps 中创建应用后,在 Oracle 数据库中创建、读取、更新和删除表行并创建、读取、更新和删除表行。 Oracle 数据库连接支持完全委派筛选、排序和其他函数,但不支持触发器或存储过程。

先决条件

  • Oracle 9 及更高版本
  • Oracle 数据访问客户端 (ODAC) 软件 11.2 或更高版本
  • 安装本地数据网关
  • 安装 Oracle 客户端 SDK

安装本地数据网关

若要安装网关,请按照 本教程中的步骤作。

本地数据网关充当桥梁,提供本地数据(不在云中的数据)与 Power BI、Power Automate、逻辑应用和 Power Apps 服务之间的快速安全数据传输。 可以将同一网关用于多个服务和多个数据源。 有关详细信息,请参阅 “了解网关”。

安装 Oracle 客户端

在与本地数据网关相同的计算机上,安装 ODAC 11.2 或更高版本。 例如,可以为 Windows x64 安装 64 位 ODAC 12c 版本 4(12.1.0.2.4), 或选择首选版本。 必须选择 Windows 安装程序版本,因为 xcopy 版本不适用于本地数据网关。 否则,如果尝试创建或使用连接,将显示错误,如已知问题列表所述。

从 Oracle 数据库中的表创建应用

  1. 转到 Power Apps

  2. 从左窗格中选择“ 创建 ”。

  3. 在“ 开始”下,选择 “更多数据源”。

  4. 选择新建连接

  5. 在连接列表中,选择 “Oracle 数据库”。

    新建数据库。

  6. 指定 Oracle 服务器的名称、用户名和密码。

    如果需要 SID,请以此格式指定服务器:
    ServerName/SID

    连接参数。

  7. 选择要使用的网关,或安装一个网关。

    如果在安装网关后未显示网关,请选择“ 刷新网关”列表

    新网关。

  8. 选择 “创建 ”以创建连接。

    创建连接。

  9. 选择 默认 数据集。

    选择数据集。

  10. 在表列表中,选择要使用的表。

    选择表。

  11. 选择 “连接 ”以创建应用。

    连接到表并创建应用。

Power Apps 创建一个具有三个屏幕的应用,并显示所选表中的数据:

  • BrowseScreen1,其中列出了表中的所有条目。
  • DetailScreen1 提供有关单个条目的详细信息。
  • EditScreen1,用户可以在其中更新条目或创建条目。

不同的应用屏幕。

后续步骤

  • 若要保存生成的应用,请按 Ctrl-S。
  • 若要自定义 BrowseScreen1 (默认显示),请参阅 “自定义布局”。
  • 若要自定义 DetailsScreen1EditScreen1,请参阅 “自定义窗体”。

已知问题、提示和故障排除

  1. 无法访问网关。

    如果本地数据网关无法连接到云,则会出现此错误。 若要检查网关的状态,请登录到 powerapps.microsoft.com,选择 “网关”,然后选择要使用的网关。

    确保网关正在运行,并可以连接到 Internet。 避免在可能已关闭或处于睡眠状态的计算机上安装网关。 另请尝试重启本地数据网关服务(PBIEgwService)。

  2. System.Data.OracleClient 需要 Oracle 客户端软件版本 8.1.7 或更高版本。

    如果 Oracle 客户端 SDK 未与本地数据网关安装在同一台计算机上,则会出现此错误。 若要解决此问题, 请安装官方提供程序

  3. 表“[Tablename]”未定义任何键列。

    如果连接到没有主键的表(Oracle 数据库连接需要),则会出现此错误。

  4. Power Apps 中不支持存储过程、包含组合键的表和嵌套对象类型。 但是,支持使用 Power Automate 的存储过程。

  5. 跨环境的架构名称依赖关系。

    将 Power Apps 连接到 Oracle 本地数据源时,架构前缀被视为表名称的一部分。 这意味着架构名称在每个环境中必须完全相同,例如开发、预生产以及生产。 如果在每个环境中使用不同的 Oracle 用户名或架构,则即使正确更新连接引用,应用可能无法在部署期间找到表。 这将导致 “找不到实体” 错误。

    此限制是设计造成的:Power Apps 目前不支持使用环境变量进行动态架构名称替换。 若要防止部署失败,应在所有环境中使用相同的 Oracle 架构名称。 或者,可以考虑 Power Automate 流或 Dataverse 虚拟实体等解决方案,这为管理特定于环境的配置提供了更大的灵活性。