Připojení k SQL Serveru z Power Apps

K SQL Server se můžete připojit buď v Azure, nebo v místní databázi.

Poznámka

Nově vytvořené zdroje dat SQL již nemají předponu [dbo], jako tomu bylo v předchozích verzích Power Apps.

Další informace viz téma Běžné problémy a řešení pro Power Apps.

Automatické vygenerování aplikace

V závislosti na rozhraní Power Apps, které používáte, používejte nový vzhled nebo klasický vzhled pro vytvoření aplikace.

  1. Přihlaste se do Power Apps

  2. Na úvodní stránce vyberte možnost galerie s jednou stránkou nebo mobil se třemi obrazovkami:

    • Chcete-li vytvořit aplikaci galerie s jednou stránkou s responzivním rozložením, vyberte jednu z následujících možností:
      • Začněte s daty > Vyberte externí data > Ze SQL.
      • Začněte s návrhem stránky > Galerie připojená k externím datům > Z SQL.
    • Chcete-li vytvořit mobilní aplikaci se třemi obrazovkami, vyberte Začít se šablonou aplikace > Z SQL.
  3. Vyberte připojení SQL a poté vyberte tabulku. Chcete-li vybrat jiné připojení, vyberte rozbalovací nabídku ... a přepněte připojení nebo vytvořte nové připojení SQL.

    Poznámka

    V jednu chvíli se zobrazuje pouze jedno připojení.

  4. Až budete hotovi, vyberte Vytvořit aplikaci.

Volejte uložené procedury přímo v Power Fx (Preview)

Uložené procedury SQL Server můžete volat přímo z Power Fx zapnutím přepínače Preview uložené procedury SQL Server.

Poznámka

Výstupní parametry nejsou podporovány.

  1. Přejděte na Nastavení > Připravované funkce > Preview.
  2. Vyhledejte uložené procedury.
  3. Přepínač pro procedury serveru SQL Serveru nastavte na hodnotu Zapnuto.
  4. Uložte a znovu otevřete aplikaci.

Snímek obrazovky, který ukazuje přepínač uložených procedur serveru SQL Server nastavený na hodnotu Zapnuto.

Když do aplikace přidáte připojení k SQL Server, můžete nyní přidávat tabulky a pohledy nebo uložené procedury. Tato funkce funguje také se zabezpečenými implicitními připojeními.

Snímek obrazovky, který ukazuje seznamy tabulek, pohledů a uložených procedur, které lze přidat do vaší aplikace.

Pokud svou uloženou proceduru okamžitě nevidíte, je rychlejší ji vyhledat.

Jakmile vyberete uloženou proceduru, zobrazí se podřízený uzel a uloženou proceduru můžete označit jako Bezpečné pro použití pro galerie a tabulky. Pokud zaškrtnete tuto možnost, můžete svou uloženou proceduru přiřadit jako vlastnost Items pro galerie pro tabulky, které chcete použít ve vaší aplikaci.

Tuto možnost zapněte, pouze pokud:

  1. Neexistují žádné vedlejší účinky volání této procedury na vyžádání, vícekrát, kdykoli Power Apps obnoví ovládací prvek. Při použití s vlastností Items galerie nebo tabulky, Power Apps volá uloženou proceduru, kdykoli systém určí, že je potřeba provést aktualizaci. Nemůžete ovládat, kdy je volána uložená procedura.
  2. Množství dat, které vrátíte v uložené proceduře, je mírné. Volání akcí, jako jsou uložené procedury, nemají omezení počtu načtených řádků. Nejsou automaticky stránkovány po 100 záznamech jako tabulkové zdroje dat, jako jsou tabulky nebo zobrazení. Pokud tedy uložená procedura vrací příliš mnoho dat (mnoho tisíc záznamů), může se vaše aplikace zpomalit nebo selhat. Z výkonnostních důvodů byste měli vložit méně než 2 000 záznamů.

Důležité

Schéma návratových hodnot uložené procedury by mělo být statické. To znamená, že se volání od volání nemění. Pokud například zavoláte uloženou proceduru a ta vrátí dvě tabulky, měla by vždy vrátit dvě tabulky. Pokud je schéma výsledků dynamické, neměli byste jej používat s Power Apps. Pokud například zavoláte uloženou proceduru a ta někdy vrátí jednu tabulku a někdy vrátí dvě tabulky, nebude v Power Apps fungovat správně. Power Apps vyžaduje pro toto volání statické schéma.

Příklad

Když přidáte uloženou proceduru, můžete ve svém projektu vidět více než jeden zdroj dat.

Snímek obrazovky, který ukazuje zdroje dat SQL.

Chcete-li použít uloženou proceduru v Power Apps, nejprve před název uložené procedury uveďte název konektoru, který je k ní přidružen, a název uložené procedury. „Paruntimedb.dbonewlibrarybook“ v příkladu ilustruje tento vzor. Všimněte si také, že když Power Apps zavede uloženou proceduru, zřetězí celý název. Takže „dbo.newlibrarybook“ se změní na „dbonewlibrarybook“.

Nezapomeňte podle potřeby převádět hodnoty při jejich předávání do uložené procedury, protože čtete z textové hodnoty v Power Apps. Pokud například aktualizujete celé číslo v SQL, musíte převést text v poli funkcí „Value()“.

Přímé volání uložených procedur.

K uložené proceduře pro vlastnost Items galerie můžete přistupovat poté, co ji prohlásíte za bezpečnou pro uživatelské rozhraní. Uveďte název zdroje dat a název uložené procedury následovaný „ResultSets“. K více výsledkům můžete přistupovat odkazem na sadu vrácených tabulek, například Tabulka 1, Tabulka 2 atd.

Například váš přístup k uložené proceduře mimo zdroj dat s názvem „Paruntimedb“ s uloženou procedurou nazvanou „dbo.spo_show_all_library_books()“ bude vypadat následovně.

Paruntimedb.dbospshowalllibrarybooks().ResultSets.Table1

Tím se galerie naplní záznamy. Uložené procedury jsou však přidáním dodatečným chování akce do tabulkového modelu. Refresh() funguje pouze s tabulkovými zdroji dat a nelze ji použít s uloženými procedurami. Poté musíte galerii aktualizovat, když je záznam vytvořen, aktualizován nebo odstraněn. Když použijete Submit() ve formuláři pro tabulkový zdroj dat, efektivně a skrytě zavolá Refresh() a aktualizuje galerii.

Chcete-li toto omezení obejít, použijte proměnnou ve vlastnosti OnVisible pro obrazovku a nastavte uloženou proceduru na proměnnou.

Set(SP_Books, Paruntimedb.dbospshowalllibrarybooks().ResultSets.Table1);

Následně nastavte vlastnost „Items“ galerie na název proměnné.

SP_Books

Poté, co vytvoříte, aktualizujete nebo odstraníte záznam voláním uložené procedury, nastavte proměnnou znovu. Tím se galerie aktualizuje.

Paruntimedb.dbonewlibrarybook({   
  book_name: DataCardValue3_2.Text, 
  author: DataCardValue1_2.Text,
    ...
});
Set(SP_Books, Paruntimedb.dbospshowalllibrarybooks().ResultSets.Table1);

Známé problémy

Zdroje dat SQL již nepřidávají předponu [dbo] k názvu zdroje dat

Předpona [dbo] neslouží žádnému praktickému účelu v Power Apps, protože názvy zdrojů dat jsou automaticky zjednoznačněny. Stávající zdroje dat nejsou touto změnou ovlivněny, ale žádné nově přidané zdroje dat SQL předponu neobsahují.

Pokud potřebujete aktualizovat velké množství vzorců v jedné ze svých aplikací, Nástroj pro sbalení a rozbalení zdrojového souboru Power Apps lze použít k provedení globálního hledání a nahrazení.

Poznámka

Počínaje verzí 3.21054 budeme po přečtení zdroje dat automaticky aktualizovat nefunkční odkazy na starší názvy na nový název zdroje dat.

Další kroky

Poznámka

Můžete nám sdělit, jaké máte jazykové preference pro dokumentaci? Zúčastněte se krátkého průzkumu. (upozorňujeme, že tento průzkum je v angličtině)

Průzkum bude trvat asi sedm minut. Nejsou shromažďovány žádné osobní údaje (prohlášení o zásadách ochrany osobních údajů).