Połączenie z programem SQL Server z Power Apps

Połączenie z serwerem SQL Server jest nawiązywane na platformie Azure lub w lokalny danych.

Uwaga

Nowo utworzone źródła danych SQL nie mają już prefiksów, takich [dbo] – jak w poprzednich wersjach Power Apps.

Aby uzyskać więcej informacji o znanych ograniczeniach, zobacz Typowe problemy w Power Apps.

Automatyczne generowanie aplikacji

W zależności od tego, którego interfejsu Power Apps używasz, możesz odwoływać się do nowego wyglądu lub do klasycznego, aby utworzyć aplikację.

  1. Zaloguj się do usługi Power Apps.

  2. Na stronie głównej wybierz opcję galerii jednostronicowej lub trzech ekranów dla urządzeń przenośnych:

    • Aby utworzyć jednostronicową aplikację galerii z układem układu strona:
      • Rozpocznij od danych > Wybierz dane zewnętrzne > Z SQL.
      • Rozpocznij od projektu strony > Galeria połączona z danymi zewnętrznymi > Z SQL.
    • Aby utworzyć aplikację mobilną na trzech ekranach, wybierz opcję Rozpocznij od szablonu aplikacji > Z SQL.
  3. Wybierz połączenie SQL i wybierz tabelę. Aby wybrać inne połączenie, wybierz opcję w menu ..., aby przełączać połączenie lub utworzyć nowe połączenie SQL.

    Uwaga

    Jednocześnie jest wyświetlane tylko jedno połączenie.

  4. Gdy wszystko będzie gotowe, wybierz przycisk Utwórz aplikację.

Wywołania procedur przechowywanych bezpośrednio w Power Fx (wersja zapoznawcza)

Można bezpośrednio wywoływać procedury składowane SQL Server z Power Fx, włączając przełącznik wersji zapoznawczej procedury składowanej SQL Server.

Uwaga

Parametry wyjściowe nie są obsługiwane.

  1. Przejdź do strony Ustawienia > Przyszłe funkcje > Wersje zapoznawcze.
  2. Wyszukaj procedura składowana.
  3. Ustaw przełącznik na Wł. dla Procedury przechowywane na serwerze SQL Server.
  4. Zapisywanie i ponowne otworzenie aplikacji.

Zrzut ekranu pokazujący przełącznik procedur składowania SQL Server ustawiony na Wł..

Po dodaniu połączenia SQL Server do aplikacji można teraz dodawać tabele i widoki lub procedury składowane. Ta funkcja działa również z bezpiecznymi niejawnymi połączeniami.

Zrzut ekranu przedstawiający listę tabel, widoków i procedur składowanych dostępnych do dodania do aplikacji.

Jeśli procedura składowana nie jest widoczna od razu, szybciej jest ją wyszukać.

Po wybraniu procedury składowanej pojawi się węzeł podrzędny, w którym można oznaczyć procedurę składowaną jako Bezpieczne do użycia w galeriach i tabelach. Jeśli zaznaczysz tę opcję, możesz przypisać swoją procedurę składowaną jako właściwość Elementy dla galerii tabel do wykorzystania w aplikacji.

Włącz tę opcję tylko wtedy, gdy:

  1. Nie ma żadnych skutków ubocznych wywoływania tej procedury na żądanie, wielokrotnie, za każdym razem, gdy Power Apps odświeża kontrolkę. W przypadku użycia z właściwością Elementy galerii lub tabeli, Power Apps wywołuje procedurę składowaną za każdym razem, gdy system stwierdzi, że potrzebne jest odświeżenie. Nie można kontrolować, kiedy jest wywoływana procedura składowana.
  2. Ilość danych zwracanych w procedurze przechowywanej jest niewielka. Wywołania akcji, takie jak procedury przechowywane, nie mają ograniczenia liczby pobieranych wierszy. Nie są one automatycznie stronicowane w 100 przyrostach rekordów, takich jak tabelaryczne źródła danych, takie jak tabele lub widoki. Jeśli procedura przechowywana zwraca zbyt dużo danych (wiele tysięcy rekordów), aplikacja może zwolnić lub spowodować awarię. Ze względów wydajnościowych należy wprowadzić mniej niż 2000 rekordów.

Ważne

Schemat wartości zwracanych z procedury przechowywanej powinien być statyczny. Co oznacza, że nie zmienia się od rozmowy telefonicznej. Na przykład, jeśli zostanie wywołać procedurę przechowywaną i zwrócone są dwie tabele, należy zawsze zwrócić dwie tabele. Jeśli schemat wyników jest dynamiczny, nie należy korzystać z niego z Power Apps. Na przykład w przypadku wywołania procedury przechowywanej i czasami zwraca jedną tabelę i zwraca dwie tabele, w których ta funkcja nie działa prawidłowo w Power Apps. Power Apps wymaga schematu statycznego dla tego wywołania.

Przykład

Po dodaniu procedury składowanej w projekcie może pojawić się więcej niż jedno źródło danych.

Zrzut ekranu przedstawiający źródła danych SQL.

Aby użyć procedury przechowywanej w Power Apps, należy najpierw poprzeć nazwę procedury przechowywanej nazwą skojarzonego łącznika i nazwą procedury przechowywanej. W tym przykładzie ilustruje go „Paruntimedb.dbonewlibrarybook”. Należy również zauważyć, że Power Apps w momencie wdawania procedury przechowywanej jest owijanie pełnej nazwy. Więc „dbo.newlibrarybook” staje się „dbonewlibrarybook”.

Należy pamiętać, aby odpowiednio przekonwertować wartości w miarę jak przekazać je do procedury przechowywanej w razie potrzeby, ponieważ odczytuje się z wartości tekstowej w Power Apps. Jeśli na przykład aktualizujesz liczbę całkowitą w języku SQL, musisz przekonwertować tekst w polu przy użyciu wartości „Value()”.

Bezpośrednie wywoływanie procedur składowanych.

Praca z galerią

Po zadeklarowaniu bezpiecznego dla interfejsu użytkownika procedury przechowywanej dla właściwości Elementy galerii można uzyskać dostęp do procedury przechowywanej. Odwoływać źródło danych procedur przechowywanych, po których następuje „ResultSets”. Dostęp do wielu wyników można uzyskać, odwołując się do zestawu zwróconych tabel, takich jak Tabela 1, Tabela 2 itp.

Na przykład dostęp procedury przechowywanej bez dostępu do pliku źródło danych o nazwie „Paruntimedb” z procedurą przechowywaną o nazwie „dbo.spo_show_all_library_books()” będzie wyglądać następująco.

Paruntimedb.dbospshowalllibrarybooks().ResultSets.Table1

W ten sposób galeria zostanie wypełniona rekordami. Procedury przechowywane w celu dodatku zachowań akcji do modelu tabelaryczne. Refresh() działa tylko z tabelaryczne źródła danych i nie można go używać w procedurach przechowywanych. Następnie należy odświeżyć galerię podczas tworzenia, aktualizowania lub usuwania rekordu. Użycie funkcji Submit() w formularzu tabelarycznym źródło danych skutecznie wymaga Refresh() na podstawie okryw i aktualizacji galerii.

Aby pomiąć to ograniczenie, użyj zmiennej w właściwości OnVisible dla ekranu i ustaw procedurę przechowywaną na zmienną.

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

Następnie ustaw Właściwość „Items” galerii na nazwę zmiennej.

SP_Books

Następnie po utworzeniu, zaktualizowaniu lub usunięciu rekordu wywołującego w procedurze przechowywanej ustaw zmienną ponownie. Ta aktualizacja galerii.

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

Znane problemy

Źródła danych SQL nie dodają już przedrostka „[dbo]” do nazwy źródła danych

Przedrostek „[dbo]” nie ma żadnego praktycznego zastosowania, Power Apps ponieważ nazwy źródeł danych są automatycznie ujednoznaczniane. Nie będzie to miało wpływu na istniejące źródła danych, ale nowo dodane źródła danych SQL nie będą zawierać przedrostka.

Jeśli jest konieczne zaktualizowanie dużej liczby formuł w jednej z aplikacji, można użyć źródłowego pakietu plików i narzędzia Power Apps do zbiorczego wyszukiwania i zastępowania.

Uwaga

Począwszy od wersji 3.21054, będziemy automatycznie aktualizować uszkodzone odniesienia do starszych nazw do nowej nazwy źródła danych po przeczytaniu źródła danych.

Następne kroki

Uwaga

Czy możesz poinformować nas o preferencjach dotyczących języka dokumentacji? Wypełnij krótką ankietę. (zauważ, że ta ankieta jest po angielsku)

Ankieta zajmie około siedmiu minut. Nie są zbierane żadne dane osobowe (oświadczenie o ochronie prywatności).