Urgent!! - query not working in ado.net

  • Hello all

    I need help with this, as this is the last obstacle to the project i'm working on.

    This query works in the QA but when i try to run it with ado.net, it doesn't add the job, but the "open transaction" in the relevant SPID in the EM(management --> process info) grows by 1. When I run DBCC OPENTRAN it says that there are no open transactions.

    I have spent a lot of time on this ( ) and any help would be welcome

    Thanks in advance

    Chen

    The query is as follows :

    BEGIN TRANSACTION

    DECLARE @JobID BINARY(16) 

    DECLARE @ReturnCode INT   

      SELECT @ReturnCode = 0    

    IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'Database Maintenance') < 1

    EXECUTE msdb.dbo.sp_add_category @name = N'Database Maintenance'

      -- Delete the job with the same name (if it exists)

      SELECT @JobID = job_id    

      FROM   msdb.dbo.sysjobs   

    WHERE (name = N'trythisout')       

     IF (@JobID IS NOT NULL)   

    BEGIN 

    -- Check if the job is a multi-server job 

     IF (EXISTS (SELECT  *

    FROM    msdb.dbo.sysjobservers

    WHERE   (job_id = @JobID) AND (server_id <> 0)))

    BEGIN

    -- There is, so abort the script

    RAISERROR (N'Unable to import job ''trythisout'' since there is already a multi-server job with this name.', 16, 1)

    GOTO QuitWithRollback 

    End

    ELSE

    -- Delete the [local] job

    EXECUTE msdb.dbo.sp_delete_job @job_name = N'trythisout'

     SELECT @JobID = NULL

    End

    BEGIN

      -- Add the job

    EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT , @job_name = N'trythisout', @owner_login_name = N'CORP\Chenk', @description = N'No description available.', @category_name = N'Database Maintenance', @enabled = 1, @notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 0, @notify_level_eventlog = 2, @delete_level= 0

     IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback 

      -- Add the job steps

     EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1, @step_name = N'Tsqlgo', @command = N'select * from sqlmanager..storemod', @database_name = N'master', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 1, @on_fail_step_id = 0, @on_fail_action = 2

     IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

     EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1

     IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

      -- Add the job schedules

     EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'shce', @enabled = 1, @freq_type = 8, @active_start_date = 20050427, @active_start_time = 0, @freq_interval = 1, @freq_subday_type = 1, @freq_subday_interval = 0, @freq_relative_interval = 0, @freq_recurrence_factor = 1, @active_end_date = 99991231, @active_end_time = 235959

      IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

     -- Add the Target Servers

     EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)'

     IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

     End

     COMMIT TRANSACTION

     GoTo EndSave

    QuitWithRollback:

    IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION

     EndSave:

  • Perhaps obvious question, but does the connection you're using have sufficient permissions to add a job?

    --
    Adam Machanic
    whoisactive

  • Yes, make sure you are using the same user in the ado connection that you are using when testing in Query analyzer.  If they are both using the same userid then that rules out the permissions issue,

    Andrew

  • Thanks for the replies

    The user is the same user, and i dont get any error messeges.... just the open transaction in the SPID counter increments by one

    Any suggestios??

     

Viewing 4 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic. Login to reply