Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
SSIS: Изменение SqlCommand под входящий параметр или выборка нужных данных
|
|||
|---|---|---|---|
|
#18+
Всем добрый день! Существует задача - закачивать в MSSQL 2005 только нужные данные по odbc. Пару дней разбирался с SSIS. Закачать данные я уже могу ) Теперь нужно закачать данные нужного мне диапазона. Раньше, в DTS 2000, пользовался глобальными переменными, dtsrun и т.д. Про dtexec уже знаю, про входящие глобальные переменные, data flow, script task тоже знаю. Единственное что пока не нашел - как изменить языком VB параметр sqlcommand у soruce'a в data flow task ... Т.е. нужно изменить строку 'select * from A' на 'select * from A'+' where num='+GlobalVariable.Value, чтобы в итоге получить 'select * from A where num=5', где 5 - значение входящего параметра... Обращаться к глобальной переменной тоже знаю как (вроде): Dts.Variables("VarName").Value, так что осталось узнать малое - как поменять sqlcommand... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2007, 13:07 |
|
||
|
SSIS: Изменение SqlCommand под входящий параметр или выборка нужных данных
|
|||
|---|---|---|---|
|
#18+
Никто не сталкивался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 10:27 |
|
||
|
SSIS: Изменение SqlCommand под входящий параметр или выборка нужных данных
|
|||
|---|---|---|---|
|
#18+
Если лень читать - вот вкратце вопрос: как изменить языком VB параметр sqlcommand у soruce'a в data flow task ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 10:28 |
|
||
|
SSIS: Изменение SqlCommand под входящий параметр или выборка нужных данных
|
|||
|---|---|---|---|
|
#18+
Заводите Script Task, пихаете запрос в переменну, эту переменную меняете в скриптовой задаче. Соответственно настраивайте data flow task - запрос брать из переменной. Не забудьте в свойствах скрипта указать переменную, что она будет изменяться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 10:38 |
|
||
|
SSIS: Изменение SqlCommand под входящий параметр или выборка нужных данных
|
|||
|---|---|---|---|
|
#18+
Изменить непосредственно sqlcomand afaik нельзя. Настройка ее с помощью параметров не решит Вашей проблемы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 10:39 |
|
||
|
SSIS: Изменение SqlCommand под входящий параметр или выборка нужных данных
|
|||
|---|---|---|---|
|
#18+
tpgЗаводите Script Task, пихаете запрос в переменну, эту переменную меняете в скриптовой задаче. Соответственно настраивайте data flow task - запрос брать из переменной. Не забудьте в свойствах скрипта указать переменную, что она будет изменяться. Спасибо, посмотрю настройки data flow task! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 21:54 |
|
||
|
SSIS: Изменение SqlCommand под входящий параметр или выборка нужных данных
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинИзменить непосредственно sqlcomand afaik нельзя. Настройка ее с помощью параметров не решит Вашей проблемы? А с помощью параметров - это как? Случаем не через "=?" ? В data flow не понял как назначать "?" переменные, нашел такое только в ExecuteSql Script Task - но это мне не подходит, нужно менять именно в data flow task. Буду разбираться! Завтра попробую способ, предложенный tpg! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 21:59 |
|
||
|
SSIS: Изменение SqlCommand под входящий параметр или выборка нужных данных
|
|||
|---|---|---|---|
|
#18+
Еще, как вариант: -------------------- 1) Создаете переменную на уровне пакета @var 2) Создаете вторую переменную @SQLCMD на уровне Data Flow и ставите для нее Evaluate As Expression = true. 3) В поле Expression для SQLCMD пишете такого вида запрос: Код: plaintext 5) При запуске, в DTEXEC назначаете значение для @var ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 22:08 |
|
||
|
SSIS: Изменение SqlCommand под входящий параметр или выборка нужных данных
|
|||
|---|---|---|---|
|
#18+
Талгат В data flow не понял как назначать "?" переменные, нашел такое только в ExecuteSql Script Task - но это мне не подходит, нужно менять именно в data flow task. Буду разбираться! Назначать надо не data flow taks ( это только контейнер), а конкретному data source внутри него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 10:54 |
|
||
|
SSIS: Изменение SqlCommand под входящий параметр или выборка нужных данных
|
|||
|---|---|---|---|
|
#18+
Александр Волок (def1983), Не поняла идею. Если в потоке источник допускает sql из переменной, например OLE DB, то не нужно никаких этажей, берем сразу переменную пакета. Если не допускает, типа ADO NET, то и вашим способом не затолкать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 14:49 |
|
||
|
SSIS: Изменение SqlCommand под входящий параметр или выборка нужных данных
|
|||
|---|---|---|---|
|
#18+
Сверчок, если использовать ваш пример с адонет... 1. в пакете создаёте переменную SqlCommand типа стринг для запроса к источнику в экспрешене которой пишите, например: "select * from table where id = "+ (DT_WSTR, 50)@[User::CurrentID] где CurrentID будет у вас как-то меняться (циклом или ещё как) 2. добавляете в датафлоу адонет дата сорс 3. в контролфлоу ПКМ на датафлоу -> пропертиз -> експрешн -> раскрыть плюс, жмакнуть три точки 4. в выпадающем меню найти адонет_сорс_эскуэль_команд, сопоставить ему вашу переменную SqlCommand ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 19:09 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=34826782&tid=1689991]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 417ms |

| 0 / 0 |
