Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Existují různé způsoby připojení k datům v SQL Serveru v aplikaci pomocí vzorců Power Fx. K datům můžete přistupovat přímo nebo pomocí zobrazení nebo uložených procedur vytvářet, aktualizovat nebo odstraňovat data v aplikaci.
Předpoklady
Pokud chcete mít přímý přístup k datům, můžete pro data SQL Serveru vytvořit aplikaci Začít s daty. Tato metoda umožňuje získat základní funkční aplikaci, kterou můžete upravovat pomocí zobrazení a uložených procedur.
Přihlaste se k Power Apps a přejděte na stránku Aplikace.
Vyberte Nová aplikace>Začít s daty.
Na stránce Začít s daty zvolte Připojit externí data.
V části Zvolte datovou sadu, kterou chcete začít vyberte Od SQL.
Pokud máte existující připojení k serveru SQL, načte se.
Poznámka:
Pokud ještě nemáte připojení k SQL Serveru, budete vyzváni k jeho vytvoření.
Vyberte připojení SQL.
Zadejte název serveru a název databáze a pak zvolte Připojit. Vyberte tabulku ze seznamu tabulek, který se zobrazí.
Poznámka:
V jednu chvíli se zobrazuje pouze jedno připojení. Chcete-li použít jiné připojení, vyberte nabídku přetečení ... na připojení SQL a poté najděte nové nebo vytvořte nové připojení SQL.
Vyberte Vytvořit aplikaci.
Přístup k datům
Jakmile je vaše aplikace připojená k SQL Serveru, můžete přistupovat k datům: Přístup k datům v SQL Serveru.
Zobrazení výsledků
Chcete-li zobrazit výsledky dotazů SQL, viz: Zobrazení výsledků na SQL Serveru.
Mapování datového typu Power Apps
| SQL Server | Power Apps |
|---|---|
bigint, decimal, int, moneynumeric, smallintsmallmoneytinyint, floatreal |
Number |
char, nchar, varchar, nvarchar, , textntext |
Text |
bit |
logický |
date, datetime, datetime2, smalldatetime, , datetimeoffsettime |
DateTime |
uniqueidentifier |
Průvodce |
Poznámka:
Pokud se datový typ SQL Serveru nezobrazuje v předchozí tabulce, tento datový typ se nepodporuje.
Mezi nepodporované datové typy patří následující příklady: binary(), varbinary(), image, cursor, rowversion, , hierarchyid, sql_variant xml, , Typy prostorové geometrie, Typy prostorové geografie a tabulka. Jako primární klíče se také nepodporují "tinyint" a "smallint".
Funkce a operace Power Apps delegovatelné na SQL Server
Power Apps může delegovat operace dotazů Power Fx (například Filter) na back-endový zdroj dat ke zpracování. Delegování umožňuje back-endové datové službě (například SQL Server) provádět filtrování, aby se do vašeho zařízení muselo přenést jenom několik záznamů.
Tato tabulka ukazuje, které operace se dají delegovat na SQL Server podle datového typu. Výrazy spojené s znakem And, Ora Not jsou delegovatelné.
| Operace nebo funkce | Number | Text | logický | DateTime | Průvodce |
|---|---|---|---|---|---|
*, +, -, / |
Ano | - | - | Ne | - |
<, <=, , >>= |
Ano | Ne | Ne | Ano | - |
=, <> |
Ano | Ano | Ano | Ano | Ano |
Average |
Ano | - | - | - | - |
EndsWith |
- | Ano [1] | - | - | - |
Filter |
Ano | Ano | Ano | Ano [2] | Ano |
In (podřetětěžka) |
- | Ano [3] | - | - | - |
IsBlank [4] |
Ne | Ne | Ne | Ne | Ne |
Len (délka) |
- | Ano [5] | - | - | - |
Lookup |
Ano | Ano | Ano | Ano | Ano |
Max |
Ano | - | - | Ne | - |
Min |
Ano | - | - | Ne | - |
Search |
Ne | Ano | Ne | Ne | - |
Sort |
Ano | Ano | Ano | Ano | - |
SortByColumns |
Ano | Ano | Ano | Ano | - |
StartsWith |
- | Ano [6] | - | - | - |
Sum |
Ano | - | - | - | - |
UpdateIf, RemoveIf [7] |
Ano | Ano | Ano | Ano | Ano |
Poznámky
Podporováno pro
(EndsWith(\<column>, "string value")), ale ne pro(EndsWith("string value", \<column>)). Pokud má sloupec char(10) hodnotu "hello",EndsWith(\<column>, "llo")vrátí hodnotu false podle návrhu. Sloupec char(10) má 10 znaků.Filtry přímých dat nefungují pro SQL Server s místní bránou dat. Můžete ale vytvořit počítaný sloupec, který funguje. Můžete například vytvořit:
ALTER TABLE myTable ADD DateAsInt AS (YEAR([date]) * 10000 + MONTH([date]) * 100 + DAY([date]))
Potom vyfiltrujte počítaný číselný sloupec.Podporováno pro
("string value" in \<column>), ale ne pro(\<column> in "string value").Výraz, například
Filter('[dbo].[MyOrders]', !IsBlank(CustomerId))nebude delegovat na server. Můžete však použít výraz, napříkladFilter('[dbo].[MyOrders]', CustomerId <> Blank()), který deleguje na server a je sémanticky zavřený. Rozdíl je v tom, že druhý výraz nebude zacházet s prázdným řetězcem (""). I když výrazy nejsou ekvivalentní, může fungovat pro vaše účely. Tuto metodu nelze použít pro datový typ GUID.Power Apps tuto funkci deleguje
Len, ale chování nemusí fungovat podle očekávání. V SQL Serveru má sloupec char(10) s hodnotou "hello" vždy délku 10. Power Apps ale tento řetězec považuje za dlouhý 5, což může způsobit nesrovnalosti a nejasnosti. Nepoužívejtechar/ncharna SQL Serveru, ale použijtevarchar/nvarcharmísto toho.Podporováno pro
(StartsWith(\<column>, "string value")), ale ne pro(StartsWith("string value", \<column>))UpdateIf a RemoveIf fungují místně, ale simulují delegování na limit 500/2000 záznamů. Po sobě přinesou záznamy nad rámec limitu záznamů, který není delegování 500/2000. Jsou shromažďovány záznamy, které splňují podmínku If. Obecně platí, že se shromažďuje maximálně 500/2000 záznamů zvlášť a pak se mění podle provedení. Pokud je však existující místní mezipaměť dat velká, může být aktualizováno více záznamů, protože funkce může mít přístup k více záznamům pro vyhodnocení.