Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det finns olika sätt att ansluta till data i SQL Server i din app med hjälp av Power Fx-formler. Du kan komma åt data direkt eller använda en vy eller lagrade procedurer för att skapa, uppdatera eller ta bort data i din app.
Förutsättningar
Om du vill komma åt data direkt kan du skapa en Börja med data-app för dina SQL Server-data. Med den här metoden kan du få en grundläggande, fungerande app som du kan ändra med vyer och lagrade procedurer.
Logga in i Power Apps och gå till sidan Appar.
Välj Ny app>Börja med data.
På sidan Börja med data väljer du Anslut externa data.
Under Välj en datauppsättning för att starta väljer du Från SQL.
Om du har en befintlig SQL Server-anslutning läses den in.
Obs
Om du inte redan har en SQL Server-anslutning skapad kommer du att uppmanas att skapa en.
Välj din SQL-anslutning.
Ange ditt servernamn och databasnamn och välj Anslut. Välj en tabell i listan med tabeller som visas.
Obs
Endast en anslutning visas åt gången. Om du vill använda en annan anslutning väljer du spillmenyn ... på din SQL-anslutning och letar sedan upp en ny eller skapa en ny SQL-anslutning.
Välj Skapa app.
Åtkomst till data
När din app är ansluten till SQL Server kan du komma åt data: Få åtkomst till data i SQL Server.
Visa resultat
Om du vill visa resultatet av dina SQL-frågor, se: Visa resultat i SQL Server.
Power Apps mappningar av datatyp
| SQL Server | Power Apps |
|---|---|
bigint, decimal, int, money, numeric, smallint, , smallmoney, tinyint, , floatreal |
Nummer |
char, nchar, varchar, nvarchar, textntext |
Text |
bit |
Boolean |
date, datetime, datetime2, smalldatetime, datetimeoffsettime |
DateTime |
uniqueidentifier |
Guide |
Obs
Om en SQL Server-datatyp inte visas i föregående tabell stöds inte den datatypen.
Datatyper som inte stöds innehåller följande exempel: binary(), varbinary(), image, cursor, rowversion, hierarchyid, , sql_variant xmlRumsliga geometrityper, Typer av rumslig geografi och tabell. Dessutom stöds inte "tinyint" och "smallint" som primära nycklar.
Power Apps-funktioner och åtgärder som kan delegeras till SQL Server
Power Apps kan delegera Power Fx-frågeåtgärder (till exempel Filter) till serverdelsdatakällan för bearbetning. Med delegering kan serverdelsdatatjänsten (till exempel SQL Server) utföra filtreringen så att endast ett fåtal poster måste överföras till enheten.
Den här tabellen visar vilka åtgärder som kan delegeras till SQL Server efter datatyp. Uttryck som är kopplade till And, Oroch Not är delegerbara.
| Åtgärd eller funktion | Nummer | Text | Boolean | DateTime | Guide |
|---|---|---|---|---|---|
*, +, -, / |
Yes | - | - | Nej | - |
<, <=, , >>= |
Yes | Nej | Nej | Yes | - |
=, <> |
Yes | Yes | Yes | Yes | Yes |
Average |
Yes | - | - | - | - |
EndsWith |
- | Ja [1] | - | - | - |
Filter |
Yes | Yes | Yes | Ja [2] | Yes |
In (delsträng) |
- | Ja [3] | - | - | - |
IsBlank [4] |
Nej | Nej | Nej | Nej | Nej |
Len (längd) |
- | Ja [5] | - | - | - |
Lookup |
Yes | Yes | Yes | Yes | Yes |
Max |
Yes | - | - | Nej | - |
Min |
Yes | - | - | Nej | - |
Search |
Nej | Yes | Nej | Nej | - |
Sort |
Yes | Yes | Yes | Yes | - |
SortByColumns |
Yes | Yes | Yes | Yes | - |
StartsWith |
- | Ja [6] | - | - | - |
Sum |
Yes | - | - | - | - |
UpdateIf, RemoveIf [7] |
Yes | Yes | Yes | Yes | Yes |
Noteringar
Stöds för
(EndsWith(\<column>, "string value"))men inte för(EndsWith("string value", \<column>)). Om en teckenkolumn (10) har värdet "hello"EndsWith(\<column>, "llo")returnerar den falskt, avsiktligt. En teckenkolumn (10) har 10 tecken.Direktdatumfilter fungerar inte för SQL Server med en lokal datagateway. Du kan dock skapa en beräknad kolumn som fungerar. Du kan till exempel skapa:
ALTER TABLE myTable ADD DateAsInt AS (YEAR([date]) * 10000 + MONTH([date]) * 100 + DAY([date]))
Och filtrera sedan på den beräknade talkolumnen.Stöds för
("string value" in \<column>), men inte för(\<column> in "string value").Ett uttryck som
Filter('[dbo].[MyOrders]', !IsBlank(CustomerId))delegerar inte till servern. Du kan dock använda ett uttryck somFilter('[dbo].[MyOrders]', CustomerId <> Blank()), som delegerar till servern och är semantiskt nära. Skillnaden är att det andra uttrycket inte behandlar den tomma strängen ("") som tom. Även om uttrycken inte är likvärdiga kan det senare fungera för dina syften. Du kan inte använda den här metoden för Guid-datatypen.Power Apps delegerar
Lenfunktionen, men beteendet kanske inte fungerar som förväntat. I SQL Server har en teckenkolumn (10) med värdet "hello" alltid en längd på 10. Power Apps behandlar dock strängen som en längd på 5, vilket kan orsaka avvikelser och förvirring. Använd intechar/ncharpå SQL Server, utan användvarchar/nvarchari stället.Stöds för
(StartsWith(\<column>, "string value")), men inte för(StartsWith("string value", \<column>))UpdateIf och RemoveIf fungerar lokalt men simulerar delegering till en gräns på 500/2000 poster. De tar successivt ned poster utöver postgränsen för icke-delegering 500/2000. Poster som uppfyller villkoret If samlas in. I allmänhet samlas högst 500/2000 poster in separat och ändras sedan per körning. Fler poster kan dock uppdateras om den befintliga lokala datacachen är stor eftersom funktionen kan ha åtkomst till fler poster för utvärdering.