Ich habe eine große Frage (wenn nötig, werde ich sie hier posten) und bekomme diese Fehlermeldung:
Meldung 6841, Ebene 16, Status 1, Zeile 1
FOR XML konnte die Daten für den Knoten 'NoName' nicht serialisieren, da er ein Zeichen (0x0000) enthält, das in XML nicht zulässig ist. Um diese Daten mit FOR XML abzurufen, konvertieren Sie sie in einen Binär-, Varbinär- oder Image-Datentyp und verwenden Sie die BINARY BASE64-Direktive.
Der einzige Teil, den ich benutze, FOR XML
ist hier:
WHERE
(CodFuncionario = Results.CodFuncionario)
FOR XML PATH(''), TYPE).value('(./text())[1]',
'VARCHAR(MAX)'), 1, 2, '') AS [Experiencia]
Aber was ist node noname
? und wie kann ich diesen Wert suchen:(0x0000)
Dies ist eine der Unterabfragen (der einzige Teil, den ich für XML habe):
SELECT
[CodFuncionario],
STUFF
(
(
SELECT
' / ' +
CAST
(
[DescFuncao] + '-' +
[DescTempoExperiencia]
AS VARCHAR(MAX)
)...
FROM
[Linked_Server].db.dbo.tblFuncionarioExperiencia T0
INNER JOIN
[Linked_Server].db.dbo.tblFuncao T1 On T0.codFuncao = T1.CodFuncao
INNER JOIN
[Linked_Server].db.dbo.tblTempoExperiencia T2 ON T0.CodTempoExperiencia = T2.CodTempoExperiencia
WHERE
(CodFuncionario = Results.CodFuncionario)
FOR XML PATH(''), TYPE).value('(./text())[1]', 'VARCHAR(MAX)'), 1, 2, '') AS [Experiencia]
FROM
[Linked_Server].db.dbo.tblFuncionarioExperiencia Results
GROUP BY
CodFuncionario) as T2
On T0.CodFuncionario = T2.CodFuncionario
Left Join...