2016-05-03 5 views
2

Я пытаюсь построить трансформацию в чайнике, которая получает ПОЛЯ из хранимой процедуры SQL Server и вставляет ее в таблицу MySql.Получение полей из SQL Server Сохраненная процедура

Проблема в том, что я не могу найти способ получить хранимые процедуры «поля». Я понимаю, что вызов DB Процедура задача ожидает в/из Params, и это не мой случай, так что я пытаюсь использовать «Выполнить оператор SQL» со следующим SQL:

exec credisfera.dbo.sp_insere_parcelas @dt_ref = '2016-05-03' 

Есть ли способ для достижения этой цели ?

+0

Если вы поставили вышеуказанный оператор на шаг «Таблица ввода», щелкните правой кнопкой мыши и выберите «Выходные поля ...». , что вы получаете? PDI должен просто получить метаданные SP автоматически. Это работает для меня. –

+0

Эй, Брайан, я закончил вставлять все, что мне нужно, в другую таблицу, а затем использовать вкладку «Таблица» для чтения с нее. очевидно. :) Если хотите, отправьте его как ответ, чтобы я мог дать вам кредиты. – jfneis

ответ

4

Просто введите заявление exec на этапе Table input. После выполнения (или «Выходные поля ...» PDI получит метаданные из драйвера JDBC.

+2

Однако при этом будет иметься некоторый побочный эффект - процедура будет вызываться каждый раз, когда пентахо понадобится информация о метаданных полей во время разработки. Если вы не хотите, чтобы эти побочные эффекты в вашей трансформации рассматривали использование шага «Динамический SQL Row», он позволяет вам предоставить шаблонный запрос SQL для метаданных, поэтому вы можете использовать что-то вроде SELECT '' как Field1, 0 как Field2 и т. Д. и hardcode список полей. – morincer

+0

@morincer, вы правы. Наш случай - это процедура только для чтения, поэтому проблем нет. Но все равно. – jfneis