Danke für eure Antworten. Allerdings, ich bin ein lausiger Laie bei dem Thema, einige Antworten waren daher recht schwer zu verstehen. Aber irgendwann muss man ja mal anfangen. Ich versuche erst einmal nur die
XML-Daten in eine Datenbank zu bekommen, um dann einfache Abfragen, Sichten und vielleicht auch Prozeduren mit Parametern schreiben zu können.
1. Den Servernamen bekomme ich aus dem Computernamen sowie "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microso ft
SQL Server" und dort "InstalledInstances"? Gilt das Allgemein oder gibt es da Ausnahmen?
Wo soll denn der Server laufen?
Zunächst nur auf einem Einzelplatzrechner. Das was man beim "ConnectionString" unter "DataSource" angibt bzw. beim Server Management Studio zum Anmelden eingibt.
2. Das dämliche "N" bei Inserts. Kann man eine Datenbank von Anfang an so konfigurieren, dass man darauf verzichten kann?
Unicode muss aber sein, es geht um CJK Texte.
Seit 2016 ist UTF-8 eine Kollation für nicht-nationale Typen. Das könnte funktionieren. Ob man die Implikationen möchte, ist eine andere Frage.
Danke, klappt. Wenn ich bei CREATE DATABASE mit COLLATE eine UTF8-Option wähle, funktioniert es auch ohne 'N'. Absolut verständlich, dass es von der Sortierung abhängt.
Zitat von
Microsoft:
Stellen Sie einer
Unicode-Zeichenfolgenkonstanten den Buchstaben „N“ voran, um UCS-2- oder UTF-16-Eingabe zu markieren, je nachdem, ob eine Sortierung mit zusätzlichen Zeichen verwendet wird. Ohne das Präfix „N“ wird die Zeichenfolge in die Standardcodepage der Datenbank konvertiert, die einige Zeichen ggf. nicht erkennt. Ab
SQL Server 2019 (15.x) gilt Folgendes: Wenn eine Sortierung mit aktiviertem UTF-8 verwendet wird, kann die Standardcodepage einen
UNICODE UTF-8-Zeichensatz speichern.
Scheint auch noch recht neu zu sein.
3. Wenn ich mir das Schema mit den Datenbanknamen hohle, gibt es auch das Feld Description. Wie kann ich die setzen? Bei Jet ging das ja wohl über die Properties.
Das ist eine Systemtabelle,
sys.extended_properties WHERE name='MS_Description'
. Da brauchst du aber weitere Werte für den PK: Den Wert für die Spalte
schema_id
bekommt man aus
sys.schemas
und den Wert für die Spalten
major_id
und
minor_id
aus
sys.columns
(
object_id
und
column_id
). Völlig logisch, oder?
Guter Tipp. Ich habe mit 'sp_addextendedproperty' eine Beschreibung hinein bekommen. Zumindest finde ich sie im Management Studio allerdings nicht in der einfachen Schema-Abfrage. Aber ich weiß ja wo es steht, dann kann ich sie auch abfragen.