![]() |
Datenbank: MariaDB • Version: 10.1.13 • Zugriff über: FireDAC
(MariaDB) Sortierreihenfolge in FDTable unterschiedlich
Hallo,
ich habe ein kleines Problem mit der Verwendung von FDTable in Verbindung mit unserer MySQL/MariaDB-Datenbank: Die Sortierung vom Server (Sortierung mit ORDER BY) unterscheidet sich von der Sortierung auf dem Client (welche anhand der Eigenschaft "SortLocale" sortiert). Insbesondere gibt es Probleme mit der Sortierung von Leerzeichen und Sonderzeichen. Wir sind folgende Sortierung gewöhnt: Leerzeichen -> Sonderzeichen -> Zahlen -> Buchstaben. Da die FDTable ja seitenweise einliest mit "LIMIT X" und "WHERE" in Verbindung mit einem Primärschlüsselwert, kommt dieser durcheinander wenn ein doppelter Datensatz auftaucht. In der Hilfe von Embarcadero wird empfohlen, die Formatoptions der FDTable entsprechend zu setzen: SortLocale := MAKELCID(MAKELANGID (LANG_GERMAN, SUBLANG_GERMAN), SORT_DEFAULT); SortOptions := [soNoSymbols]; StrsTrim := false; - "SortLocale" hat nach der Ermittlung der obenstehenden LanguageID den Wert "1031". Default-Wert wäre "1024" -> Nichts gebracht - "[soNoSymbols]" bewirkt den gleichen Fehler schon beim Öffnen und holen der ersten 4 Datensätze. - "StrsTrim" bewirkt keinen Unterschied. Ich habe mal aus Spaß "SortLocale" auf 0 gesetzt. Dann trat der Fehler nicht mehr an der gewöhnlichen Stelle auf, dafür aber ein paar 10000 Datensätze weiter. Getestet wurde es in unserem Artikelstamm, dabei ist die FDTable angewiesen, die Tabelle nach der "Benennung" zu sortieren. Nun zu meiner eigentlichen Frage: Arbeitet ihr auch mit FDTables? Hattet ihr mal das gleiche Problem? Wenn ja, welche Werte benutzt ihr für die Sortieroptionen? Nebenbei: Die Tabelle auf dem Server hat die Standardkollation "latin1_swedish_ci", probiert habe ich aber auch "latin1_german1_ci" und "latin1_german2_ci". Egal welche der drei Kollationen, bei einer Abfrage über HeidiSQL stand stets das Leerzeichen an erster Stelle und dann Sonderzeichen etc.... |
AW: (MariaDB) Sortierreihenfolge in FDTable unterschiedlich
Hi MasterDetail
Mit MariaDB selbst hab ich noch nie gearbeitet, aber mit MySQL. Und da ist es möglich, die Sortierreihenfolge pro Verbindung zu ändern. Also wird dies auch in MariaDB der Fall sein. Dadurch können UserA und UserB mit 2 unterschiedlichen Sortierreihenfolgen arbeiten. Zitat:
Zu deiner eigentlichen Frage:
Gruss Delbor PS: Ich weiss das zwar nicht wirklich, aber ich würde mich doch sehr wundern, wenn HeidiSQL nicht auch direkt mit dem Server arbeitet. Insbesondere da, wo es gilt, Metadaten zu bearbeiten, wie zum Bleistift Sortierreihenfolge oder Zeichensatz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz