|
|
|
SSIS - execute SQL task. Как получить данные из временной таблицы?
|
|||
|---|---|---|---|
|
#18+
Добрый день, мне нужно "на лету" создать большую команду SQL для чужого сервера (не SQL). Для этого я использую Execute SQL Task чтобы эту команду склеить из кусочков. Порядок работы: 1) Заполняю SQLStatement. Что-то вроде этого: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 3) На вкладке General пишу что resultset должен быть SingleRow. 2) На вкладке ResultSet показываю что переменная должна прочитать значение колонки col1. Нифига не работает. SSIS пакет не хочет читать значение колонки col1. Я уже с этим сталкивался - это из-за выборки "на лету". Т.е. вот этого: select @my_command as col1; Если бы там стояла реальная таблица, то все было бы хорошо. Как победить?? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2017, 16:33 |
|
||
|
SSIS - execute SQL task. Как получить данные из временной таблицы?
|
|||
|---|---|---|---|
|
#18+
Выкрутился. 1) Создал Data Flow Task. 2) Дальше "Ole DB Source" и там сформировал команду SQL. 3) Добавил "Script component" в режиме "Destination" и присвоил значения переменным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2017, 17:39 |
|
||
|
SSIS - execute SQL task. Как получить данные из временной таблицы?
|
|||
|---|---|---|---|
|
#18+
склеивать из кусочков динамический sql, к тому же большой - моветон, ИМХО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2017, 18:12 |
|
||
|
SSIS - execute SQL task. Как получить данные из временной таблицы?
|
|||
|---|---|---|---|
|
#18+
User2155Я уже с этим сталкивался - это из-за выборки "на лету". Т.е. вот этого: select @my_command as col1;отнюдь... это нормально работает. другой вопрос где у вас здесь "временная таблица"? и надеюсь вы понимаете, что nvarchar(max) это вовсе не string? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 00:47 |
|
||
|
SSIS - execute SQL task. Как получить данные из временной таблицы?
|
|||
|---|---|---|---|
|
#18+
User2155Добрый день, мне нужно "на лету" создать большую команду SQL для чужого сервера (не SQL). Для этого я использую Execute SQL Task чтобы эту команду склеить из кусочков. ... А зачем так, довольно странный способ. Есть гораздо лучше и проще - называется variable expressions. Вы можете для переменной определить выражение для вычисления, и оно будет вычислено при обращении к переменной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 10:18 |
|
||
|
SSIS - execute SQL task. Как получить данные из временной таблицы?
|
|||
|---|---|---|---|
|
#18+
User2155, К вашему исходному вопросу - если вы используете OLEDB connection manager, то выходные параметры задаются как номера столбцов. То есть в вашем случае - задавайте номер колонки 0 и читайте его. По именам читать умеют только ADO.NET connection manager, но там свои проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 10:20 |
|
||
|
SSIS - execute SQL task. Как получить данные из временной таблицы?
|
|||
|---|---|---|---|
|
#18+
Ferdipuxесли вы используете OLEDB connection manager, то выходные параметры задаются как номера столбцов. То есть в вашем случае - задавайте номер колонки 0 и читайте его.и чем вам имена полей не угодили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 11:25 |
|
||
|
SSIS - execute SQL task. Как получить данные из временной таблицы?
|
|||
|---|---|---|---|
|
#18+
Ferdipux, про expression для variable - это здорово сам пользуюсь, но если или преобразования сложные или составных частей много, то их всех надо предварительно загнать в свои переменные, а если кроме этого они больше не нужны какой смысл? тем более что код выражения получается абсолютно не читаемый в этом случае и для его редактирования приходится пользоваться внешними редакторами.. а уж что-то поправить быстро вообще не удобно. поэтому иногда Execute SQL Task или Script Task предпочтительнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 12:34 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=39529899&tid=1858085]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
177ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 501ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...