запланированное создание пакета служб SSIS с указанием даты в качестве имени файла - PullRequest
1 голос
/ 03 марта 2010

Мне нужны отзывы о том, как лучше всего делать то, что я хочу, позвольте мне найти.

У меня огромная база данных, которая постоянно получает новые данные. Теперь мне нужно иметь файл Excel, который показывает все столбцы входов прошлого дня. Поэтому я подумал, что лучший способ сделать это - использовать пакеты служб SSIS. Я никогда особо не пользовался SSIS, поэтому не уверен, насколько широки возможности. Так что на данный момент я могу создать пакет служб SSIS из ALL моих входных данных. Но мне нужен новый файл каждый день, а также там, где в имени файла содержатся данные, потому что старые файлы не будут удалены и т. Д. Поэтому я должен иметь возможность создать файл .xls с датой в имени файла. Есть ли простой способ сделать это?

Мне также было интересно, возможно ли автоматически изменить макет для этого файла Excel, особенно ширины столбцов, поскольку все они имеют ширину по умолчанию, которая не очень полезна для клиентов.

Я слышал, что также возможно создавать пакеты SSIS с Visual Studio, это изменит или это все же одинаковые возможности (имейте в виду, что я программист на c #)?

Большое спасибо

Ответы [ 2 ]

3 голосов
/ 03 марта 2010

Возможно создание пакетов служб SSIS через Visual Studio. При нажатии на новый проект в Visual Studio выберите Проекты бизнес-аналитики-> Проект служб интеграции.

Несмотря на то, что я отличался от вашей ситуации (т. Е. Вывод в файл Excel), в моей ситуации для вывода плоского файла .TXT у меня была дата как часть имени плоского файла. Для этого в моем Диспетчере соединений с плоскими файлами в Свойства-выражения-> Строка подключения (свойство) я вставил следующее выражение. Подобный подход может работать и в вашем случае, особенно если вы собираетесь выводить файл .csv.

"[Folder Destination]_" + 
(DT_WSTR,4)YEAR(GETDATE()) + 
RIGHT("0" + DT_WSTR,2)MONTH(GETDATE()),2) +
RIGHT("0" + (DT_WSTR,2)DAY(GETDATE()),2) + 
RIGHT("0" + (DT_WSTR,2)DATEPART("hh", GETDATE()),2) + ".TXT"
1 голос
/ 29 января 2011

@ Кашиф - Спасибо !!

Одна маленькая опечатка в вашем посте. Обратите внимание на отсутствие открытых скобок в 3-й строке:

RIGHT("0" + DT_WSTR,2)MONTH(GETDATE()),2) +

Должно быть:

RIGHT("0" + (DT_WSTR,2)MONTH(GETDATE()),2) +

Все вместе:

"[Folder Destination]_" +
(DT_WSTR,4)YEAR(GETDATE()) +
RIGHT("0" + (DT_WSTR,2)MONTH(GETDATE()),2) +
RIGHT("0" + (DT_WSTR,2)DAY(GETDATE()),2) +
RIGHT("0" + (DT_WSTR,2)DATEPART("hh", GETDATE()),2) + ".TXT"

Кроме того, просто заметка для любого, кто найдет этот пост, вы можете заменить "[Папка назначения] _" в приведенном выше пути следующим образом:

"C:\\Some\\Path\\to\\File.txt"

Обратите внимание на двойную обратную косую черту !!

...