6 Stimmen

SQL Server Fall/Kollisionsproblem

Ich hatte heute eine merkwürdige Situation in der Datenbank eines Kunden. In SQL Server 2005 ist die Groß- und Kleinschreibung bei der Datenbanksortierung unerheblich, so dass ich SQL-Abfragen mit beliebiger Groß- und Kleinschreibung schreiben kann, ohne dass es Probleme gibt ... mit einer Ausnahme. Eine bestimmte Spalte in einer bestimmten Tabelle heißt "DeadZone". Wenn ich eine Abfrage wie diese stelle: select Deadzone from TableName' - erhalte ich die Fehlermeldung, dass die Spalte nicht gefunden wurde wie hier: 'select DeadZone from TableName' - es funktioniert. Jetzt kommt der Clou, etwa so: 'select deadZone from TableName' - es funktioniert!

Es wird also nur das 'Z' im Spaltennamen beachtet! Ich habe in derselben Tabelle einen ähnlichen Spaltennamen mit einem "Z" erstellt, und bei dieser Spalte wird nicht zwischen Groß- und Kleinschreibung unterschieden.

Irgendwelche Ideen? Ich bin sicher, dass ich das Problem umgehen kann, indem ich die Spalte lösche und wieder einfüge, aber es wäre gut, wenn ich der Sache auf den Grund gehen könnte. Übrigens befindet sich die Datenbank auf einem PC in Ungarn, ist es also möglich, dass einige ungarisch-spezifische Zeichenprobleme die Ursache sind? Ich erinnere mich, dass ein anderer Spaltenname mit einem "Z" darin nicht das gleiche Problem hatte.

-Graeme

6voto

Cade Roux Punkte 85601

Wie ist die genaue Zusammenstellung? Ungarisch hat einen speziellen Dz-Buchstaben die möglicherweise anders kategorisiert werden als D - Ihr Problem könnte also eigentlich d und nicht z sein.

Deadzone is [D][e][a][dz][o][n][e]
DeadZone is [D][e][a][d][Z][o][n][e]
deadZone is [d][e][a][d][Z][o][n][e]

Wenn ich könnte, würde ich dich mit +1000 für das Seltsamste wählen, was ich diesen Monat gesehen habe.

Siehe dazu die Ausgabe mit LY: http://www.sqlservercentral.com/Forums/Topic19439-9-1.aspx

Und ich glaube nicht, dass das Löschen und Wiedereinfügen Ihrer Spalte etwas bringt. Sie sollten wahrscheinlich nur echte ungarische Spaltennamen verwenden, wenn Sie eine ungarische Datenbanksortierung verwenden wollen!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X