2013-11-19 2 views
0

Просто интересно, что лучший подход будет для достижения что-то вроде этого:SSIS пакет с файлом параметров/конфигурации

У меня есть таблица, я хочу допросить данных и электронной почты вне результата, но параметры будут меняться , Строка, которую я искал, может быть изменена, так как время/время, в котором выполняется поиск, и некоторые другие настраиваемые элементы тоже будут меняться.

То, что я собирался сделать, это создать пакет SSIS, который будет работать в сочетании с текстовыми файлами, содержащими такие переменные, как строка поиска, диапазон и т. Д., А затем с использованием dtexec. Я бы передал имя файла (который содержит переменные элементы) в качестве параметра. Поскольку это пакет SSIS, я должен иметь возможность запускать его с расписанием или ad-hoc, что было бы предпочтительнее, и у меня был бы один пакет SSIS вместо многих.

Тогда, в конце концов, если я хочу, чтобы запустить CustomSearch1 я бы запустить: DTExec/файл MyPackage.dtsx/Set \ Package.Variables [User :: INIFILE] .Properties [Value], \ "\" CustomSearch1

Так, например, если я хочу, чтобы запустить CustomSearch2 я бы запустить: DTExec/файл MyPackage.dtsx/Set \ Package.Variables [User :: INIFILE] .Properties [Value], \ "\" CustomSearch2

ли это хороший способ сделать это или есть лучший способ?

+0

Можете ли вы дать нам несколько пошаговое руководство для всего процесса? Это просто «применять переменные, фильтровать данные, отправлять результаты по электронной почте»? Что-то еще происходит? –

+0

Вот и все. В таблице есть «аудит», поэтому я проверяю, все ли выполнено или ошибочно. Таким образом, пример одной из строк, которые он проверит, это «Job1 завершен», и я проверил бы эту строку между определенными временами. Возможно, эта строка должна появляться несколько раз в течение дня, чтобы считать ее «успешной». – totalfreakingnoob

ответ

1

Это, безусловно, один из способов сделать это и идеально подходит.

Вы также можете рассмотреть возможность размещения условий поиска в своей собственной таблице базы данных, помеченной вашим поисковым именем, в другом поле («CustomSearch1» и т. Д.), А затем передать это поле, как вы делаете. На мой взгляд, это кажется более легким в обслуживании, чем текстовые файлы, но вы можете пойти с тем, с чем вам удобно.

В целом, почему SSIS? Почему, например, не очень простое консольное приложение C#, которое запускает хранимую процедуру против таблицы с переданными параметрами, возвращает набор и отправляет его по электронной почте? SSIS, как правило, более хорошо подходит для фактического перемещения данных с места на место или для его обработки каким-то образом или для глубокой статистической выборки и т. Д.

Или, возможно, SSRS? Напишите хранимую процедуру, которая берет имя пользовательского поиска и возвращает правильные данные. Параметрируйте имя поиска. Отчеты SSRS могут быть запланированы, отправлены по электронной почте или запущены ad-hoc, а содержимое отправлено по электронной почте.

+0

Скорее всего, мой пакет SSIS будет написан на C#. Я выбрал SSIS для внутренних политик. Пакеты SSIS и рабочие места БД и т. Д. Облегчают мою работу, и мне не нужно проходить один и тот же процесс QA как создание хранимых процедур, а поскольку база данных работает в среде размещения, любые автономные исполняемые файлы, вероятно, должны будут получить большие пальцы вверх от наших клиентов. Таким образом, SSIS/SSRS/DBjob просто проще! – totalfreakingnoob

+1

Хорошо, тогда вы идете. Только FYI, контекст, подобный этому, полезен в исходном вопросе. –

Смежные вопросы