Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется? / 25 сообщений из 26, страница 1 из 2
21.06.2018, 19:23
    #39663794
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?

То есть каждую неделю в папку падает файл данных, у которого есть переменная часть - номер недели года. Как это обрабатывать?
...
Рейтинг: 0 / 0
21.06.2018, 19:42
    #39663796
Mind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
DaniilSeryi,

In this lesson, you will modify the simple ETL package created in Lesson 1 to take advantage of the Foreach Loop container. You will also set user-defined package variables to enable the tutorial package to iterate through all the flat files in the folder.
https://docs.microsoft.com/en-us/sql/integration-services/lesson-2-adding-looping-with-ssis?view=sql-server-2017
...
Рейтинг: 0 / 0
21.06.2018, 20:12
    #39663804
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
Mind,

Спасибо огромное!
...
Рейтинг: 0 / 0
22.06.2018, 16:38
    #39664350
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
Так... доехали до переменной в соединении...

В общем так:
18409133
автор Проблему случайно раскрыл.
Но в примере микрософта об это ни слова.
Соединение при создании является объектом проекта и это происходит по умолчанию.
В проекте может быть несколько пакетов и соединение проекта может использоваться в любом пакете.
Переменные создаются только в пакете и видны только внутри пакета, но не вне.
Соединение как объект проекта видит только параметры проекта, что и наблюдалось.
Поэтому соединение проекта не будет видеть переменные пакетов.
У соединения проекта в контектном меню есть такая команда: Перестроить в соединение пакета.
После этой команды в построителе выражений появляется узел Переменные и параметры уже не пустой.
В документации мне это не попадалось.
...
Рейтинг: 0 / 0
22.06.2018, 17:29
    #39664374
Glebanski
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
DaniilSeryi,

Попробуйте File watcher task
http://www.sqlis.com/post/file-watcher-task.aspx
Я его юзал в одном проекте, вроде норм. работает.
У него есть OutputVariableName: The name of the variable into which the full file path found will be written on completion of the task.
...
Рейтинг: 0 / 0
23.06.2018, 10:35
    #39664573
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
Glebanski,

Спасибо, позже посмотрю. Пока стандартное решение устраивает.

У меня сейчас другая проблема возникла.
Надо в пакет засунуть команды распаковки pgp-файлов, их объединение и распаковка получившегося архива.

При этом ещё надо использовать конкретные утилиты - gpg, tar и gz.
...
Рейтинг: 0 / 0
23.06.2018, 10:46
    #39664577
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
DaniilSeryi,

есть еще вариант - сделать контейнер цикла по файлам.
...
Рейтинг: 0 / 0
23.06.2018, 11:49
    #39664590
Ferdipux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
DaniilSeryiТак... доехали до переменной в соединении...

Так это не проблема. Есть минимум два способа решения.
1. Делаете Conn Manager уровня пакета (можете клонировать проектный) и там пользуетесь выражениями с переменными пакета.
2. Делаете параметр проекта. Далее - в expression Conn Manager используете данный параметр. При запуске пакета - указываете значение параметра проекта.
...
Рейтинг: 0 / 0
23.06.2018, 22:01
    #39664732
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
FerdipuxDaniilSeryiТак... доехали до переменной в соединении...

Так это не проблема. Есть минимум два способа решения.
1. Делаете Conn Manager уровня пакета (можете клонировать проектный) и там пользуетесь выражениями с переменными пакета.
2. Делаете параметр проекта. Далее - в expression Conn Manager используете данный параметр. При запуске пакета - указываете значение параметра проекта.

Ну да, как раз первый вариант я и задействовал.

Владислав Колосов - он и используется.
...
Рейтинг: 0 / 0
16.08.2018, 11:56
    #39688674
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
Подниму тему новым вопросом - как в SSIS выполнить набор команд для командной строки?
При условии, что этот набор команд не был заранее оформлен в виде .bat файла ?

Проблема в том, что задача «Выполнение процесса» / «Execute process» требует на вход .com, .exe. или .bat файл.
...
Рейтинг: 0 / 0
16.08.2018, 13:35
    #39688814
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
DaniilSeryi,

Создать пакетный файл. Выполнить.
...
Рейтинг: 0 / 0
16.08.2018, 13:36
    #39688815
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
+ удалить пакетный файл.
...
Рейтинг: 0 / 0
16.08.2018, 15:01
    #39688917
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
Владислав КолосовDaniilSeryi,

Создать пакетный файл. Выполнить.

а это при помощи какой задачи?
...
Рейтинг: 0 / 0
16.08.2018, 15:53
    #39688959
Ennor Tiegael
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
DaniilSeryiВладислав КолосовDaniilSeryi,

Создать пакетный файл. Выполнить.

а это при помощи какой задачи?Все три можно сделать в одной Script Task, на C#.

А если логика в оном файле прямолинейная, то возможно получится и без файла обойтись, вызывая оные команды непосредственно из шарпа.
...
Рейтинг: 0 / 0
16.08.2018, 16:56
    #39689002
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
Ennor TiegaelА если логика в оном файле прямолинейная, то возможно получится и без файла обойтись, вызывая оные команды непосредственно из шарпа.
А если не линейна, то не получится?
...
Рейтинг: 0 / 0
17.08.2018, 04:31
    #39689187
Ennor Tiegael
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
msLexEnnor TiegaelА если логика в оном файле прямолинейная, то возможно получится и без файла обойтись, вызывая оные команды непосредственно из шарпа.
А если не линейна, то не получится? Ну если там IF'ы, или pipelining, или прочее из того же рода, то придется все это имитировать на шарпе. Теоретически написать можно все, другое дело что степень корявости и объем усилий такого результата могут сильно превзойти вариант "сохранить бат-файл, выполнить, удалить".
...
Рейтинг: 0 / 0
17.08.2018, 10:01
    #39689276
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
DaniilSeryiВладислав КолосовDaniilSeryi,

Создать пакетный файл. Выполнить.

а это при помощи какой задачи?Можно сделать Data Flow task, в котором источником будет SELECT с содержимым cmd-файла, а приёмником Flat File Destination
...
Рейтинг: 0 / 0
27.08.2018, 12:45
    #39693648
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
Как понимаю, ещё можно из ScriptTask-a создать .bat файл?

В общем, остановился на варианте с запуском нужных команд при помощи "Выполнение процесса" (не помню сейчас, как название на заграничном будет).
...
Рейтинг: 0 / 0
27.08.2018, 14:55
    #39693754
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
DaniilSeryi,

1) присвоить нужное имя файла переменной (Script Task)
2) Взять имя файла из переменной
...
Рейтинг: 0 / 0
27.08.2018, 16:04
    #39693823
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
a_voroninDaniilSeryi,

1) присвоить нужное имя файла переменной (Script Task)
2) Взять имя файла из переменной

Спасибо, так и сделал. Плюс For Each Loop над этим крутится.

Теперь другая проблема - в Visual Studio 2015 в Script Task-e с DTS.Variables проблем нет, всё сделано, значения переменных читаются / присваиваются, всё реализовано, проверено, внутреннее тестирование успешно пройдено, а вот в Visual Studio 2008 никак не пойму, как с DTS.Variables работать. Или там другой инструмент для работы с переменными пакета? При этом в обоих случаях все необходимые переменные в ReadOnlyVariables и ReadWriteVariables указаны.
...
Рейтинг: 0 / 0
29.08.2018, 09:41
    #39694696
Ferdipux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
DaniilSeryi...

Теперь другая проблема - в Visual Studio 2015 в Script Task-e с DTS.Variables проблем нет, всё сделано, значения переменных читаются / присваиваются, всё реализовано, проверено, внутреннее тестирование успешно пройдено, а вот в Visual Studio 2008 никак не пойму, как с DTS.Variables работать. Или там другой инструмент для работы с переменными пакета? При этом в обоих случаях все необходимые переменные в ReadOnlyVariables и ReadWriteVariables указаны.

Работа с переменными в SSIS 2008 такая же, объявляете при создании script task какие переменные нужно читать/писать и делаете это. Проекты со script task мигрировали с SSIS 2008 на 2014 без переписывания оных.
...
Рейтинг: 0 / 0
18.09.2018, 14:21
    #39704279
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
Новая проблема образовалась: число файлов, подлежащих загрузке, достигает нескольких десятков. При этом объём каждого файла - несколько гигабайт и несколько десятков миллионов строк. Как можно ускорить процесс загрузки?
Кажется, мне уже советовали грузить файл в несколько потоков. То есть, первый поток грузит первые 4 миллиона строк, второй - следующие 4 миллиона, и т.д.
Правильно ли я понимаю, что для каждого потока надо будет создавать новый диспетчер подключения. При этом вся разница между этими диспетчерами будет только в диапазонах строк для загрузки?
И что будет, если число строк в файле окажется меньше, чем диапазон строк для загрузке в потоке?

Второй вопрос - можно ли аналогично ускорить выгрузку данных в текстовый файл?
...
Рейтинг: 0 / 0
18.09.2018, 14:27
    #39704287
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
DaniilSeryiНовая проблема образовалась: число файлов, подлежащих загрузке, достигает нескольких десятков. При этом объём каждого файла - несколько гигабайт и несколько десятков миллионов строк. Как можно ускорить процесс загрузки?

http://henkvandervalk.com/speeding-up-ssis-bulk-inserts-into-sql-server
...
Рейтинг: 0 / 0
18.09.2018, 16:06
    #39704384
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
komrad,

Благодарю.
...
Рейтинг: 0 / 0
18.09.2018, 19:10
    #39704510
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется?
DaniilSeryiНовая проблема образовалась: число файлов, подлежащих загрузке, достигает нескольких десятков. При этом объём каждого файла - несколько гигабайт и несколько десятков миллионов строк. Как можно ускорить процесс загрузки?
Кажется, мне уже советовали грузить файл в несколько потоков. То есть, первый поток грузит первые 4 миллиона строк, второй - следующие 4 миллиона, и т.д.
Правильно ли я понимаю, что для каждого потока надо будет создавать новый диспетчер подключения. При этом вся разница между этими диспетчерами будет только в диапазонах строк для загрузки?
И что будет, если число строк в файле окажется меньше, чем диапазон строк для загрузке в потоке?Это сложно.
Проще загружать каждый файл в отдельном потоке.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по SSIS - как обрабатывать в пакете ситуацию, когда часть имени файла меняется? / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]