Einzelnen Beitrag anzeigen

Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#1

XSD-Schema für typisierte Datasets ergänzen

  Alt 13. Okt 2006, 10:57
Datenbank: Firebird • Version: 2.0 RC4 • Zugriff über: Firebird Net Provider 2.0 RC1
Hallo,

mangels nutzbarer Wizards in #D oder VC#E (siehe meine Frage unter [dp]#D und VC#E Fehlende Provider registrieren[/dp]) erzeuge ich mir meine typ.Datasets halbautomatisch:
  • Datenbank: Metadaten extrahieren
  • damit manuell eine xsd-Schemadatei schreiben (das geht im Editor teilweise über Suchen/Ersetzen)
  • mit XSD.Exe eine passende cs-Datei erstellen lassen
Das funktioniert auch als Notlösung. Mir fehlen aber noch Einstellungen:

Datentyp String: VARCHAR von Firebird, xsd:string und String von Net sind kompatibel. Wie kann ich in der xsd-Schemadatei festlegen, dass ein String bei einem Feld eine maximale Feldlänge hat? Wird dies vom typisierten Dataset und den DataAdaptern berücksichtigt, oder muss ich es - z.B. durch Delegates - selbst steuern?

Datentyp Zeitdauer: TIME von Firebird kann dafür verwendet werden, aber DateTime von Net entspricht dem nicht, weil immer ein Datum hinzugefügt wird; xsd:duration kann mangels Kompatibilität nicht umgesetzt werden. Wie kann ich das lösen? (Bisher nutze ich dafür Strings der Form "12'34" oder "1h 23", was konkret genügt; aber als Dauerlösung ist das unbefriedigend.)

Typisierter DataAdapter: Irgendwo habe ich gelesen, dass dies ebenfalls benötigt wird, um den Datenaustausch zwischen Programm und Datenbank sauber und 'automatisch' zu steuern. In der NET-Doku finde ich aber das Stichwort 'typisiert' nur für DataSets, aber nicht für DataAdapter. Kann mir jemand das Vorgehen erläutern? (Bei meinem bisherigen Vorgehen habe ich keine Probleme mit typ. Dataset und einem 'normal erzeugten' DataAdapter.)

Danke für Erläuterungen und Tipps! Jürgen

PS. Alles läuft unter NET 2.0.
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat