大きなクエリがあり(必要に応じてここに投稿します)、このエラーが表示されます。
メッセージ6841、レベル16、状態1、行1の
XMLは、XMLで許可されていない文字(0x0000)を含むため、ノード 'NoName'のデータをシリアル化できませんでした。FOR XMLを使用してこのデータを取得するには、バイナリ、varbinary、またはimageデータ型に変換し、BINARY BASE64ディレクティブを使用します。
私が使用する唯一の部分FOR XML
はここにあります:
WHERE
(CodFuncionario = Results.CodFuncionario)
FOR XML PATH(''), TYPE).value('(./text())[1]',
'VARCHAR(MAX)'), 1, 2, '') AS [Experiencia]
しかし、何node noname
ですか?そして、どのようにこの値を探すことができますか:(0x0000)
これはサブクエリの1つです(FOR 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...