Verbindung zu SQL Server über Power Apps

Sie können eine Verbindung zu SQL Server entweder in Azure oder einer lokalen Datenbank herstellen.

Hinweis

Neu erstellte SQL-Datenquellen wird nicht mehr wie in früheren Versionen von Power Apps [dbo] vorangestellt.

Weitere Informationen finden Sie unter Allgemeine Probleme und Lösungen für Power Apps.

Eine App automatisch generieren

Je nachdem, welche Power Apps-Schnittstelle Sie verwenden, verweisen Sie auf das neue Design oder das klassische Design, um eine App zu erstellen.

  1. Melden Sie sich bei Power Apps an.

  2. Wählen Sie auf der Startseite entweder die Option einseitige Galerie oder drei Bildschirme mobil aus:

    • Um eine einseitige Katalog-App mit einem dynamischen Layout zu erstellen, wählen Sie eine der folgenden Optionen:
      • Mit Daten beginnen > Externe Daten auswählen > Von SQL.
      • Mit einem Seitenentwurf beginnen > Galerie mit Verbindung zu externen Daten > Von SQL.
    • Um eine mobile App mit drei Bildschirmen zu erstellen, wählen Sie Mit einer App-Vorlage beginnen > Von SQL aus.
  3. Wählen Sie Ihre SQL-Verbindung und dann eine Tabelle aus. Um eine andere Verbindung auszuwählen, wählen Sie das Überlaufmenü ... aus, um Ihre Verbindung zu wechseln oder eine neue SQL-Verbindung zu erstellen.

    Hinweis

    Es wird jeweils nur eine Verbindung angezeigt.

  4. Wenn Sie fertig sind, wählen Sie App erstellen.

Gespeicherte Prozeduren direkt in Power Fx abrufen (Vorschauversion)

Sie können gespeicherte SQL Server-Prozeduren direkt von Power Fx aus aufrufen, indem Sie den Vorschauschalter für gespeicherte SQL Server-Prozeduren aktivieren.

Hinweis

Ausgabeparameter werden nicht unterstützt.

  1. Gehen Sie zu Einstellungen > Neue Funktionen > Vorschau.
  2. Suchen Sie nach gespeicherten Prozeduren.
  3. Stellen Sie den Schalter auf An für Gespeicherte SQL Server-Prozeduren.
  4. Speichern und öffnen Sie die App erneut.

Screenshot, der zeigt, wie der Schalter für gespeicherte SQL Server-Prozeduren auf „Ein“ gesetzt ist.

Wenn Sie Ihrer App eine SQL Server-Verbindung hinzufügen, können Sie jetzt Tabellen und Ansichten oder gespeicherte Prozeduren hinzufügen. Diese Funktion funktioniert auch mit sicheren impliziten Verbindungen.

Screenshot, der Listen mit Tabellen, Ansichten und gespeicherten Prozeduren zeigt, die Ihrer App hinzugefügt werden können.

Wenn Sie Ihre gespeicherte Prozedur nicht sofort sehen, können Sie schneller danach suchen.

Sobald Sie eine gespeicherte Prozedur auswählen, wird ein untergeordneter Knoten angezeigt und Sie können die gespeicherte Prozedur als Sicher für die Verwendung für Galerien und Tabellen kennzeichnen. Wenn Sie diese Option aktivieren, können Sie Ihre gespeicherte Prozedur als Elemente-Eigenschaft für Galerien für Tabellen zur Verwendung in Ihrer App zuweisen.

Aktivieren Sie diese Option nur, wenn:

  1. Es gibt keine Nebenwirkungen, wenn diese Prozedur bei Bedarf mehrmals aufgerufen wird, sobald Power Apps das Steuerelement aktualisiert. Bei Verwendung mit einer Elemente-Eigenschaft einer Galerie oder Tabelle ruft Power Apps die gespeicherte Prozedur immer dann auf, wenn das System feststellt, dass eine Aktualisierung erforderlich ist. Sie können nicht festlegen, wann die gespeicherte Prozedur aufgerufen wird.
  2. Die Datenmenge, die Sie in der gespeicherten Prozedur zurückgeben, ist geringfügig. Aktionsaufrufe, wie etwa gespeicherte Prozeduren, haben keine Begrenzung für die Anzahl der abgerufenen Zeilen. Sie werden nicht automatisch in Schritten von 100 Datensätzen ausgelagert, wie es bei tabellarischen Datenquellen wie Tabellen oder Ansichten der Fall ist. Wenn die gespeicherte Prozedur also zu viele Daten (viele tausend Datensätze) zurückgibt, wird Ihre App möglicherweise langsamer oder stürzt ab. Aus Leistungsgründen sollten Sie weniger als 2.000 Datensätze einbringen.

Wichtig

Das Schema der Rückgabewerte der gespeicherten Prozedur sollte statisch sein. Das bedeutet, dass es sich von Anruf zu Anruf nicht ändert. Wenn Sie beispielsweise eine gespeicherte Prozedur aufrufen und diese zwei Tabellen zurückgibt, sollte sie immer zwei Tabellen zurückgeben. Wenn das Schema der Ergebnisse dynamisch ist, sollten Sie es nicht mit Power Apps verwenden. Wenn Sie beispielsweise die gespeicherte Prozedur aufrufen und sie manchmal eine Tabelle und manchmal zwei Tabellen zurückgibt, funktioniert sie in Power Apps nicht ordnungsgemäß. Power Apps erfordert für diesen Aufruf ein statisches Schema.

Beispiel

Wenn Sie eine gespeicherte Prozedur hinzufügen, wird in Ihrem Projekt möglicherweise mehr als eine Datenquelle angezeigt.

Screenshot, der SQL-Datenquellen zeigt.

Um eine gespeicherte Prozedur in Power Apps zu verwenden, stellen Sie dem Namen der gespeicherten Prozedur zunächst den Namen des zugehörigen Konnektors und den Namen der gespeicherten Prozedur voran. „Paruntimedb.dbonewlibrarybook“ im Beispiel veranschaulicht dieses Muster. Beachten Sie außerdem, dass beim Aufrufen der gespeicherten Prozedur durch Power Apps der vollständige Name verkettet wird. Aus „dbo.newlibrarybook“ wird also „dbonewlibrarybook“.

Denken Sie daran, Werte entsprechend zu konvertieren, wenn Sie sie bei Bedarf an Ihre gespeicherte Prozedur übergeben, da Sie aus einem Textwert in Power Apps lesen. Wenn Sie beispielsweise eine Ganzzahl in SQL aktualisieren, müssen Sie den Text im Feld mit „Value()“ konvertieren.

Gespeicherte Prozeduren direkt aufrufen.

Sie können auf eine gespeicherte Prozedur für die Eigenschaft Artikel eines Katalogs zugreifen, nachdem Sie sie für die Benutzeroberfläche als sicher erklärt haben. Verweisen Sie auf den Datenquellennamen und den Namen der gespeicherten Prozedur, gefolgt von „ResultSets“. Sie können auf mehrere Ergebnisse zugreifen, indem Sie auf die zurückgegebenen Tabellen wie Tabelle 1, Tabelle 2 usw. verweisen.

Beispielsweise sieht Ihr Zugriff auf eine gespeicherte Prozedur von Datenquelle namens „Paruntimedb“ mit einer gespeicherten Prozedur namens „dbo.spo_show_all_library_books()“ wie folgt aus.

Paruntimedb.dbospshowalllibrarybooks().ResultSets.Table1

Dadurch wird der Katalog mit Datensätzen gefüllt. Allerdings sind gespeicherte Prozeduren eine Ergänzung von Aktionsverhalten zum tabellarischen Modell. „Refresh()“ funktioniert nur mit tabellarischen Datenquellen und kann nicht mit gespeicherten Prozeduren verwendet werden. Anschließend müssen Sie den Katalog aktualisieren, wenn ein Datensatz erstellt, aktualisiert oder gelöscht wird. Wenn Sie „Submit()“ in einem Formular für eine tabellarische Datenquelle verwenden, ruft es im Hintergrund effektiv „Refresh()“ auf und aktualisiert den Katalog.

Um diese Einschränkung zu umgehen, verwenden Sie eine Variable in der „OnVisible“-Eigenschaft für den Bildschirm und legen Sie die gespeicherte Prozedur auf die Variable fest.

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

Und legen Sie dann die „Artikel“-Eigenschaft des Katalogs auf den Variablennamen fest.

SP_Books

Nachdem Sie dann einen Datensatz mit einem Aufruf der gespeicherten Prozedur erstellt, aktualisiert oder gelöscht haben, legen Sie die Variable erneut fest. Dadurch wird der Katalog aktualisiert.

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

Bekannte Probleme

SQL-Datenquellen fügen dem Namen der Datenquelle kein [dbo]-Präfix mehr hinzu

Das Präfix [dbo] erfüllt keinen praktischen Zweck in Power Apps, da Datenquellennamen automatisch eindeutig sind. Vorhandene Datenquellen sind von dieser Änderung nicht betroffen, neu hinzugefügte SQL-Datenquellen enthalten jedoch kein Präfix.

Wenn Sie eine große Anzahl von Formeln in einer Ihrer Apps aktualisieren müssen, kann das Power Apps Dienstprogramm zum Packen und Entpacken von Quelldateien verwendet werden, um ein globales Suchen und Ersetzen durchzuführen.

Hinweis

Ab Version 3.21054 aktualisieren wir nach dem Lesen der Datenquelle automatisch defekte veraltete Namensreferenzen auf den neuen Datenquellennamen.

Nächste Schritte,

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).