Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > Автоматический Импорт в БД


Автор: bambu4a 3.11.2022, 10:05
Добрый день! Опыта имею очень мало, прошу помочь.

Нужно подгружать новую информацию ежемесячно в БД, желательно, что бы просто по запуске какого-то скрипта.

Данные которые плодятся в папке, добавляются каждый месяц (изменяется только название года и месяца) я хочу раз в месяц зайти в SQL запустить код и данные импортируются в БД.
Извините, может повторился.



По апрель включительно такие данные, пример:
Год Месяц Название Продажа
2022 Апрель Самсунг 2
2022 Апрель Нокиа 2

Следующий месяц закончился, появился новый Ексель файл 2022_Май.xlsx
Запускаю скрипт.

Результат:
Год Месяц Название Продажа
2022 Апрель Самсунг 2
2022 Апрель Нокиа 2
2022 Май Самсунг 4
2022 Май Нокиа 5

Работаю в sql management studio и ищу путь решение скриптом.
Напишите пожалуйста, что мне изучить или пример кода, вообще в каком направлении двигаться?

Автор: Akina 3.11.2022, 15:14
Ну если речь идёт о тупом импорте данных из Excel-файла в существующую таблицу соответствующей структуры - то обычный запрос INSERT INTO SELECT FROM OPENROWSET. Или FROM OPENQUERY. См. напр. https://info-comp.ru/import-excel-in-ms-sql-server

Запускать скрипт с запросом можно из родного планировщика заданий SQL Server - тогда вся работа сведётся к тому, чтобы заранее положить файл в оговорённую папку,- а потом вовремя его убрать, дабы избежать повторного импорта (обо всём этом может позаботиться родной планировщик ОС), и можно SSMS даже не запускать.

Ну и настоятельно рекомендую зафиксировать имя такого файла, а не маяться дурью с указанием месяца в его имеи - иначе придётся ещё и потрахаться с динамическим SQL.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)