Я пытаюсь вызвать хранимую процедуру выбора из SQL Server в Excel.
В SSMS можно записать как
@val1=1;
@val2=2;
Execute SP_DoStuff(@param1=@val1,@param2=@val2);
Глядя на похожие вопросы, общий ответ таков:объединить параметр и запустить как динамический SQL.Например: Использовать значения в ячейках в качестве параметров в хранимой процедуре в редакторе запросов мощности
Ответ есть
Source = Sql.Database("xxxxxxxxxxxxxxxxx", "xxxxxxxxxxx", [Query=
"#(lf)#(lf)EXEC#(tab) [dbo].[TestParameter]#(lf)
#(tab)#(tab)@from = '" & YourDateMethod & "'#(lf)
#(tab)#(tab)@isValid = 1,#(lf)
#(tab)#(tab)@someInt = 90"
])
in Source
Если я что-то здесь не упустил, этотУстановленный метод выглядит широко открытым для внедрения из-за конкатенации строк YourDateMethod.
Существует ли метод для безопасной передачи значений из Excel в параметры?
Например, odbc позволяет готовить с токенами
Execute SP_DoStuff(@param1=?,@param2=?);
Тогда подавать?как значения во время выполнения