Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как DTExec заставить работать у клиента + установить имя загружаемого файла / 9 сообщений из 9, страница 1 из 1
26.11.2019, 19:36
    #39894693
DimaU
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как DTExec заставить работать у клиента + установить имя загружаемого файла
Прошу небольшой хэлп.
Есть dtsx-файл, который из csv-файла импортирует данные в таблицу. Это действие периодическое и его надо перевесить на пользователя. Вызов DTExec размещен в батнике.
Вопросы:
1) Можно ли в вызове DTExec установить имя загружаемого csv-файла (имя может быть любым у пользователя). Вроде есть параметр /SET. Нужен пример.
2) У пользователя на компе нет самого SQL Server (management studio). Как понимаю, батник с DTExec у него не отработает? Есть ли какие-то приемы попроще все-таки дать ему возможность работы с таким импортом??? Может у MS есть какое легкое runtime-приложение (с обработкой dtsx-файла). Или остается только написать на VS (с соответствующими расширениями) небольшое приложение отработки импорта и установить пользователю?
...
Рейтинг: 0 / 0
26.11.2019, 20:01
    #39894705
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как DTExec заставить работать у клиента + установить имя загружаемого файла
DimaU,

Зачем пользователя встраивать в процесс?
Джоб, работающий раз в 5 минут, в котором пакет проверяет наличие файла (по маске) в определенной папке, а потом загружает его. После попытки загрузки тот же пакет перекидывает файл в папку "загружено успешно" или "ошибка загрузки" с отправкой письма об ошибке (или об успехе) ответственному.

А сейчас вы нагружаете пользователя "волшебными" действиями, сути которых он не понимает.
...
Рейтинг: 0 / 0
26.11.2019, 20:48
    #39894723
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как DTExec заставить работать у клиента + установить имя загружаемого файла
DimaU
1) Вроде есть параметр /SET. Нужен пример.
2) У пользователя на компе нет самого SQL Server (management studio). Как понимаю, батник с DTExec у него не отработает?
1) В доке же есть, см "dtexec Utility". Что за привычка, не открывать документацию.
Код: powershell
1.
dtexec /f mypackage.dtsx /set \package.variables[myvariable].Value;myvalue


2) В доке написано: "To install the 32-bit version of the dtexec utility, you must select either Client Tools or SQL Server Data Tools (SSDT) during setup."
Не знаю, можно ли её как то устанавливать совершенно отдельно. Тем более, что нужна не только сама утилита, но и компоненты доступа.
...
Рейтинг: 0 / 0
26.11.2019, 20:50
    #39894724
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как DTExec заставить работать у клиента + установить имя загружаемого файла
Критик
Джоб, работающий раз в 5 минут, в котором пакет проверяет наличие файла (по маске) в определенной папке, а потом загружает его. После попытки загрузки тот же пакет перекидывает файл в папку "загружено успешно" или "ошибка загрузки" с отправкой письма об ошибке (или об успехе) ответственному.
Да, это ИМХО лучше, только папка должна быть на сервере, и у пользователя туда должен быть доступ (ну и, получается, к файлам других людей).
Не знаю, подойдёт ли это ТС.
...
Рейтинг: 0 / 0
27.11.2019, 08:50
    #39894831
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как DTExec заставить работать у клиента + установить имя загружаемого файла
alexeyvg
только папка должна быть на сервере, и у пользователя туда должен быть доступ


Вы имели ввиду, что путь должен быть указан относительно того сервера, где запущен пакет? Ибо никто не мешает паке быть сетевой. Лишь бы доступ туда был.
...
Рейтинг: 0 / 0
27.11.2019, 09:40
    #39894850
DimaU
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как DTExec заставить работать у клиента + установить имя загружаемого файла
Спасибо. Насчет джоба - хорошая мысль.

Не понял еще как передать имя импортируемого scv-файла (оно теоретически может быть любым, пользователь его подкладывает) в dtsx-файл... В dtsx имя файла присутствует в тегах ... <DTS:ObjectData><DTS:ConnectionManager ... DTS:ConnectionString="X:\имя_файла.csv">...
...
Рейтинг: 0 / 0
27.11.2019, 09:53
    #39894861
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как DTExec заставить работать у клиента + установить имя загружаемого файла
DimaU
Спасибо. Насчет джоба - хорошая мысль.

Не понял еще как передать имя импортируемого scv-файла (оно теоретически может быть любым, пользователь его подкладывает) в dtsx-файл... В dtsx имя файла присутствует в тегах ... <DTS:ObjectData><DTS:ConnectionManager ... DTS:ConnectionString="X:\имя_файла.csv">...


У пакета есть параметры. Нужно забирать имя файла из параметра.
...
Рейтинг: 0 / 0
27.11.2019, 11:22
    #39894931
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как DTExec заставить работать у клиента + установить имя загружаемого файла
Я бы все это сделал через сетевую папку, куда пользователь выкладывает файлы. Дальше - загрузка по расписанию с SQL server. Пакет пользователю вообще не давать - их то "теряют", то перемещают, то еще что-то.
...
Рейтинг: 0 / 0
27.11.2019, 17:56
    #39895193
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как DTExec заставить работать у клиента + установить имя загружаемого файла
a_voronin
alexeyvg
только папка должна быть на сервере, и у пользователя туда должен быть доступ


Вы имели ввиду, что путь должен быть указан относительно того сервера, где запущен пакет? Ибо никто не мешает паке быть сетевой. Лишь бы доступ туда был.
В первую очередь то, что у пользователя должен быть доступ к этой папке. У сервера то понятно, как же иначе...
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как DTExec заставить работать у клиента + установить имя загружаемого файла / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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