0

私はこのコードを持っています:

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;

PRINT @SqlCommand 出力の一部は次のとおりです。

SELECT *
 FROM OPENQUERY([UIC160\SQLEXPRESS],'EXEC TRZIC.dbo.AddCommissioning @data = '<Commissioning><

そして、EXEC sp_ExecuteSQL @SqlCommand;私が得る:

Incorrect syntax near '<'.

私は何を間違っていますか?

4

1 に答える 1