AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken MSSQL+FireDAC: Umlaute im SQL Statement gehen "verloren"
Thema durchsuchen
Ansicht
Themen-Optionen

MSSQL+FireDAC: Umlaute im SQL Statement gehen "verloren"

Ein Thema von juergen · begonnen am 5. Okt 2023 · letzter Beitrag vom 8. Okt 2023
Antwort Antwort
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#1

MSSQL+FireDAC: Umlaute im SQL Statement gehen "verloren"

  Alt 5. Okt 2023, 12:42
Datenbank: MSSQL • Version: 2019 • Zugriff über: FireDAC
Hallo zusammen,

ich habe momentan das Phänomen, dass in einem SQL-Statement, welches ich in Delphi zusammenstelle und dann an die FDQuery.SQL.Text übergebe, dann im Memo der Datenbank keine Umlaute ankommen sondern seltsame Zeichen. Das tritt bei mir lokal nicht auf, aber auf einem englischen Server. Bei mir und auf dem engl. Server steht die Collation der Datenbank auf "Latin1_General_BIN2".

Wenn ich das SQL-Statement der FDQuery als Text sichere, stehen dort noch die Umlaute drin... Aber dann im Memo der DB eben nicht.
Ich konnte jetzt keine Eigenschaften an der FDConnection oder FDQuery finden, die Einfluss auf das Encoding(?) haben könnten.

Hat hier jemand eine Idee woran das liegen könnte?
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.429 Beiträge
 
Delphi 12 Athens
 
#2

AW: MSSQL+FireDAC: Umlaute im SQL Statement gehen "verloren"

  Alt 5. Okt 2023, 12:57
Hallöle...
Zitat:
Aber dann im Memo der DB eben nicht.
Was ist ein Memo der Datenbank?
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: MSSQL+FireDAC: Umlaute im SQL Statement gehen "verloren"

  Alt 5. Okt 2023, 13:05
Ok, das Memo ist natürlich nicht in der Datenbank, sondern das Control DBMemo zur Anzeige in der Anwendung. Aber ich glaube du weißt was ich meinte.
Der Datentyp des Feldes ist varbinary.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.429 Beiträge
 
Delphi 12 Athens
 
#4

AW: MSSQL+FireDAC: Umlaute im SQL Statement gehen "verloren"

  Alt 5. Okt 2023, 13:15
Zitat:
Aber ich glaube du weißt was ich meinte
...nö leider nicht.

FDQuery.SQL.Text ist was anderes als das Ergebnis der Abfrage im Memo der Anwendung. Ich hatte das "Memo" (Abfrageeditor) der FireDAC Query im Sinn...

Nachtrag:
Zitat:
sondern das Control DBMemo zur Anzeige
Ist das eine manuelle Eingabe des SQL zu Runtime? Aber dann DBMemo?


Stehen die Umlaute schon im SQL oder im Ergebnis? Zeige mal ein SQL.Text Beispiel...und das erwartete Ergebnis und das Falsche.

Geändert von haentschman ( 5. Okt 2023 um 13:27 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.626 Beiträge
 
Delphi 12 Athens
 
#5

AW: MSSQL+FireDAC: Umlaute im SQL Statement gehen "verloren"

  Alt 5. Okt 2023, 13:54
Wenn es ein TMemoField ist, dann wird der Text mit Hilfe der Funktion GetAnsiString ermittelt und in einen string . Damit ist das Ergebnis abhängig von der aktuellen CodePage des Systems.

Du kannst das Verhalten aber mit einem OnGetText Eventhandler selber bestimmen, in dem du dort direkt Sender.TBytes auf das passende Encoding loslässt und das Ergebnis in Text zurückgibst.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.336 Beiträge
 
Delphi 12 Athens
 
#6

AW: MSSQL+FireDAC: Umlaute im SQL Statement gehen "verloren"

  Alt 5. Okt 2023, 15:45
Warum nicht TEXT, bzw. NTEXT als Datentyp?

https://learn.microsoft.com/en-us/sq...l-server-ver16
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:39 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-2025 by Thomas Breitkreuz