Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Er zijn verschillende manieren om verbinding te maken met gegevens in SQL Server in uw app, met behulp van Power Fx-formules. U kunt rechtstreeks toegang krijgen tot gegevens of een weergave of opgeslagen procedures gebruiken om gegevens in uw app te maken, bij te werken of te verwijderen.
Voorwaarden
Om rechtstreeks toegang te krijgen tot gegevens, kunt u een Beginnen met gegevens-app voor uw SQL Server-gegevens maken. Met deze methode krijgt u een eenvoudige, werkende app die u kunt aanpassen met weergaven en opgeslagen procedures.
Meld u aan bij Power Apps en ga naar de pagina Apps.
Selecteer Nieuwe app>Beginnen met gegevens.
Kies Externe gegevens verbinden op de pagina Beginnen met gegevens.
Selecteer Uit SQL onder Kies een gegevensset om te starten.
Als u een bestaande SQL-serververbinding hebt, wordt deze geladen.
Notitie
Als u nog geen SQL Server-verbinding hebt gemaakt, wordt u gevraagd dit te doen.
Selecteer uw SQL-verbinding.
Voer de naam van uw server en database in en kies vervolgens Verbinden. Kies een tabel uit de lijst met tabellen die verschijnt.
Notitie
Er wordt slechts één verbinding tegelijk weergegeven. Als u een andere verbinding wilt gebruiken, selecteert u het uitklapmenu ... in uw SQL-verbinding en zoekt u vervolgens een nieuwe verbinding of maakt u een nieuwe SQL-verbinding.
Selecteer App maken.
Krijg toegang tot gegevens
Zodra uw app is verbonden met de SQL-server, hebt u toegang tot gegevens: toegang tot gegevens in de SQL-server.
Resultaten weergeven
Om de resultaten van uw SQL-query's te bekijken, zie: Resultaten bekijken in SQL Server.
Toewijzingen van Power Apps-gegevenstypen
| SQL Server | Power Apps |
|---|---|
bigint, , decimal, intmoney, , numeric, smallint, , smallmoneytinyintfloatreal |
Number |
char, ncharvarchar, nvarchar, textntext |
Tekst |
bit |
Booleaan |
date, datetimedatetime2, smalldatetime, datetimeoffsettime |
DateTime |
uniqueidentifier |
Guid |
Notitie
Als een SQL Server-gegevenstype niet wordt weergegeven in de vorige tabel, wordt dat gegevenstype niet ondersteund.
Niet-ondersteunde gegevenstypen omvatten de volgende voorbeelden: binary(), varbinary(), image, cursor, , rowversion, sql_variant xmlhierarchyidRuimtelijke geometrietypen, Ruimtelijke geografietypen en tabel. Ook worden 'tinyint' en 'smallint' niet ondersteund als primaire sleutels.
Power Apps-functies en -bewerkingen delegeerbaar voor SQL Server
Power Apps kan Power Fx-querybewerkingen (bijvoorbeeld Filteren) delegeren aan de back-endgegevensbron voor verwerking. Met delegering kan de back-endgegevensservice (bijvoorbeeld SQL Server) het filterwerk uitvoeren, zodat slechts een paar records naar uw apparaat moeten worden overgebracht.
In deze tabel ziet u welke bewerkingen delegeerbaar zijn voor SQL Server op gegevenstype. Expressies die zijn samengevoegd met And, Oren Not zijn delegeerbaar.
| Bewerking of functie | Number | Tekst | Booleaan | DateTime | Guid |
|---|---|---|---|---|---|
*, +, -, / |
Yes | - | - | Nee. | - |
<,<=,>,>= |
Yes | Nee. | Nee. | Yes | - |
=, <> |
Yes | Yes | Yes | Yes | Yes |
Average |
Yes | - | - | - | - |
EndsWith |
- | Ja [1] | - | - | - |
Filter |
Yes | Yes | Yes | Ja [2] | Yes |
In (subtekenreeks) |
- | Ja [3] | - | - | - |
IsBlank [4] |
Nee. | Nee. | Nee. | Nee. | Nee. |
Len (lengte) |
- | Ja [5] | - | - | - |
Lookup |
Yes | Yes | Yes | Yes | Yes |
Max |
Yes | - | - | Nee. | - |
Min |
Yes | - | - | Nee. | - |
Search |
Nee. | Yes | Nee. | Nee. | - |
Sort |
Yes | Yes | Yes | Yes | - |
SortByColumns |
Yes | Yes | Yes | Yes | - |
StartsWith |
- | Ja [6] | - | - | - |
Sum |
Yes | - | - | - | - |
UpdateIf, RemoveIf [7] |
Yes | Yes | Yes | Yes | Yes |
Opmerkingen
Ondersteund voor
(EndsWith(\<column>, "string value"))maar niet voor(EndsWith("string value", \<column>)). Als een tekenkolom (10) een waarde 'hallo' heeft,EndsWith(\<column>, "llo")retourneert deze standaard onwaar. Een tekenkolom (10) heeft 10 tekens.Directe datumfilters werken niet voor SQL Server met een on-premises gegevensgateway. U kunt echter een berekende kolom maken die werkt. U kunt bijvoorbeeld het volgende maken:
ALTER TABLE myTable ADD DateAsInt AS (YEAR([date]) * 10000 + MONTH([date]) * 100 + DAY([date]))
Filter vervolgens op de kolom berekende getallen.Ondersteund voor
("string value" in \<column>), maar niet voor(\<column> in "string value").Een expressie zoals
Filter('[dbo].[MyOrders]', !IsBlank(CustomerId))die niet wordt gedelegeerd aan de server. U kunt echter een expressie gebruiken, zoalsFilter('[dbo].[MyOrders]', CustomerId <> Blank()), die delegert aan de server en semantisch wordt gesloten. Het verschil is dat de tweede expressie de lege tekenreeks ("") niet als leeg behandelt. Hoewel de expressies niet gelijkwaardig zijn, werkt deze mogelijk voor uw doeleinden. U kunt deze methode niet gebruiken voor het gegevenstype Guid.Power Apps delegeert de
Lenfunctie, maar het gedrag werkt mogelijk niet zoals verwacht. In SQL Server heeft een char(10) kolom met de waarde hello altijd een lengte van 10. Power Apps behandelt deze tekenreeks echter als een lengte van 5, wat discrepanties en verwarring kan veroorzaken. Gebruik nietchar/ncharop SQL Server, maar gebruikvarchar/nvarcharin plaats daarvan.Ondersteund voor
(StartsWith(\<column>, "string value")), maar niet voor(StartsWith("string value", \<column>))UpdateIf en RemoveIf werken lokaal, maar simuleren delegering tot een limiet van 500/2000 records. Ze brengen records achtereenvolgens buiten de recordlimiet van 500/2000 niet-delegeren. Records die voldoen aan de if-voorwaarde worden verzameld. Over het algemeen worden maximaal 500/2000 records afzonderlijk verzameld en vervolgens gewijzigd per uitvoering. Er kunnen echter meer records worden bijgewerkt als de bestaande lokale gegevenscache groot is omdat de functie mogelijk toegang heeft tot meer records voor evaluatie.