Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / ssis: как указать путь к локальной папке? (поясню вопрос в посте) / 25 сообщений из 28, страница 1 из 2
29.07.2019, 15:56
    #39842586
Nika gnome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
Добрый день!

Не хочу изобретать "костыли", хочу узнать сложившуюся практику.

В потоке управления:
- первый блок получает по API данные в xml и сохраняет в папку D:/temp/d.xml
- второй блок получает данные в xml из папки D:/temp/d.xml и пишет в базу

В чём сложность? В том, что на сервере диск D, а на моём компе X. И SSDT стоит на моём компе (или его правильнее ставить на сервер и разрабатывать, подключаясь к нему?). Соответственно, запускаю проект у себя - но не могу развернуть на сервере, либо могу развернуть на сервере, но он не запустится у меня на компе.

Есть ли способ указать, чтобы файл сохранялся в некоторую собственную временную папку? И путь задавать как-то типа ./temp/d.xml
...
Рейтинг: 0 / 0
29.07.2019, 16:06
    #39842594
court
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
Nika gnome,

параметр создай для пути к каталогу
По-умолчанию, в нём будет твой путь ("а на моём компе X")
А на сервере будешь запускать с указанием значения параметра - "на сервере диск D"
...
Рейтинг: 0 / 0
29.07.2019, 17:31
    #39842659
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
На сервере можно указать 1 раз, используя "окружение"
...
Рейтинг: 0 / 0
29.07.2019, 18:22
    #39842694
Nika gnome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
КритикНа сервере можно указать 1 раз, используя "окружение"не понял. О каком "окружении" речь идёт?
...
Рейтинг: 0 / 0
29.07.2019, 18:23
    #39842695
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
Nika gnome,

Environment
...
Рейтинг: 0 / 0
30.07.2019, 09:22
    #39842833
tunknown
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
Nika gnomeНе хочу изобретать "костыли", хочу узнать сложившуюся практику.Закостылить можно. На локальном компьютере сделать subst или что-то подобное из под пользователя/сессии(?) SSDT с той же буквой, что на сервере. На этом диске должна быть и папка, как на сервере.

Nika gnomeЕсть ли способ указать, чтобы файл сохранялся в некоторую собственную временную папку? И путь задавать как-то типа ./temp/d.xmlВозможно, через скрипты получить переменную окружения %TEMP% или вызвать gettemppath .
...
Рейтинг: 0 / 0
30.07.2019, 09:57
    #39842843
Ferdipux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
Nika gnomeКритикНа сервере можно указать 1 раз, используя "окружение"не понял. О каком "окружении" речь идёт?
SSIS Catalog Environment - с примерами . Для вашей задачи - подходит создать переменную с путем к XML файлуб и затем при запуске - поставлять в нее значение из переменной environment. А в самом пакете - через expression подставлять значение переменной в путь файла.
...
Рейтинг: 0 / 0
30.07.2019, 12:53
    #39842946
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
FerdipuxNika gnomeпропущено...
не понял. О каком "окружении" речь идёт?
SSIS Catalog Environment - с примерами . Для вашей задачи - подходит создать переменную с путем к XML файлуб и затем при запуске - поставлять в нее значение из переменной environment. А в самом пакете - через expression подставлять значение переменной в путь файла.

Хе-хе?
Орлы, тредстартер тупо не понимает, что если он хочет "разные папки в разных местах" - надо озаботиться параметром и местом хранения этого параметра.

А уж хде он его будет хранить и как получать - дело десятое.
...
Рейтинг: 0 / 0
30.07.2019, 18:34
    #39843127
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
Ничего не знает поколение 90-х...

subst d: x:\ от имени администратора.
...
Рейтинг: 0 / 0
30.07.2019, 19:09
    #39843138
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
Владислав КолосовНичего не знает поколение 90-х...

subst d: x:\ от имени администратора.Спорное решение.

Если есть какие то параметры, лучше с ними работать как с параметрами (пути, url-ы, IP-шники)
Хранить где то вместе, с доступом и изменениями единым способом.
А то будет потом..., путь, оказывается, подставляется subst, айпишники в hosts, тут читаем, тут не читаем, тут рыбу заворачивали.
Вот, например, можно использовать Parameters, прямо предназначеные для этих целей. Ну или придумать свои схемы, но общие для компании, и общие для всех параметров пакета, в отличие от subst
...
Рейтинг: 0 / 0
31.07.2019, 01:06
    #39843224
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
alexeyvg,

по-моему Вы слишком хорошего мнения об обсуждаемом проекте :) Если бы это настраивалось параметрами пакета, то и вопроса бы не было.
...
Рейтинг: 0 / 0
31.07.2019, 06:50
    #39843239
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
Владислав Колосовalexeyvg,

по-моему Вы слишком хорошего мнения об обсуждаемом проекте :) Если бы это настраивалось параметрами пакета, то и вопроса бы не было.Это я понимаю, что параметров нет, так я и советую их сделать. Речь же о своём пакете, вот и пусть сделают правильно.
...
Рейтинг: 0 / 0
01.08.2019, 23:33
    #39844350
Nika gnome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
alexeyvgВладислав Колосовalexeyvg,

по-моему Вы слишком хорошего мнения об обсуждаемом проекте :) Если бы это настраивалось параметрами пакета, то и вопроса бы не было.Это я понимаю, что параметров нет, так я и советую их сделать. Речь же о своём пакете, вот и пусть сделают правильно.
+10
...
Рейтинг: 0 / 0
02.08.2019, 04:58
    #39844374
Idol_111
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
нормальная практика в SSIS, не мудрить с ненужными параметрами, а элементарно создать расшареную папку и на проде, и на тесте. И не морочить голову.

К тому же есть еще плюсы в таком дизайне (доступ и т.п.).
...
Рейтинг: 0 / 0
02.08.2019, 09:46
    #39844440
court
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
Idol_111нормальная практика в SSIS, не мудрить с ненужными параметрами, а элементарно создать расшареную папку и на проде, и на тесте. И не морочить голову.

К тому же есть еще плюсы в таком дизайне (доступ и т.п.).эту "нормальную практику", alexeyvg тут описал 21938199
И называется она "голь на выдумки хитра" :)

Мол, вместо нормального/стандартного подхода с параметрами пакета, что-то такое выдумаем (нуу вот типа алиаса в hosts), что любой другой прогер, которому достанется на поддержку этот пакет, сначала будет долго выяснять "а как же это работает ??7", после чего, - долго материть "выдумщика" ... :)
...
Рейтинг: 0 / 0
02.08.2019, 12:40
    #39844574
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
courtIdol_111нормальная практика в SSIS, не мудрить с ненужными параметрами, а элементарно создать расшареную папку и на проде, и на тесте. И не морочить голову.

К тому же есть еще плюсы в таком дизайне (доступ и т.п.).эту "нормальную практику", alexeyvg тут описал 21938199
И называется она "голь на выдумки хитра" :)Я на самом деле согласен, что решение не должно быть "одно единственно правильное" :-)

Конечно, если речь о таких параметрах, как URL, или папки с исхдными данными от поставщиков, то лучше использовать параметры.
Но если речь, например, о папке для временных рабочих файлах, то, может, действительно самым правильным будет сделать одинаковую структуру на всех компах. Особенно если других параметров, которые было бы неплохо положить в "параметры", нет.
Тут ещё надо учитывать общее окружение - много ли пакетов, много ли DBA, сколько серверов, и т.д.
...
Рейтинг: 0 / 0
02.08.2019, 20:43
    #39844835
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
alexeyvg> Тут ещё надо учитывать общее окружение - много ли пакетов, много ли DBA, сколько серверов, и т.д.

А я давно завожу SET= виндовую переменную и пляшу от неё.
Проверить легко откуда угодно, а кто не хочет, тот СЗБ
...
Рейтинг: 0 / 0
19.09.2019, 00:29
    #39863638
Idol_111
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
courtIdol_111нормальная практика в SSIS, не мудрить с ненужными параметрами, а элементарно создать расшареную папку и на проде, и на тесте. И не морочить голову.

К тому же есть еще плюсы в таком дизайне (доступ и т.п.).эту "нормальную практику", alexeyvg тут описал 21938199
И называется она "голь на выдумки хитра" :)

Мол, вместо нормального/стандартного подхода с параметрами пакета, что-то такое выдумаем (нуу вот типа алиаса в hosts), что любой другой прогер, которому достанется на поддержку этот пакет, сначала будет долго выяснять "а как же это работает ??7", после чего, - долго материть "выдумщика" ... :)
Вы по моему не поняли, что имелось ввиду.
Погуглитете что ли Share Folder.
И если другой прогер не в состоянии понять как такой простой пакет работает, гнать в шею его надо.
...
Рейтинг: 0 / 0
19.09.2019, 08:18
    #39863671
Ennor Tiegael
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
Idol_111courtпропущено...
эту "нормальную практику", alexeyvg тут описал 21938199
И называется она "голь на выдумки хитра" :)

Мол, вместо нормального/стандартного подхода с параметрами пакета, что-то такое выдумаем (нуу вот типа алиаса в hosts), что любой другой прогер, которому достанется на поддержку этот пакет, сначала будет долго выяснять "а как же это работает ??7", после чего, - долго материть "выдумщика" ... :)
Вы по моему не поняли, что имелось ввиду.
Погуглитете что ли Share Folder.
И если другой прогер не в состоянии понять как такой простой пакет работает, гнать в шею его надо.Ты, милок, в кровавом энтерпрайзе поди не работал, вот и несешь подобную ересь.

Немного контекста, как выглядит ситуация на моем текущем контракте (Big 4 bank). Абсолютно все администрирование инфраструктуры выполняется людьми вендора, которые берут минимум 5 дней на то, чтобы ответить на емейл (SLA больше не позволяет; если бы позволял, тянули бы дольше). Любой тикет затягивается по максимуму; для примера, когда я запрашивал админский доступ на выданный мне для работы лэптоп, это вылилось в 3 недели сношения моего головного мозга (при этом, админские права у меня были только в течение 2 недель). Если формулировку тикета можно понять неправильно, она гарантированно будет понята неправильно, и выполнена в максимально неюзабельном варианте. И так - абсолютно все у них.

Поправить файл hosts, говорите? Прогнать subst под админом? Создать шару где-то там (это еще большой вопрос, где данная шара будет физически находиться, но это мелочи, поверьте)? Ни у кого из нашей команды нет админского доступа на выделенные нам виртуалки. На SQL Server такого доступа тоже нет, мы даже новую БД себе сами создать не можем, приходиться обращаться к ним. Чтобы создать шару на сервере, нужен либо RDP, либо что-то типа SSH (не знаю, есть ли такое под виндой). Ничего такого у нас нет.

В такой ситуации мозги прочищаются очень быстро, и начинаешь совать в параметры SSIS-проекта вообще все, что в теории может параметризоваться, даже если оно никогда не изменится. Потому что это единственное место, где разработчик может быть хоть как-то уверен, что его работу не зафакапят трудолюбивые морлоки, попутно перевесив на него всех собак.
...
Рейтинг: 0 / 0
19.09.2019, 09:04
    #39863693
PsyMisha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
Ennor Tiegaelмы даже новую БД себе сами создать не можем.

Считаю, что в среде кровавого по-настоящему большого Энтерпрайза - это совершенно правильно, что сотрудники непрофильных, по отношению к ИТ-инфраструктуре команд не могут самостоятельно создать себе БД, и запрашивают через заявки (например - RITM, ChangeRequest). Иначе - представляете, какой неконтролируемый хаос начнется? Даже не с кол-вом всяких левых непонятных полу-в продакшене, полу-заброшенных баз - это отдельная история - а, к примеру, не знающие люди выставят неправильные параметры базы, - начальный размер, параметры автоприращения и т.д. и т.п. Если, к примеру, установщик экземпляра MSSQL забыл в св-вах БД model поменять режим восстановления на SIMPLE - то все последующие БД при создании наследуют свойства и параметры model, и получается, что будет абсолютно неконтролируеый спонтанный рост занимаемых гигабайт на сетевых стораджах и прочих SAN.
Как команде, ответственной за сторадж что-то планировать по закупкам, поддержке RPO\RTO, репликацию и DR все эти стораджа?

Работал в такой среде долго кстати. Было около 20.000 БД, раскиданных по шарику. Создание всех БД контролировалось строго через Портал с запросами, процессилось или людьми, или индусами вручную, либо автоматизация срабатывала, но контролируемая автоматизация - с обязательными аппрувалами перед тем, как роботы схватили таск в чейндже
...
Рейтинг: 0 / 0
19.09.2019, 10:20
    #39863756
PsyMisha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
Ennor Tiegaelи начинаешь совать в параметры SSIS-проекта вообще все, что в теории может параметризоваться


Тут согласен на 100%

Есть еще подход, когда конфигурация SSIS-проекта хранится не в инфраструктуре SSIS, - окружение, параметры и т.п., а в БД, - просто перенесенный config-файл в таблицу. Соответственно - на каждый ландшафт - DEV/QA/PROD - заданы свои настройки, а приложение - .NET, SSIS, SSRS - тупо считывает секции из базы, - таким образом - перенос аппликухи по ландшафтам не вызывает проблем. Специально выделенный SSIS-сервер хранит десятки таких пакетов, и все ссылается на уникальную для своего ландшафта базу

В каком-то экзамене Microsoft - не помню, по биай какой-то - даже были расписаны всякие подобные сценарии и примеры дизайна решений SSIS-серверов - разные роли их, функции и прочее
...
Рейтинг: 0 / 0
19.09.2019, 10:50
    #39863774
Ferdipux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
PsyMishaЕсть еще подход, когда конфигурация SSIS-проекта хранится не в инфраструктуре SSIS, - окружение, параметры и т.п., а в БД, - просто перенесенный config-файл в таблицу. Соответственно - на каждый ландшафт - DEV/QA/PROD - заданы свои настройки, а приложение - .NET, SSIS, SSRS - тупо считывает секции из базы, - таким образом - перенос аппликухи по ландшафтам не вызывает проблем. Специально выделенный SSIS-сервер хранит десятки таких пакетов, и все ссылается на уникальную для своего ландшафта базу
Это было актуально для версий SSIS 2005 - 2008. Там, действительно создавали БД с настройками, а пакету при запуске указывали ключ среды - как код набора настроек из такой config БД.
Начиная с SSIS 2012, появились среды (environments) и параметры пакетов. Среды в отдельной БД SSIS хранят настроечные параметры, вплоть до шифрованных паролей. Параметры - передаются в пакет SSIS при запуске. Переменные среды - можно смаппить с параметрами пакета или со строками подключения.
В такой системе развертывание в средах кровавого ентерпрайза - очень просто. Приносится файл проекта, спец утилита (самописная -
) развертывает его в указанную папку и меппит с указанной средой настроек. Специальные люди занимаются выставлением настроек, и это не разработчики.
...
Рейтинг: 0 / 0
19.09.2019, 11:07
    #39863791
PsyMisha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
Ferdipux,

я понимаю про 2012 и старше
Говорю же - окружение и параметры у проекта мапятся на config-таблицу в БД, а не живут напрямую в SSIS
...
Рейтинг: 0 / 0
19.09.2019, 11:58
    #39863844
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
Ennor Tiegael,

если вам не дают админа, то вы находитесь в плачевном состоянии, т.к. не можете даже локально развернуть проект базы или пакета для тестирования. Т.е. ведете разработку вслепую. Более того, если вы захотите отладить проект SSAS, то это можно сделать в некоторых случаях только, если запускать студию от имени администратора (она пытается выполнить код, который находится в системной папке).
...
Рейтинг: 0 / 0
19.09.2019, 15:13
    #39864025
Ennor Tiegael
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ssis: как указать путь к локальной папке? (поясню вопрос в посте)
PsyMishaСчитаю, что в среде кровавого по-настоящему большого Энтерпрайза - это совершенно правильно, что сотрудники непрофильных, по отношению к ИТ-инфраструктуре команд не могут самостоятельно создать себе БД, и запрашивают через заявки (например - RITM, ChangeRequest). Иначе - представляете, какой неконтролируемый хаос начнется?Хаос не начнется, ведь количество виртуалок на команду крайне ограничено, за пределы песочницы не выскочить. И диски на них не резиновые. А вот разработка изрядно замедляется, ведь чтобы получить новую базу в DEV, нужно ждать несколько недель.

Кроме того, вы делаете ключевую ошибку - вы считаете этих админов компетентными. Это не админы, это безмозглые индюки, набранные по объявлению, пятачок за пучок. Изучив настройки нашего DEV-экземпляра MSSQL, например, я за 5 минут нашел дырку, которая позволяет поднять права до sysadmin.
PsyMishaЕсть еще подход, когда конфигурация SSIS-проекта хранится не в инфраструктуре SSIS, - окружение, параметры и т.п., а в БД, - просто перенесенный config-файл в таблицу.Я так делал раньше, когда сам мог создавать базы. В данной же ситуации это непозволительная роскошь - мало того, что сначала придется ждать базу на ДЕВе, и потом такую же на ПРОДе, так это еще и добавляет проекту внешнюю зависимость, которую, если доблестно прощелкать, ничего не взлетит.
Кроме того, строку соединения к этой конфигурационной БД все равно надо хранить в настройках SSIS-проекта. Не хардкодить же ее в пакеты.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / ssis: как указать путь к локальной папке? (поясню вопрос в посте) / 25 сообщений из 28, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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