![]() |
Datenbank: MSSQL • Version: 2017 • Zugriff über: FireDAC
MSSQL Feldname mit Umlaut :-(
Hallo...:P
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:
Code:
Wem muß beibringen, daß die Umlaute funktionieren sollen? :roll: DB oder FireDAC?
...
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 ... Danke... |
AW: MSSQL Feldname mit Umlaut :-(
Aber das Feld [STÖNachTerminText] erkennt er?
In Oracle würde ich es hier mit Anführungsstrichen versuchen. Grüße Mikhal |
AW: MSSQL Feldname mit Umlaut :-(
Liste der Anhänge anzeigen (Anzahl: 1)
Danke...
Zitat:
|
AW: MSSQL Feldname mit Umlaut :-(
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. |
AW: MSSQL Feldname mit Umlaut :-(
Zitat:
Ich bin gerade auf einer anderen Spur...Moment. |
AW: MSSQL Feldname mit Umlaut :-(
Zitat:
[ ] sind DB spezifisch und daher nicht unbedingt in allen Client Bibliotheken in gleicher Qualität unterstützt. |
AW: MSSQL Feldname mit Umlaut :-(
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. |
AW: MSSQL Feldname mit Umlaut :-(
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? |
AW: MSSQL Feldname mit Umlaut :-(
Zitat:
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. |
AW: MSSQL Feldname mit Umlaut :-(
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. |
AW: MSSQL Feldname mit Umlaut :-(
Hallöle...
Zitat:
Ich hatte die Vermutung weil in der Felddefinion kein "Orgin" eingetragen war [STÖTermin] ... das wars aber auch nicht. :cry: Zitat:
Zitat:
|
AW: MSSQL Feldname mit Umlaut :-(
Die einzige Besonderheit beim Refresh, die mir im Moment einfällt, ist die Eigenschaft "Prepared". Vielleicht gibt es damit Probleme, wenn die Parametrisierung dein Feld (nicht) berücksichtigt?
Um das zu prüfen könntest du ein close, unprepare und open machen. Wenn das funktioniert, könnte da die Ursache sein. Aber ganz ehrlich: Ich stochere da jetzt nur im Nebel und das kann daher auch völliger Unsinn sein. |
AW: MSSQL Feldname mit Umlaut :-(
Zitat:
Ich habe die Felddefinition aus der "Original" Query in diese Qery kopiert, B.[STÖTermin] in SQL wieder ergänzt, ... Fehler! "Ungültiger Spaltenname..." PS: Vor dem Refresh ins DataSet geschaut. Das Feld "STÖTermin" ist vorhanden und gefüllt. :gruebel: |
AW: MSSQL Feldname mit Umlaut :-(
Kannst du mal ein DDL der Tabelle erstellen und ins Forum setzen? Vielleicht gibt es irgendeine Besonderheit.
|
AW: MSSQL Feldname mit Umlaut :-(
Bitteschön...(gekürzt):wink:
Code:
In der Query sind die datetime Felder als TSQLTimeStampField deklariert.
CREATE TABLE [dbo].[Tablexxx](
... [SPStöSachbearbeiter] [nvarchar](50) NULL, [SPStöZugestelltAm] [datetime] NULL, [STÖErledigtAm] [datetime] NULL, [STÖErledigtVon] [nvarchar](6) NULL, [STÖErfasstAm] [datetime] NULL, [STÖErfasstVon] [nvarchar](6) NULL, [STÖReaktionBis] [datetime] NULL, [STÖBearbeitetAm] [datetime] NULL, [STÖBearbeitetVon] [nvarchar](6) NULL, [STÖDauer] [datetime] NULL, [STÖZeit] [int] NULL, [STÖAuftragsNr] [nvarchar](30) NULL, [STÖMonteur] [nvarchar](6) NULL, [STÖMonPlan] [datetime] NULL, [STÖMontEintrAm] [datetime] NULL, [STÖMontEintrVon] [nvarchar](6) NULL, [STÖWann] [datetime] NULL, -> [STÖTermin] [datetime] NULL, [STÖMoSchein] [nvarchar](1) NULL, [STÖweiterAnfahrt] [nvarchar](1) NULL, [STÖFremd] [nvarchar](1) NULL, [STÖFremdAm] [datetime] NULL, [STÖFremdVon] [nvarchar](6) NULL, [STÖAnNetto] [nvarchar](1) NULL, [ixSTÖArt] [nvarchar](50) NULL, [STÖStoerung] [nvarchar](max) NULL, [STÖBemerkung] [nvarchar](max) NULL, [ixSTÖLoesung] [nvarchar](50) NULL, [STÖNochmal] [nvarchar](1) NULL, [STÖNachTermin] [datetime] NULL, [STÖNachTerminText] [nvarchar](max) NULL, [STÖIntervall] [int] NULL, [STÖWer] [nvarchar](50) NULL, [STÖTelefon] [nvarchar](50) NULL, [STÖAbgeschlossen] [nvarchar](1) NULL, [STÖWarenschaden] [nvarchar](1) NULL, [STÖTempAnkunft] [numeric](7, 1) NULL, [STÖTempAbfahrt] [numeric](7, 1) NULL, ... |
AW: MSSQL Feldname mit Umlaut :-(
Ich sehe nix Besonderes. Aber ein Versuch war es Wert.
Ich würde jetzt noch Versuchen, eine Mini-Anwendung zu erstellen, die die Daten abruft und dann ein Refresh macht. Das Ganze ohne C&P, um wirklich einen Standard-Zustand in den Komponenten zu haben. Falls damit alles funktioniert, liegt es an der Anwendung, wenn nicht, bin ich dann auch erstmal überfragt. |
AW: MSSQL Feldname mit Umlaut :-(
Liste der Anhänge anzeigen (Anzahl: 1)
Hallöle...:P
Danke für euren Beistand. :love: Durch die Diskussion bin ich auf die Lösung gekommen... :thumb: Ich habe mir mal das SQL (CommandText) im "Refresh" anzeigen lassen. Das SQL war nicht das was ich erwartet hatte. :shock: Der wollte ein Update machen mit "STÖTermin". :shock: Im Update gehört das Feld "STÖTermin" nicht hin weil nicht vorhanden! Das SQL ist ein Join... Das Feld überprüft...:oops: Schei...gebaut. Der Haken für pfInUpdate war gesetzt. ...ich brauche Urlaub. :wink: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:54 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