2009-06-17 9 views
1

Laut this article wird es NLS-Sortieränderungen in Windows 7 geben, die bestimmte Anwendungen beeinträchtigen können.Änderungen der NLS-Sortierung für Windows 7

Ich versuche herauszufinden, ob die Anwendung, an der ich arbeite, von diesen NLS-Sortieränderungen betroffen sein wird. Ich habe auf Msdn einige der Suche und identifiziert eine Liste, wenn NLS Sortierfunktionen:

CompareString 
CompareStringEx 
CompareStringOrdinal 
LCMapString 
LCMapStringEx 
LCMapStringEx 
FindNLSString 
FindNLSStringEx 
FindStringOrdinal 

ich meine Anwendung Code-Basis gesucht und es nicht eine der oben genannten Funktionen verwenden. Ist das genug, um davon auszugehen, dass meine Anwendung nicht von Änderungen der NLS-Sortierung beeinflusst wird?

In dem obigen Artikel heißt es, dass ein Sort Change Robustheit Diagnose-Tool im Application Compatibility Toolkit verwendet werden kann, um zu überprüfen, ob Ihre Anwendung vor den NLS-Änderungen sicher ist. Ich habe das Anwendungskompatibilitäts-Toolkit heruntergeladen, kann jedoch im Toolkit kein Diagnosewerkzeug für die Sortieränderungs-Robustheit finden.

+0

Nächstes Mal bitte lesen Sie Ihre Frage erneut und machen Sie die Formatierung korrekt, wie ich es diesmal getan habe. – OregonGhost

Antwort

2

Nein, weil viele APIs die Tatsache verbergen, dass sie diese APIs intern aufrufen.

Die eigentliche Sache, um die Sie sich bei NLS kümmern müssen, ist, wenn Sie eine datenbankähnliche Anwendung ausführen, in der Sie Datenindizes basierend auf der Sortierreihenfolge gespeichert haben. Die große Gefahr ist das folgende Szenario:

  1. Datenbank erstellt Indizes auf Vista nutzt Vista Sortierreihenfolge
  2. Sie auf Win7 upgraden, aber halten die Daten
  3. Sie gehen zu einer Lookup machen oder einen Eintrag hinzufügen, aber Win7 die Sortierreihenfolge
  4. verwenden
  5. Datenbank beschädigt wird/gibt seltsame Ergebnisse

Allerdings gibt es Hoffnung - Sie GetNLSVersion API verwenden können, um festzustellen, ob Ihre Indizes neu zu erstellen oder nicht; Wenn Sie Indizes erstellen, speichern Sie auch die Version, für die Sie sie erstellt haben. Wenn Sie starten, wenn Sie sehen, dass die Version anders ist (ja, es ist selten, aber möglich, dass die Zahl sinken könnte!), Lassen Sie die Indizes fallen und bauen Sie sie wieder auf.

Bearbeiten: Wenn Sie eine Produktionsdatenbank wie SQL Server oder MySQL verwenden, behandeln sie dies alles für Sie hinter den Kulissen, also keine Sorge, wenn Sie nur diese Datenbanken abfragen.