Я смог достигнуть своей цели массового вставки всех xml-файлов из каталога, используя следующий скрипт в задаче «Выполнение SQL-задачи». Убедитесь, что в вашей «Execute SQL Task» этот параметр ByPassPrepare установлен на «True». Также в разделе «Сопоставление параметров» имя вашего параметра ДОЛЖНО предшествовать символу «@». Вы не можете назвать свою переменную в своем sql именем, которое вы только что определили, должен использоваться знак вопроса. Если вы делаете несколько вызовов переменных в одном и том же скрипте, вы должны настроить, как вы вызываете вопросительные знаки. Внутри контейнера для каждого цикла, где выполняется задача sql выполнения, перейдите в раздел «Коллекция», укажите папку, в которой находятся файлы, которые вы хотите загрузить (папка), и определите ваши файлы (файлы) как * .xml. В разделе «Сопоставление параметров» зарегистрируйте пользовательскую переменную, содержащую путь к файлу («Запомнить» должен содержать фактический файл в определении переменной).
declare @sql nvarchar (max);
множество @sql = ' INSERT INTO testXMLwithOpenXML (XMLDATA, LoadedDateTime) конвертируйте (XML, BulkColumn) А.С. BulkColumn, GETDATE() ОТ OPENROWSET (BULK ''' +? + ''», SINGLE_BLOB) А.С. Икс;'
exec (@sql)
Почему бы не использовать задачу DataFlow с источником XML? –