Ich verwende Yellowfin, das eine Verbindung zu einer SQL 2012-Datenbank herstellt. Innerhalb einer Tabelle gibt es eine Spalte mit dem Namen EnteredXML, die vollständiges XML aus einer Web-Submission enthält, also eine Sub-Tabelle des XML-Typs innerhalb der Spalte. Aus der XML-Spalte möchte ich einen bestimmten Wert aus der Spalte CoverRateSelection erhalten.So erhalten Sie eine XML-Spalte, die Teil eines Tabellenfelds in SQL ist
Ich habe folgendes versucht:
SELECT
MemberNo,
TransTypeID,
EnteredXML.value('(/MembershipApplication/Cover/CoverRateSelection/@value)[1]', 'varchar(max)')
FROM
V204241Webtransactions
WHERE
TransTypeID = 'MemAp'
Die Antwort, die ich von diesem erhalten ist
SQL-Anweisung ungültig ist.
Die Fehlermeldung von der Datenbank zurückgegeben wurde:
kann nicht entweder Spalte „EnteredXML“ oder die benutzerdefinierte Funktion oder Aggregat „EnteredXML.value“ oder der Name ist nicht eindeutig finden.
die Tabelle sieht wie folgt aus:
Die XML sieht wie folgt aus (ich habe persönliche Informationen entfernt):
Ich habe diese weit andere Verwendung Beiträge bei stackoverflow:
how-to-get-a-particular-attribute-from-xml-element-in-sql-server
extracting-attributes-from-xml-fields-in-sql-server-2008-table
reading-xml-that-is-saved-as-text-from-sql
aber ich bin jetzt ein wenig verloren und verwirrt. Jede Hilfe würde sehr geschätzt werden.
Dank
Chris
Sind Sie 100% sicher auf den Spaltennamen, weil das das offensichtlichste Problem ist, dass die Fehlermeldung versucht, Sie zu steuern. –
Was ist der Typ von "EnteredXML"? Es muss XML sein, um die XML-Funktion 'value' zu akzeptieren. – Serg