AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi MSSQL Feldname mit Umlaut :-(
Thema durchsuchen
Ansicht
Themen-Optionen

MSSQL Feldname mit Umlaut :-(

Ein Thema von haentschman · begonnen am 18. Nov 2021 · letzter Beitrag vom 18. Nov 2021
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von haentschman
haentschman

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

MSSQL Feldname mit Umlaut :-(

  Alt 18. Nov 2021, 06:31
Datenbank: MSSQL • Version: 2017 • Zugriff über: FireDAC
Hallo...

Gleich zum Anfang: Ich habe mir das nicht ausgedacht.

Ich habe in der DB noch Feldnamen in Tabellen die Umlaute besitzen. In der Regel macht das auch nix...mit [] eingeschlossen.
In letzter Zeit kommt beim "Refresh" des Datasets folgender Fehler:
Zitat:
[FireDAC][Phys][ODBC][Microsoft][SQL Server Native Client 11.0][SQL Server]Ungültiger Spaltenname "STÖTermin".
Das witzige ist, daß die Datenmenge schon vorher geladen war.
Code:
...
  B.[ixSTÖLoesung],
  B.[STÖNachTerminText],
  B.[STÖTermin],
  B.ixBELStatus
from
  TERMin T
  left outer join BELKopf B on (T.idBelKopf = B.idBelKopf)
  left outer join Employees A on (T.ixUserAn = A.EmployeeNameShort)
where
...
Wem muß beibringen, daß die Umlaute funktionieren sollen? DB oder FireDAC?

Danke...

Geändert von haentschman (18. Nov 2021 um 06:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: MSSQL Feldname mit Umlaut :-(

  Alt 18. Nov 2021, 06:54
Aber das Feld [STÖNachTerminText] erkennt er?

In Oracle würde ich es hier mit Anführungsstrichen versuchen.

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

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

AW: MSSQL Feldname mit Umlaut :-(

  Alt 18. Nov 2021, 06:56
Danke...
Zitat:
In Oracle würde ich es hier mit Anführungsstrichen versuchen.
...beim Refresh? Query.Refresh?
Miniaturansicht angehängter Grafiken
error.png  

Geändert von haentschman (18. Nov 2021 um 07:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: MSSQL Feldname mit Umlaut :-(

  Alt 18. Nov 2021, 07:05
Nicht speziell beim Refresh sondern grundsätzlich.

Warum machst du an dieser Stelle ein Refresh? Hast du Daten geändert oder wurde der Datensatz von jemand anderem im Hintergrund geändert?

Wenn du selbst keine Änderungen vorgenommen hast, versuch es mal mit Close und Open. Tritt der Fehler dann immer noch auf? Dann liegt die Vermutung nahe, dass FireDAC der Übeltäter ist.
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

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

AW: MSSQL Feldname mit Umlaut :-(

  Alt 18. Nov 2021, 07:15
Zitat:
von jemand anderem im Hintergrund geändert
...ja.

Ich bin gerade auf einer anderen Spur...Moment.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#6

AW: MSSQL Feldname mit Umlaut :-(

  Alt 18. Nov 2021, 07:26
Ms Sql unterstützt auch den Sql Standard, nach dem Spaltennamen mit doppelten Hochkomma umgeben werden können.

[ ] sind DB spezifisch und daher nicht unbedingt in allen Client Bibliotheken in gleicher Qualität unterstützt.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin
Online

Registriert seit: 15. Sep 2008
Ort: Dubai
681 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: MSSQL Feldname mit Umlaut :-(

  Alt 18. Nov 2021, 07:41
Ich würde um jeden Preis versuchen die Umlaute loszuwerden.
Selbst wenn dafür die ganze DB neu erstellt werden muss und tausend Zeilen Quelltext zu ändern sind.
Die arbeit hat man nur einmal, den Ärger dafür andauernd.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#8

AW: MSSQL Feldname mit Umlaut :-(

  Alt 18. Nov 2021, 07:44
Vielleicht wird ein Mix aus Persistenz Angaben und SQL verwendet?
Ehrlich gesagt, by MSSQL würde ich sowas auch in eckige Klammern setzen, allerdings eben im SQL Text, weniger bei Feldnamenangaben in irgendwelchen Objekteigenschaften. Vielleicht wird auch SQL Text gebaut? Oder Parameter bestückt, also nicht beim Ursprungsselect problematisch, sondern bei "späterer" Formularbedienung / Filterung?
Dann reicht irgendein seltenes Event vielleicht für den Fehler.
Schon mal im Code und im Formular nach dem Übeltäter gesucht? Debugged?
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: MSSQL Feldname mit Umlaut :-(

  Alt 18. Nov 2021, 08:08
Ich würde um jeden Preis versuchen die Umlaute loszuwerden.
Selbst wenn dafür die ganze DB neu erstellt werden muss und tausend Zeilen Quelltext zu ändern sind.
Die arbeit hat man nur einmal, den Ärger dafür andauernd.
Erstelle eine View, die die Tabelle 1:1 abbildet. Die Feldnamen benennst du dort um. So kann man sukzessive die Anwendung(en) umstellen, ohne dass es Probleme gibt. Auch alle DML funktionieren dann. Wir haben sogar Bulk-Inserts die die View verwenden und fehlerfrei funktionieren.
Ob man dann später, wenn alles mit der View arbeitet, die Tabelle anpasst und diese wieder verwendet, kann man dann ja auch noch in Angriff nehmen. Allerdings habe ich gute Erfahrungen damit gemacht, in Anwendungen nur noch Views anzusprechen. Wenn dann Ergänzungen, Korrekturen oder ähnliches erforderlich sind, muss nur die View angepasst werden und nicht die Anwendung. Und solange es nur um Abfragen geht, kann man dafür UDF verwenden, die als Result eine "Tabelle" haben.
Peter
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.205 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: MSSQL Feldname mit Umlaut :-(

  Alt 18. Nov 2021, 08:11
Das kommt NUR bei B.[ixSTÖLoesung] oder bei allen mit Umlauten?

Verwende mal einen Alias. B.[ixSTÖLoesung] as B_ixSTOELoesung.
Schau auch mal mit dem Profiler/einem Trace, was auf der DB tatsächlich passiert. Der MSSQL Server allein ist hier sicher nicht das Problem.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz