Startseite
  Archiv
  Gästebuch
  Kontakt
 


 

Webnews

Webnews



http://myblog.de/almpeter

Gratis bloggen bei
myblog.de





 
SQL Server Zeichensatz Problem

Werden wir etwas technischer!

Es gibt in unserem Unternehmen seit über 10 Jahren eine Software, die als Warenwirtschaftsprogramm arbeitet. Seitdem wächst und wächst logischerweise die Datenbank. Mittlerweile sind es ca. 4 GB. Ebenfalls wurde die zugrundeliegende Technologie seither auf neuestem Stand gehalten: Seit Microsoft SQL - lasst mich lügen - Version 6.5. Dann weiter zu SQL Server 7, SQL Server 2000 und hoffentlich bald SQL-Server 2005 (immerhin ist für 2008 schon die nächste Generation geplant, um der Datenwut Herr zu werden!).

Ok, die Datenbank ist immer mitgekommen. Die erste Installation des SQL-Servers wurde mit einem SQL-Zeichensatz durchgeführt, der "non unicode" war. Es war einer der "SQL-Server-850-CI-AS" Zeichensätze oder ähnliches. Auf jeden Fall "non unicode". Das bedeutet, dass im Programm selbst alle Zeichen gut aussahen, bei Abfragen in der Datenbank aber (z.B. mit einem Business Intelligence Tool), wurden die deutschen Sonderzeichen wie "Ä, ö, ß, ü" usw. als falsche Zeichen interpretiert. Wilde schwarze Blöcke, Striche und was es nicht alles gibt. Ein buntes Etwas. Das geht natürlich gar nicht.

Des Weiteren war der Zeitpunkt gekommen, da Software anderer Hersteller an das System angebunden werden sollten, also eine Datenkommunikation auftritt. Das bedeutet also für das System, dass der Zeichensatz bereinigt werden muss.

Wie tue ich das? Wir haben viel philosophiert und ausprobiert. Ein Backup und Restore auf einem Server mit Unicode-Zeichensatz der Datenbank tut es nicht. Das Problem blieb. Des Weiteren kam hinzu, dass die Spaltendefinition der Datenbank nicht im "nvarchar" usw. Format sind, sondern im älteren "varchar", "text" usw.

Der Weg wurde also klarer. Man muss nur den Content  der Tabellen, Sichten, Prozeduren etc. kopiereren, aber nicht die Datenbank an sich. Mit dem Enterprise Manager des SQL-Servers 2000 kam man zu keinem Ergebnis. Ständig Fehler und Abbrüche.

Daher ging ich mit meinem Kollegen folgende Lösung an:

Wir haben eine leere Datenbank auf einem SQL-Server 2005 erzeugt - Sortierungssatz: "Latin1_General_CI_AS". Also Standard (heutzutage).

Dann haben wir mit dem Management Studio des SQL-2005ers ein Export der Sichten und Tabellen aus der alten in die neue Datenbank durchgeführt. Danach braucht man noch die Prozeduren, Systemtabellen, evtl. Trigger und Benutzer (halt allen anderen Content). Dazu haben wir mit Hilfe wiederum des Management Studios und der Funktion "Skript generieren" auf unsere Ursprungsdatenbank angewendet. Dieses Skript baut nun die SQL-Befehle in eine Abfrage auf, welche genau diesen fehlenden Content erstellt. Danach nimmt man diese Abfrage und ersetzt gegebenenfalls alle "Alte-Datenbank" Namen durch "Neue-Datenbank" Namen. Dieses Skript nimmt man nun und spielt es auf die NEUE Datenbank auf. Danach sollte man A) alle Sichten und Tabellen sowie B) alle 'Programmierbarkeit' Inhalte der Ursprungsdatenbank wiederhersgestellt haben.

Zum krönenden Abschluss nehmen man die CLient-Server Applikation und binde die neue Datenbank ein.

Schwupps: Wir haben eine korrekte Darstellung ALLER Sonderzeichen, da wir jetzt einen Unicode-Sortiersatz haben und die Applikation hat durch unseren Kleinen Eingriff auch keinen Schaden erlitten.  

Wenn es dazu Fragen gibt, dann schreibt einfach einen Kommentar dazu. 

14.5.07 21:04


Der Meeresspiegel und der Mensch

Die Diskussion überden Ausstoß von CO2, Kyoto, USA, Ozonlöchern und umweltfreundlichen Autos, schädlicher Flugverkehr, Glühbirnen und Strompreise überhaupt ist wieder einmal hochaktuell.

Es wird Flutkatastrophen, Riesen-Hurricanes, Tornades, Tsunamis, Überschwemmungen, Dürreperioden und Hungersnöte geben - wenn man den Vorhersagen der Tele-Schamanen Glauben schenkt.

In den letzten 5000 Jahren stieg der Meerespiegel um ca. 80 Meter an (wiederum, wenn man den Tele-Schamanen glauben darf). Das würde bedeuten, dass der Meeresspiegel im Durchschnitt um ca. 1,6 Meter / 100 Jahre angestiegen ist.
Wenn das die letzten 5000 Jahre so gewesen ist, wieso sollte es sich dann jetzt auf einmal ändern? Vorhersagen des Max-Planck Instituts gehen von einer Erhöhung des Meeresspiegels um ca. einen Meter im Jahr 2100 aus. Das ist doch eine sehr positive Nachricht! Die Geschwindingkeit der Zunahme näme um 50% ab - und das trotz aller Umweltschädigungen.

Ich beobachte diese Diskussionen immer mit Skepsis. Der Mensch zeichnet erst seit wenigen hundert Jahren mehr oder weniger detailliert in wissenschaftlicher Weise das Wetter auf. Alles, was davor war, können unsere Schamanen heute mehr oder weniger detailliert rekonstruieren. Nichtsdestotrotz: Uns- also die modernen Menschen - gibt es nur eine sehr kurze Periode in der Weltgeschichte. Die Komplexität der Welt ist dererat hoch, dass selbst die Wettervorhersagen meist recht vage, oftmals sogar daneben liegen.

Dennoch machen wir uns selbst Glauben, dass wir die Zusammenhänge verstehen, dass wir Ursache und Wirkung kennen. Das Wetter auf unserem Planeten ändert sich stetig, der Meerespiegel, die Temperaturen. Mal schneller, mal langsamer.

Natürlich bin ich für Umweltfreundlichkeit, nur bezweifle ich, dass der Mensch auf so etwas wie einen Planeten eine derartige Wirkung erzeugen kann. Der Planet ist etwas, dass jenseits unseres Einflussbereiches liegt und ich bin der Meinung, der Mensch sollte aufhören, jede Veränderung der Umwelt in irgendeiner Form auf sein Handeln hin zu deuten. Der Mensch ist nicht das wichtigste Wesen auf dieser Welt und wenn eine 20 jährige Dürre eine Milliarde Menschen umbringt, dann ist das eben so. Tragisch. Danach würde es dann auch wieder weniger Menschen geben, die die Umwelt belasten. So genommen also ein selbstreinigender Zyklus.

Zugegebenermaßen verläuft dieser Prozess sicher nicht in einer konstanten Geschwindigkeit, die das arithmetische Mittel rechtfertigen würde. Aber was wissen wir schon? Heute sollte es lt. modernster Meterologie regnen und bewölkt sein - und was ist? Die Sonne scheint den ganzen Tag. Und wir maßen uns an, etwas von Klima zu verstehen ...

9.4.07 14:32





Verantwortlich für die Inhalte ist der Autor. Dein kostenloses Blog bei myblog.de! Datenschutzerklärung
Werbung