Задача организовать периодический
импорт из выгружаемых файлов Excel
в таблицу MS SQL server.
Старые файлы для архива необходимо оставить.
Данную задачу легко решить,
используя стандартные средства SSIS.
1.Поток данных
2. Задача сценарий, для
переименования файлов.
В потоке данных выбираем
«Источник Excel”
В данном источнике выбираем наш файл.
В сервер назначения указываем наш
MS SQL Server, таблицу назначения,
сопоставляем поля источника и назначения.
В объекте «сценарий» добавим
текст скрипта по переименованию файла, я выбрал на языке VB:
Try
Rename("c:\TestExcel1.xls", "c:\TestExcel1_"+ Convert.ToString(Date.Now.Year()) _
+ "_" + Convert.ToString(Date.Now.Month()) _
+ "_" + Convert.ToString(Date.Now.Day()) + ".xls")
Catch ex As Exception
My.Computer.FileSystem.WriteAllText("C:\load_from_excel_error.log",
Convert.ToString(Now()) + " - Ошибка переименования файла или файла нет" + vbCrLf, True)
End Try
После этого наш пакет SSIS должен
работать и иметь следующий результата:
1 . Загружает
из файла Excel в БД MS SQL данные
2 . Старый
файл Excel переименовывается.
Все. Дальше можно настроить
различные исключения, или поправить согласно вашим требованиям. Удачи.
Коллега, каким образом можно импортировать бинарные данные как содержимое файла ексель, с целью вставки всего бинарного содержимого в поле varbinary(max) как прикрепленный файл? Столкнулся с необходимостью импорта нескольких тысяч файлов в виде поля data в моей бд crm, потом эта запись будет подтянута на страницу с задачами и прикрепленным файлом к активности
ОтветитьУдалить