2016-11-16 11 views
0

Я хочу вызвать SP в Talend, как следующее:Передача переменной в вызове хранимой процедуры с использованием Talend Open Source

`/ Declare a variable that references the type./ 
DECLARE @LocationTVP AS LocationTableType; 




/Add data to the table variable./ 
INSERT INTO @LocationTVP (LocationName, CostRate) 
    SELECT Name, 0.00 
    FROM AdventureWorks2012.Person.StateProvince; 



/Pass the table variable data to a stored procedure./ 
EXEC usp_InsertProductionLocation @LocationTVP;` 

Можно ли это сделать в Talend Open Source? Если да, то как?

+0

ли вы попробовать t * Компоненты YourDB * SP? Они могут использоваться для совершения некоторых вызовов хранимой процедуры. – Corentin

ответ

0

Вы можете использовать tMssqlInput() компонент для вызова хранимых процедур. В Query Builder просто введите «EXEC your_sp_name» «+ context.from_date +» ',' '+ context.to_date + "'," + context.var + "" Перед вызовом хранимой процедуры из tMssqlInput() вы должны сохранить динамическое значение переменной в параметрах контекста. Обычно ваш поток работа будет выглядеть так:

enter image description here

0

Я использовал tMSSQLInput компонент, но он не работает для меня.

Мы можем выполнить хранимую процедуру SQL Server в Talend вместе с контекстными переменными, используя tMSSQLRow. Работает как шарм для меня

Но, кое-что отметить:

  1. Я дал tMSSQLConnection, а затем соединив его с tMSSQLRow (с хранимой процедуры внутри этого компонента). Это не сработало.

  2. Так что мне пришлось удалить tMSSQLConnection и ввести детали соединения непосредственно в компонент tMSSQLRow. Это сработало для меня.

Введите хранимую процедуру в этом формате:

"EXEC schema_name.procedure_name" ' "+ context.argument1 +"', '"+ context.argument2 +'