2013-05-15 14 views
0

Я пытаюсь запустить хранимую процедуру в запланированной задаче на нашем сервере. Хранимая процедура запускает запрос и дает наши итоговые данные для нашей биржевой программы.Задача хранимой процедуры SQL Server

Я установил задачу для запуска sqlcmd.exe и прошел через указанный ниже запрос как переменную в файле .sql. Дело в том, что я не на 100% уверен, что я перехожу через правильные переменные, хотя, как я получаю ошибку от SQL.

Ниже приведена задача запуска сервера при расчете запасов.

(@P1 int,@P2 int,@P3 bit,@P4 bit,@P5 bit) 
declare @SessionID int 
declare @Res int 
exec @Res = stk_CompileStockOnHandOnDate 
'2079-06-01', 
null, 
@P1, 
@P2, 
1, 
@P3, 
@P4, 
@P5, 
@SessionID out 
select @Res Result, @SessionID SessionID 

Сообщение об ошибке я получаю в SQLCMD является

Msg 1050, Level 15, State 1, Server SERVER\SQLEXPRESS, Line 1 
This syntax is only allowed for parameterized queries. 
Msg 137, Level 15, State 2, Server SERVER\SQLEXPRESS, Line 6 
Must declare the scalar variable "@P1". 

Любые идеи о том, где я неправильно?

ответ

0

Ok так я узнал, что происходит, мне нужно изменить запрос, который я проходил через, чтобы relect правильных параметров (большинство из которых были пустыми)

Вот полный запрос для тех, кто имеет проблемы с хранимыми процедурами вроде меня!

USE [DATABASENAME] 
GO 

DECLARE @return_value int, 
     @SessionID int 

EXEC @return_value = [dbo].[stk_CompileStockOnHandOnDate] 
     @OnDate = '2079-06-01', 
     @InSessionID = NULL, 
     @ProductTagID = NULL, 
     @StockLocationTagID = NULL, 
     @ExtendedInformation = 1, 
     @UnitCostReplacement = NULL, 
     @UnitCostAVCO = NULL, 
     @UnitCostFIFO = NULL, 
     @SessionID = @SessionID OUTPUT 

SELECT @SessionID as N'@SessionID' 

SELECT 'Return Value' = @return_value 

GO 
Смежные вопросы