Mam duże zapytanie (w razie potrzeby opublikuję je tutaj) i otrzymuję ten błąd:
Msg 6841, poziom 16, stan 1, wiersz 1
FOR XML nie może serializować danych dla węzła „NoName”, ponieważ zawiera znak (0x0000), który nie jest dozwolony w XML. Aby odzyskać te dane za pomocą FOR XML, przekonwertuj je na dane binarne, varbinary lub graficzne i użyj dyrektywy BINARY BASE64.
Jedyną częścią, której używam, FOR XML
jest tutaj:
WHERE
(CodFuncionario = Results.CodFuncionario)
FOR XML PATH(''), TYPE).value('(./text())[1]',
'VARCHAR(MAX)'), 1, 2, '') AS [Experiencia]
Ale co to jest node noname
? i jak mogę szukać tej wartości:(0x0000)
To jest jedno z podkwerend (jedyna część, którą mam dla XML):
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...