при обновлении XML подал я получаю ошибку, как это - PullRequest
0 голосов
/ 21 июня 2011

ВЫБРАТЬ не удалось, потому что следующее Параметры SET имеют неверные настройки: 'ARITHABORT. Убедитесь, что параметры SET правильны для использования с индексированными представлениями и / или индексы на вычисляемых столбцах и / или запрос уведомлений и / или XML методы типа данных.

Кто-нибудь может сказать, что проблема в следующих утверждениях

while(@CountOfFile>=@Inc)
begin
    SELECT  @FileName = Attachments.value('(/Files/File[@Id=sql:variable("@Inc")]/Name/text())[1]','nvarchar(50)')  FROM   MOD_Quiz where Id = @Id
    select @FilePath = Attachments.value('(/Files/File[@Id=sql:variable("@Inc")]/FilePath/text())[1]','nvarchar(50)')  FROM   MOD_Quiz where Id = @Id

  set   @Actual_Path  =  @FilePath  +  '/' +  @Id  + '/' + @FileName 
  set  @Inc=@Inc+1

  update MOD_Quiz set Attachments.modify('replace value of (/Files/File[@Id=sql:variable("@Inc")]/FilePath/text())[1] with sql:variable("@Actual_Path") ') where Id =@Id

end

1 Ответ

0 голосов
/ 21 июня 2011

Как говорит ошибка: нет ничего плохого в ваших SELECT утверждениях, но что-то не так с вашей общей настройкой SET ARITHABORT .

Как объясняется в этой статье на TechNet , для индексированного представления или методов типа данных XML необходимо иметь SET ARITHABORT ON. Так что поставьте это утверждение перед вашим, и все будет в порядке.

...