SQL Server 2008 R2: Arbeiten mit XML als BLOB gespeichert (Datentyp image)
Einer Datenbank auf der MS SQL Server 2008 R2
hat eine Spalte, die als BLOB gespeichert werden (hat ein "image" data-Typ) . Ich weiß auch, dass der BLOB-enthält XML-Code.
Gibt es eine Möglichkeit für reporting services, diese Informationen zu extrahieren?
Wie würde ich die Abfrage oder Nutzung der gespeicherten Daten innerhalb der XML-BLOB?
Habe ich gelesen, die etwas entlang der Linie der Umwandlung der SQL-Datentyp IMAGE, um den XML-Datentyp; verwenden Sie dann @xml.query
zu bekommen-element/Attribut-Werte, wäre das eine gute Idee? Wie würde ich Stimmen die BLOB - (image-Datentyp) in das XML-Datentyp?
Wie kann ich überprüfen, ob meine XML ein schema oder nicht (daher typisierte oder nicht typisierte XML)?
Oder gibt es einfachere Möglichkeiten zum abrufen von Daten in den BLOB-enthält XML zu verwenden, um generieren eine SSRS web report
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, können Sie werfen die
Image
zuXml
und dann mit Funktionen wie XQuery Parsen des Xml-Dokuments. Sie wird jedoch zunächst brauchen, um Sie zu wirken, durchVARBINARY
als gut.Ich würde empfehlen, die änderung der Spalte Typ so schnell wie möglich - wenn alle Daten ist Xml, konvertieren Sie Sie dann in Xml nach oben, und wenn es verschiedene Formate sind, dann verwenden Sie
VARBINARY(MAX)
SqlFiddle hier
Ja, Sie können SQL Server zum extrahieren von Daten aus XML-blob in eine Tabelle ein.
Sollten Sie Lesen, in Ihrem blob-Wert, dann wandle ihn in eine variable vom Typ
xml
, und von dort aus, können Sie einige komplizierte syntax Abfragen.Hier ein kleines Beispiel:
Dies gibt uns diese Ergebnisse:
Cool, hey ?
Der Nachteil ist, dass diese nicht besonders schnell.
In meiner app, ich verwende code wie diesen, aber schreiben Sie aus der "Tabelle" - version von dieser Daten regelmäßig in eine SQL Server-Tabelle.
Du wirklich nicht wollen, ist, zu versuchen, zu tun, reporting, basierend auf direkt laden und Parsen von XML-blobs...