понедельник, 23 октября 2017 г.

Обновление XML данных в MSSQL Server

Например есть XML и необходимо заменить значение c id = 1030

<data>
<field id="2">работы по проекту НПС</field>
<field id="1014"/><field id="1017">60</field>
<field id="1019"/><field id="1020"/>
<field id="1022">60</field>
<field id="1030">2</field>
<field id="1031"/>
<field id="1038">324</field>
<field id="1039">329</field>
<field id="1092">869</field>
</data>

Выполняется следующим запросом

UPDATE Task
SET Data.modify('replace value of (/data/field[@id="1030"]/text())[1] with ("998")')
WHERE id = 20179

четверг, 7 сентября 2017 г.

conversion between dt_date and dt_dbtimestamp is not supported

Необходимо заменить приемник с "SQL Server Destination" на "OLEDB Destination"

Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)"."

Если в качестве назначения используется "SQL Server Destination" и возникает указанная ошибка, то в настройках подключения необходимо указать MaxInsertCommitSize с 0 на значение между 100 и 1000.