私はこのコードを持っています:
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 '<'
.
私は何を間違っていますか?