I have this code:
DECLARE @xml_var XML
SET @xml_var =
(
SELECT ID_CODE AS '@ProductionId',
CODE AS '@ItemId',
CODE_LEVEL AS '@ItemPackagingLevelId',
COMMISIONING_FLAG AS '@ItemFlag',
TIMESPAN AS '@TimeStamp',
USERNAME AS '@Username',
SOURCE AS '@Source'
FROM TRZIC.dbo.CODES_TEMP
FOR XML PATH('Item'),
ROOT('Commissioning')
)
DECLARE @xml_str NVARCHAR(MAX) = CONVERT(NVARCHAR(MAX), @xml_var)
DECLARE @SqlCommand NVARCHAR(MAX) = N'SELECT *
FROM OPENQUERY([UIC160\SQLEXPRESS],''EXEC TRZIC.dbo.AddCommissioning @data = ''' + @xml_str +''')'
-- DEBUG
PRINT @SqlCommand
EXEC sp_ExecuteSQL @SqlCommand;
A piece of the PRINT @SqlCommand out is:
SELECT *
FROM OPENQUERY([UIC160\SQLEXPRESS],'EXEC TRZIC.dbo.AddCommissioning @data = '<Commissioning><
And, on EXEC sp_ExecuteSQL @SqlCommand;
I get:
Incorrect syntax near '<'
.
What am I doing wrong?