Frage

Wir haben in dem Prozess unsere Anwendung auf volles Unicode comptibility ein Upgrade als wir vor kurzem bekamen Delphi 2009 haben die dies aus der Box zur Verfügung stellt. Ich suche jemanden, der Erfahrung der Aktualisierung einer Anwendung muss Unicode-Zeichen zu akzeptieren. Insbesondere Antworten auf eine der folgenden Fragen.

  • Wir brauchen Varchars zu nvarchar- Char zu NChar ändern. Gibt es gotchas hier.
  • Wir müssen alle SQL-Anweisungen aktualisieren N vor beliebigen SQL-Strings enthalten. So setzen Aktualisierung tbl_Customer Name = 'Smith' muss aktualisieren tbl_Customer werden gesetzt Name = N 'Smith'. Gibt es eine Möglichkeit, um diese für bestimmte Felder auf Standard. Es erscheint ungewöhnlich, dies ist nach wie vor erforderlich.
  • Ist es möglich, alle Standardwerte in SQLServer einrichten zu erhalten, die diese einfacher machen?

ps Wir müssen auch unseren Oracle-Code aktualisieren

War es hilfreich?

Lösung

Oracle ist es nicht erforderlich nvarchar verwenden Unicode-Strings-the speichern Server zum Speichern von varchar2 in UTF-8 konfiguriert werden kann. Wenn Sie nur vor ASCII unterstützt, soll es transparent sein. Das sollte die Notwendigkeit für alle anwendungsseitige Such- und ersetzen für ' verhindern N'.

Wie bei Damien Punkt: es könnte Ihnen jetzt nicht helfen, aber man sollte es wirklich eine Priorität machen, um loszuwerden, nicht-parametrisierte Abfragen. Sie sind nichts anderes als ein Hemmschuh für Ihr System von einer Wartung, Leistung und Sicherheit Standpunkt aus.

Andere Tipps

Offensichtliche mit SQL Server ist, dass die Grenzwerte für nchar / nvarchar sind die Hälfte ihrer char / varchar Pendants (es sei denn Sie alles migrieren> 4000 bis nvarchar (max))

Damien

Ich bin nicht sicher, wie nützlich Ihre Antwort. Wir haben eine große 700.000 Zeilen von kompilierten Code-Basis, die in den letzten zehn Jahren geschrieben wurde, die eine große Anzahl von SQL-Abfragen enthält. Die meisten sind auf wenige Funktionen standardisiert nach unten, die die Grundlage für die meisten der Updates auf der Datenbank. Diese können ganz einfach aktualisiert werden. Allerdings müssen wir where-Klausel auch für Kundenname = ‚% s‘ alle überprüfen, die jetzt Kundenname = N ‚% s‘

sein sollte

Dies ist eine echte Frage, die eine wirkliche Antwort muss.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top