2012-04-10 7 views
7

मैं नीचे दिए गए कोड है (केवल उस हिस्से की जरूरत है) पर अमलकैसे एक एसक्यूएल नौकरी के लिए एक पैरामीटर है कि एक संग्रहीत प्रक्रिया

EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @[email protected], @step_name=N'SomeStep', 
     @step_id=1, 
     @cmdexec_success_code=0, 
     @on_success_action=1, 
     @on_success_step_id=0, 
     @on_fail_action=2, 
     @on_fail_step_id=0, 
     @retry_attempts=0, 
     @retry_interval=0, 
     @os_run_priority=0, @subsystem=N'TSQL', 
     @command=N'exec [dbo].[PORT_Insert_Record] ''https://localhost''', 
     @database_name=N'MyDatabase', 
     @flags=0 

अब, मैं चाहता हूँ एक चर में https://localhost मूल्य पारित करने के लिए होगा पारित करने के लिए और संग्रहीत प्रक्रिया को पास करें (किसी कारण से मैं इसे एसपी के अंदर पास नहीं कर सकता)।

तो मैं

DECLARE @domainName varchar(max) 
DECLARE @sp varchar(max) 
SET @domainName ='https://localhost:' 
SET @sp ='exec [dbo].[PORT_Insert_Record]' + @domainName 

EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @[email protected], @step_name=N'InsertRecordIntoResellerOpportunities', 
     @step_id=1, 
     @cmdexec_success_code=0, 
     @on_success_action=1, 
     @on_success_step_id=0, 
     @on_fail_action=2, 
     @on_fail_step_id=0, 
     @retry_attempts=0, 
     @retry_interval=0, 
     @os_run_priority=0, @subsystem=N'TSQL', 
     @[email protected], 
     @database_name=N'MyDatabase', 
     @flags=0 

कोशिश की, लेकिन यह काम नहीं कर रहा है। मैं किसी भी विचार/वाक्यविन्यास इत्यादि के लिए नेट में भी खोज करता हूं .. लेकिन अभी तक कोई भाग्य नहीं है।

कोई भी विचार?

+2

कैसे है ** काम नहीं कर रहा ** क्या था - आप एक त्रुटि मिलता है ?? यदि ऐसा है: ** क्या त्रुटि ** ?? क्या यह चल रहा है लेकिन ऐसा नहीं कर रहा है जो आप उम्मीद करते हैं ?? फिर: ** ** ** यह बनाम बना रहा है। आपने ** ** ** की अपेक्षा की थी ...... आपको यहां अधिक जानकारी प्रदान करने की आवश्यकता है! –

उत्तर

3

बोली क्या है @ReturnCode वहाँ कर की जरूरत है? क्या यह कहीं घोषित किया गया है?

मैं एक नया काम पर इस की कोशिश की और यह काम किया:

DECLARE @domainName varchar(max) 
DECLARE @sp varchar(max) 
SET @domainName ='https://localhost:' 
SET @sp ='exec [dbo].[PORT_Insert_Record]' + @domainName 

    EXEC msdb.dbo.sp_add_jobstep @job_id=N'a756bfcb-2abf-4d7a-a871-85e234e7ef53', @step_name=N'Step 1', 
      @step_id=1, 
      @cmdexec_success_code=0, 
      @on_success_action=1, 
      @on_fail_action=2, 
      @retry_attempts=0, 
      @retry_interval=0, 
      @os_run_priority=0, @subsystem=N'TSQL', 
      @[email protected], 
      @database_name=N'master', 
      @flags=0 
    GO 
1

मैं तुम्हें दोगुना करने के लिए उद्धरण चिह्नों

SET @domainName ='https://localhost:' 
SET @sp ='exec [dbo].[PORT_Insert_Record] ''' + @domainName + '''' 
0

आप अपने आदेश स्क्रिप्ट में कोई भी जानकारी लिखना चाहिए। नौकरियों के अपने सत्र हैं। वे कैसे पता चलेगा कि अपने मानकों को

यहाँ एक उदाहरण

--here is your existing parameters 
declare @dateparam date = '2017-10-19' 
declare @intparam int= 100 
declare @stringparam nvarchar(20)= 'hello' 

--now start write you sql job command 
declare @command nvarchar(max) 
set @command = N'declare @dateparam date =' + CAST(@dateparam AS NVARCHAR(20)) + CHAR(13) 
--+ CHAR(13) IS FOR LINEBREAK 
set @command = @command + N'declare @intparam date =' + CAST(@intparam AS NVARCHAR(20)) + CHAR(13) 
set @command = @command + N'declare @stringparam nvarchar(20) =' + @stringparam + CHAR(13) 
set @command = @command + N'exec dbo.my_store_procedure @dateparam, @intparam, @stringparam' 

--NOW YOUR COMMAND HAVE ALL informations 
EXEC msdb.dbo.sp_add_jobstep @job_id=N'a756bfcb-2abf-4d7a-a871-85e234e7ef53', @step_name=N'Step 1', 
     @step_id=1, 
     @cmdexec_success_code=0, 
     @on_success_action=1, 
     @on_fail_action=2, 
     @retry_attempts=0, 
     @retry_interval=0, 
     @os_run_priority=0, @subsystem=N'TSQL', 
     @[email protected], 
     @database_name=N'master', 
     @flags=0 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^