0
我試圖在SQL Server代理作業中使用XML.modify修改XML值。我使用的是SQL Server 2008的下面是我的代碼...SQL Server代理作業中的XML DML(修改)
DECLARE @temp XML;
DECLARE @newname VARCHAR(50);
SELECT @temp = CAST(ExtensionSettings AS XML) FROM [ReportServer].[dbo].[Subscriptions] WHERE SubscriptionID = 'a2e1dd4e-5f65-4f0e-bc5a-8e58d21d7292';
SET @newname = 'Monthly_Data_' + CONVERT(VARCHAR(7), DATEADD(day, -1, GETDATE()), 120);
SET @temp.modify('replace value of (/ParameterValues/ParameterValue/Value[../Name/text()="FILENAME"]/text())[1] with sql:variable("@newname")');
UPDATE [ReportServer].[dbo].[Subscriptions] SET ExtensionSettings = CAST(@temp AS varchar(2000)) WHERE SubscriptionID = 'a2e1dd4e-5f65-4f0e-bc5a-8e58d21d7292';
此代碼運行正常,如果我只是在查詢窗口中運行它,但是當我運行它在我的工作步驟,工作失敗。這個問題似乎與線...
SET @temp.modify('replace value of (/ParameterValues/ParameterValue/Value[../Name/text()="FILENAME"]/text())[1] with sql:variable("@newname")');
因爲如果我註釋掉它並運行的工作,它會很好。
XML.modify不能用於工作嗎?我錯過了什麼?!
感謝
什麼是錯誤信息? – 2014-11-03 22:51:35