Thema: Delphi XML zu Datenbanken

Einzelnen Beitrag anzeigen

Ydobon

Registriert seit: 3. Mär 2006
261 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: XML zu Datenbanken

  Alt 26. Jan 2022, 13:24
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.
  Mit Zitat antworten Zitat