Solution Micha Zenke Posted July 24, 2023 Author Solution Share Posted July 24, 2023 Ich habe es gelöst! Es lag daran, dass Power Automate nach 2048 Datensätzen die SQL Sicht neu lädt, dabei neu sortiert, und dann die nächsten 2048 Datensätze lädt 🙈 Also @Philip Alvermann du warst schon nah dran mit deiner Vermutung das es mit Paginierung zusammenhängt. @Philip Alvermann & @Bülent Erbas Vielen Dank für eure Unterstützung. @Alle: Sorry für die Vielen Nachrichten 🙈 4 1 1 Link to comment Share on other sites More sharing options...
Bülent Erbas Posted July 24, 2023 Share Posted July 24, 2023 @Micha Zenke Das freut mich, das du es gelöst hast. D.h. du warst in der Testdatenbank immer unter 2048 Datensätzen? Oder warum ist es dort nicht aufgefallen? Link to comment Share on other sites More sharing options...
Micha Zenke Posted July 24, 2023 Author Share Posted July 24, 2023 @Bülent Erbas nein es ist nicht aufgefallen, da ich scheinbar immer mit den Anlagen getestet hab die jedesmal übertragen wurden 🥳🙈 2 Link to comment Share on other sites More sharing options...
Johanna Becker Posted July 24, 2023 Share Posted July 24, 2023 Großartig! Ich finde es klasse, dass die Communitypower Dich beim Finden des Fehlers unterstützen konnte! 🚀 2 Link to comment Share on other sites More sharing options...
Philip Alvermann Posted July 24, 2023 Share Posted July 24, 2023 vor 11 Minuten schrieb Micha Zenke: Es lag daran, dass Power Automate nach 2048 Datensätzen die SQL Sicht neu lädt, Wie hast du das verhindert? Nur so für die Vollständigkeit deiner Lösung 🙂 Link to comment Share on other sites More sharing options...
Bülent Erbas Posted July 24, 2023 Share Posted July 24, 2023 vor 3 Stunden schrieb Micha Zenke: Also @Philip Alvermann du warst schon nah dran mit deiner Vermutung das es mit Paginierung zusammenhängt. Ist ja auch ein Experte in API, das was ich bisher so mitbekomme 😅 Ich muss mich da noch reinlesen/reindenken, hab noch bisschen was vor mir 🙈 Aber der Austausch hier ist echt Klasse.. ich lerne dabei allerhand 1 Link to comment Share on other sites More sharing options...
Micha Zenke Posted July 25, 2023 Author Share Posted July 25, 2023 @Philip Alvermann Ich habe die SQL sich noch nach einer eindeutigen Spalte per ORDER BY sortiert. Musste dann aller dings noch am anfang meiner abfrage den SELECT befehlt Limitieren. Hab also gesagt SELECT TOP 10000 dann meine Normale SQL abfragen Und am Enden den ORDER BY auf die entsprechende Spalte gelegt. Hab mich bewusst für die TOP 10000 entschieden, um den gleichen wert wie bei Paginierung zu haben. Wenn mans weiß ist es ganz einfach und auch nachvollziehbar. 2 Link to comment Share on other sites More sharing options...
_Moritz_ Posted July 25, 2023 Share Posted July 25, 2023 @Micha Zenke super, dass ihr den Fehler selber gefunden habt. Das mit der Paginierung – bzw. dass man manchmal nur Teilmengen kriegt – ist grundsätzlich eine Fehelerquelle bei Power Automate. Nicht nur mit der SQL-Action. Einen ähnlichen Fall hatte ich auch schonmal mit einer Excel-Action ("List all rows in a table"). Ich hätte ansonsten noch validieren wollen, ob die ganzen IDs alle passen (smapID, dsabID usw.), aber diese Fehlerquelle konntest du ja eigentlich schon ausschließen, weil du sagtest du hättest nix geändert und fing dann an zu klemmen... Danke auch @Philip Alvermann und @Bülent Erbas für die Hilfe! ❤️ 2 1 Link to comment Share on other sites More sharing options...
Michael Klaus Posted August 7, 2023 Share Posted August 7, 2023 Schön, dass die Ursache gefunden werden konnte. Hier haben wir ein Paradebeispiel, wie etwas in der Entwicklung / Testumgebung einwandfrei funktionieren kann und bei der Produktivschaltung dann "Fehler" mit sich bringt. Ich möchte hier anmerken, dass die Paginierung auch einen immensen Vorteil mit sich bringt und zwar eine gewisse Stabilität des Automatismus. Umso höher die Paginierung eingestellt wird, desto mehr Daten werden per einziger Abfrage übermittelt, bei SQL sind es standardmäßig 2048 und bei Excel 256. Es gibt viele Leute, die das Problem haben und das erste was man findet ist immer: "stell doch die Paginierung hoch". Wie instabil das ganze am Ende wird, verrät jedoch kaum einer 😞 Desto mehr Daten auf einmal übertragen werden, desto eher riskiert man hiermit einen Timeout, da die Anfrage zu viel Zeit beanspruchen kann. Meine Lösung in Power Automate hierfür ist, dass man die Abfragen in der Do until-Schleife in eine Variable schmeißt um am Ende ohne Timeout alle Daten zu sammeln und anschließend weiterverarbeiten zu können. Hinweis: Ob SQL oder Excel macht kaum einen Unterschied, bis auf den SkipCount von 2048 oder 256. Variablen: Schleife - Anfang Erläuterung zu Union: Union fasst Listen (Arrays) zusammen und löscht Duplikate heraus (hier aufpassen, wenn Dopplungen wichtig sind!).LINK zur Referenz von Microsoft Wenn der nextLink leer ist, gibt es keine weiteren Daten mehr und die Schleife wird beendet. Schleife - Ende 2 3 Link to comment Share on other sites More sharing options...
Rolf Thielmann Posted July 11 Share Posted July 11 Hallo allerseits, ich habe ein ähnliches Problem. Ich habe unterschiedliche Smaps mit DSABs, die ich über Power Automate aus Excel-Dateien aktualisiere. Wenn ich die Excel-Datei manuell in den DSAB lade, ist alles OK. Wenn die Daten der selben Datei über den Power Automate Flow in den DSAB geschrieben werden, sind jeweils genau 256 Datensätze vorhanden. Da 256 ja 2 hoch 8 entspricht, vermute ich irgendeine magische Grenze.... Kann jemand mit dieser Info ggf. etwas anfangen? Gruß Rolf Link to comment Share on other sites More sharing options...
Aaron Seggelke Posted July 12 Share Posted July 12 Hallo @Rolf Thielmann, Der Baustein "List rows present in table" für Excel in Power Automate hat ein Standard Limit von 256 pro Abfrage. Am 7.8.2023 um 09:25 schrieb Michael Klaus: Umso höher die Paginierung eingestellt wird, desto mehr Daten werden per einziger Abfrage übermittelt, bei SQL sind es standardmäßig 2048 und bei Excel 256. @Michael Klaus hat es in seiner Antwort genau beschrieben wie man dann vorgehen soll. Diese Anleitung könntest du dann auch in deinen Flow bauen. Falls dir das zu viel Aufwand ist und du die Vorteile und Sicherung der Paginierung umgehen möchtest kannst du auch in den Settings des Excel-Bausteins die Paginierung manuell anpassen und eine Benutzerdefinierte Zahl eingeben. Link to comment Share on other sites More sharing options...
Rolf Thielmann Posted July 15 Share Posted July 15 Hallo @Aaron Seggelke, VIELEN DANK für den Hinweis. Die ganzen Bausteine für die Wiederholung des "List rows present in table"-Bausteins sind mehr, als der komplette Flow, den ich bisher programmiert habe. Das erschien mir zu umständlich. Ich habe es daher mit einem Wert von 5000 für den Threshold versucht und soweit ich es beurteilen kann, läuft das derzeit zuverlässig. Grüße Rolf 3 Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now