Hallo,
hatte das Problem gehabt, dass beim Inserten in eine Tabelle von z.B. "TEST" und "test" eine PKey-Verletzung hervorbrachte. Nach einigem Forschen habe ich herausgefunden, dass man ein Collate setzen kann, um ein case-sensitives Verhalten zu erlangen, Datenbank- oder Spaltenweise (=Sortierung). Habe dann datenbankweit auf "LATIN1_GENERAL_CS_AS" gestellt, um die Datenbankinhalte casesensitiv zu bekommen.
Das funktioniert soweit prima, jedoch habe ich mir einen anderen Bock geschossen, denn MS SQL verlangt nun auch, alle Datenbankobjekte (Tabellennamen, Spaltennamen, StoredProc-Parameter, ...) case-sensitiv zu formulieren (z.B. "select * from MEINE_TABELLE anstatt Meine_Tabelle") !!! Das bedeutet für mich, dass ich nun das gesamte Programm auf Herz und Nieren prüfen muss, wo eine Tabelle oder ein DB-Objekt gerade mal klein bzw. "falsch" geschrieben ist und darf alles korrigieren weil mir das Programm ja nun gleich um die Ohren fliegt wenn das der Fall ist (1,5 Mio Zeilen Quelltext)
Bei Oracle und Firebird funktioniert das hingegen ja wunderbar. Ferner muss ich unseren Service beibrigen, dass man nur bei MS SQL die Statements immer "richtig" schreiben muss ^^. Ich verstehe auch nicht, welchen Sinn es macht, Datenbankobjekte case-sensitiv mit den Inhalten über einen Kamm zu scheren ohne das zu differentieren. Die Nachteile überwiegen ganz klar meiner Meinung nach.
Kurz: gibt es eine Möglichkeit, die Datenbankinhalte CASESENSITIV - die Datenbankobjekte aber hingegen CASEINSENSITIV zu behandeln? Vielleicht ein kleines Häkchen bei der DB-Konfiguration? *hoff*
Grüße,
Patrick
hatte das Problem gehabt, dass beim Inserten in eine Tabelle von z.B. "TEST" und "test" eine PKey-Verletzung hervorbrachte. Nach einigem Forschen habe ich herausgefunden, dass man ein Collate setzen kann, um ein case-sensitives Verhalten zu erlangen, Datenbank- oder Spaltenweise (=Sortierung). Habe dann datenbankweit auf "LATIN1_GENERAL_CS_AS" gestellt, um die Datenbankinhalte casesensitiv zu bekommen.
Das funktioniert soweit prima, jedoch habe ich mir einen anderen Bock geschossen, denn MS SQL verlangt nun auch, alle Datenbankobjekte (Tabellennamen, Spaltennamen, StoredProc-Parameter, ...) case-sensitiv zu formulieren (z.B. "select * from MEINE_TABELLE anstatt Meine_Tabelle") !!! Das bedeutet für mich, dass ich nun das gesamte Programm auf Herz und Nieren prüfen muss, wo eine Tabelle oder ein DB-Objekt gerade mal klein bzw. "falsch" geschrieben ist und darf alles korrigieren weil mir das Programm ja nun gleich um die Ohren fliegt wenn das der Fall ist (1,5 Mio Zeilen Quelltext)
![eek!](https://entwickler-forum.de/core/images/smilies/eek.png)
Kurz: gibt es eine Möglichkeit, die Datenbankinhalte CASESENSITIV - die Datenbankobjekte aber hingegen CASEINSENSITIV zu behandeln? Vielleicht ein kleines Häkchen bei der DB-Konfiguration? *hoff*
Grüße,
Patrick
Comment