Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Istnieją różne sposoby nawiązywania połączenia z danymi w programie SQL Server w aplikacji przy użyciu formuł Power Fx. Możesz uzyskać bezpośredni dostęp do danych lub użyć widoku lub procedur przechowywanych do tworzenia, aktualizowania lub usuwania danych w aplikacji.
Wymagania wstępne
Aby uzyskać bezpośredni dostęp do danych, możesz utworzyć aplikację Zacznij od danych dla danych serwera SQL. Ta metoda pozwala uzyskać podstawową, działającą aplikację, którą można modyfikować za pomocą widoków i procedur składowanych.
Zaloguj się do Power Apps i przejdź do strony Aplikacje.
Wybierz pozycję Nowa aplikacja>Zacznij od danych.
Na stronie Rozpoczynanie od danych wybierz pozycję Połącz dane zewnętrzne.
W sekcji Wybierz zestaw danych do rozpoczęcia wybierz Z SQL.
Jeśli masz istniejące połączenie SQL Server, zostanie ono załadowane.
Uwaga
Jeśli nie masz jeszcze połączenia z serwerem SQL, zostaniesz poproszony o jego utworzenie.
Wybierz połączenie SQL.
Wprowadź nazwę Serwera i Nazwy bazy danych, a następnie wybierz Połącz. Wybierz tabelę z wyświetlonej listy tabel.
Uwaga
Jednocześnie jest wyświetlane tylko jedno połączenie. Aby użyć innego połączenia, wybierz menu przepełnienia ... w połączeniu SQL, a następnie znajdź nowe połączenie lub utwórz nowe połączenie SQL.
Wybierz utwórz-aplikację.
Dostęp do danych
Po połączeniu aplikacji z serwerem SQL Server można uzyskać dostęp do danych: Dostęp do danych w SQL Server.
Wyświetl wyniki
Aby wyświetlić wyniki zapytań SQL, zobacz: Wyświetl wyniki w SQL Server.
Mapowanie typu danych Power Apps
| SQL Server | Power Apps |
|---|---|
bigint, decimal, , , intmoneynumericsmallintsmallmoneytinyintfloatreal |
Number |
char, , nchar, varchar, nvarchar, , textntext |
Tekst |
bit |
logiczny |
date, , datetime, datetime2, smalldatetime, , datetimeoffsettime |
DateTime |
uniqueidentifier |
Przewodnik |
Uwaga
Jeśli typ danych programu SQL Server nie jest wyświetlany w poprzedniej tabeli, ten typ danych nie jest obsługiwany.
Nieobsługiwane typy danych obejmują następujące przykłady: binary(), , varbinary(), cursorhierarchyidimagerowversionsql_variant xmlTypy geometrii przestrzennej, Typy geografii przestrzennej i tabela. Ponadto "tinyint" i "smallint" nie są obsługiwane jako klucze podstawowe.
Funkcje i operacje usługi Power Apps delegowalne do programu SQL Server
Usługa Power Apps może delegować operacje zapytań Power Fx (na przykład Filtr) do źródła danych zaplecza na potrzeby przetwarzania. Delegowanie umożliwia usłudze danych zaplecza (na przykład programOWI SQL Server) wykonywanie zadań filtrowania, dzięki czemu tylko kilka rekordów musi zostać przeniesionych na urządzenie.
W tej tabeli pokazano, które operacje można delegować do programu SQL Server według typu danych. Wyrażenia połączone z elementami And, Ori Not są delegowalne.
| Operacja lub funkcja | Number | Tekst | logiczny | DateTime | Przewodnik |
|---|---|---|---|---|---|
*, +, -, / |
Tak | - | - | Nie. | - |
<, , <=, , >>= |
Tak | Nie. | Nie. | Tak | - |
=, <> |
Tak | Tak | Tak | Tak | Tak |
Average |
Tak | - | - | - | - |
EndsWith |
- | Tak [1] | - | - | - |
Filter |
Tak | Tak | Tak | Tak [2] | Tak |
In (podciąg) |
- | Tak [3] | - | - | - |
IsBlank [4] |
Nie. | Nie. | Nie. | Nie. | Nie. |
Len (długość) |
- | Tak [5] | - | - | - |
Lookup |
Tak | Tak | Tak | Tak | Tak |
Max |
Tak | - | - | Nie. | - |
Min |
Tak | - | - | Nie. | - |
Search |
Nie. | Tak | Nie. | Nie. | - |
Sort |
Tak | Tak | Tak | Tak | - |
SortByColumns |
Tak | Tak | Tak | Tak | - |
StartsWith |
- | Tak [6] | - | - | - |
Sum |
Tak | - | - | - | - |
UpdateIf, RemoveIf [7] |
Tak | Tak | Tak | Tak | Tak |
Notatki
Obsługiwane dla elementu
(EndsWith(\<column>, "string value")), ale nie dla(EndsWith("string value", \<column>)). Jeśli kolumna char(10) ma wartość "hello",EndsWith(\<column>, "llo")zwraca wartość false zgodnie z projektem. Kolumna char(10) ma 10 znaków.Filtry dat bezpośrednich nie działają dla programu SQL Server z lokalną bramą danych. Można jednak utworzyć kolumnę obliczeniową, która działa. Możesz na przykład utworzyć następujące elementy:
ALTER TABLE myTable ADD DateAsInt AS (YEAR([date]) * 10000 + MONTH([date]) * 100 + DAY([date]))
Następnie przefiltruj kolumnę liczb obliczeniową.Obsługiwane w przypadku programu
("string value" in \<column>), ale nie dla(\<column> in "string value")programu .Wyrażenie, takie jak
Filter('[dbo].[MyOrders]', !IsBlank(CustomerId))nie deleguje do serwera. Można jednak użyć wyrażenia takiego jakFilter('[dbo].[MyOrders]', CustomerId <> Blank()), które deleguje do serwera i jest semantycznie zamykane. Różnica polega na tym, że drugie wyrażenie nie będzie traktować pustego ciągu ("") jako pustego. Mimo że wyrażenia nie są równoważne, te ostatnie mogą działać dla Twoich celów. Nie można użyć tej metody dla typu danych Guid.Usługa Power Apps deleguje
Lenfunkcję, ale zachowanie może nie działać zgodnie z oczekiwaniami. W programie SQL Server kolumna char(10) o wartości "hello" zawsze ma długość 10. Jednak usługa Power Apps traktuje ten ciąg jako o długości 5, co może powodować rozbieżności i zamieszanie. Nie używaj gochar/ncharna serwerze SQL, ale zamiast tego używaj go.varchar/nvarcharObsługiwane dla elementu
(StartsWith(\<column>, "string value")), ale nie dla(StartsWith("string value", \<column>))UpdateIf i RemoveIf działają lokalnie, ale symulują delegowanie do limitu 500/2000 rekordów. Kolejno obniżają rekordy poza limitem rekordów innych niż delegowanie 500/2000. Rekordy spełniające warunek If są zbierane. Ogólnie rzecz biorąc, maksymalnie 500/2000 rekordów są zbierane oddzielnie, a następnie zmieniane na wykonanie. Można jednak zaktualizować więcej rekordów, jeśli istniejąca lokalna pamięć podręczna danych jest duża, ponieważ funkcja może mieć dostęp do większej liczby rekordów na potrzeby oceny.