Applies to Product - Power Apps
What’s happening?
The customer is migrating a PowerBuilder application to Power Apps using Oracle 11g as the data source. They are encountering challenges with performing CRUD operations on tables without primary keys, displaying data from multiple tables with filtering, and efficiently loading large datasets into a gallery or table.
Reason:
These challenges stem from the need to support flexible data operations without relying on Oracle views, which are typically used to simplify complex joins and enforce structure. Power Apps has limitations when working with tables lacking primary keys, and performance can degrade when loading large datasets or applying filters across multiple tables.
Resolution:
- Support CRUD Operations Without Primary Keys
- Power Apps requires a primary key to uniquely identify records for update and delete operations.
- If modifying the schema is not an option, consider using virtual tables or custom connectors to simulate CRUD operations.
- Reference: Custom virtual table provider with CRUD operations
- Display and Filter Data from Multiple Tables
- Use collections or combine data using Power Apps logic (e.g., AddColumns, LookUp, Filter) to simulate joins.
- For better performance, pre-process data in Power Automate or use SQL views if schema changes are allowed.
- Reference: Power Apps Business Solution Gallery (July 2021) for examples of multi-source data integration
- Efficiently Load Large Datasets (50,000+ Records)
- Power Apps has a delegation limit (default 500, configurable up to 2,000). For larger datasets, use pagination or server-side filtering.
- Consider using Dataverse virtual tables or Power BI integration for read-heavy scenarios.
- Reference: Connect to an Oracle database from Power Apps
- Dynamic Column Handling in Gallery/Table
- Use Gallery.AllItems with dynamic schema logic to add or hide columns at runtime.
- This may require advanced use of ForAll, Patch, and With functions or custom components.
- Reference: WorkshopPLUS - Power Platform - Introduction to Power Apps & Power Automate for Dataverse with Lab
- Engage with the Customer for Design Validation
- Confirm the customer’s flexibility regarding schema changes, use of views, or adoption of Dataverse.
- Validate performance expectations and user experience requirements early in the design phase.
