000035969 - 'Must declare the scalar variable "@jobId"' error during installation of RSA Archer 6.x

Document created by RSA Customer Support Employee on Feb 3, 2018Last modified by RSA Customer Support Employee on Jul 2, 2019
Version 2Show Document
  • View in full screen mode

Article Content

Article Number000035969
Applies ToRSA Product Set: Archer
RSA Version/Condition: 6.x
 
IssueDuring the installation, an error similar to the example below is reported and the installation is halted.
 

In the example below, the installation was performed with RSA Archer 6.3 P1 HF1.


 

Set log directory C:\Program Files\RSA Archer\Install_Logs2\
Updating .Net Framework Registry Key
Installing database
Loading database script resources
SetupUtils.Database.SqlException: An error occurred at step 179 of script objects.sql (length=865, max=16786) ---> System.Data.SqlClient.SqlException: Must declare the scalar variable "@jobId".


at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)


at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)


at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at SetupUtils.Database.ScriptExecutor.ExecuteCommand(String scriptName, String cmdText, Int32 step)


--- End of inner exception stack trace ---


at Archer.Installer.Pages.PerformInstallationPage.InstallDatabase(Operation dbOp, String connectionString, String instanceName, Boolean allowSkipOnError)
at Archer.Installer.Pages.DBOperationHandler.Execute()
at Archer.Installer.Pages.PerformInstallationPage.OnWizardNext(WizardPageEventArgs e)


The full sql statement follows:


 


/**************************************


Copyright (c) 2000-2011


EMC Corporation All Rights Reserved


**************************************/


-- Purpose: After the top job available is found across each instance,


-- an async engine attempts to mark the job in a way that the job will not be found by another engine


-- =============================================


CREATE PROCEDURE [dbo].usp_async_job_queue_distributed_reserve_job @jobid UNIQUEIDENTIFIER
 WITH ENCRYPTION
AS
BEGIN
       SET NOCOUNT ON

      SET TRANSACTION ISOLATION LEVEL READ COMMITTED
      BEGIN TRANSACTION

      UPDATE [dbo].[tblAsyncJobQueue]
                         SET process_id = 0
                         WHERE JobId = @jobId
                         AND process_id IS NULL

      SELECT @@rowcount AS updated

      COMMIT TRANSACTION
      END

Inner exception:
System.Data.SqlClient.SqlException (0x80131904): Must declare the scalar variable "@jobId".


at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)


at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)


at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)


at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)


at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)


at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()


at SetupUtils.Database.ScriptExecutor.ExecuteCommand(String scriptName, String cmdText, Int32 step)


ClientConnectionId:3cee89cc-06e3-463a-a4c4-c926d23b69af
Error Number:137,State:2,Class:15
SetupUtils.Database.SqlException: An error occurred at step 179 of script objects.sql (length=865, max=16786) ---> System.Data.SqlClient.SqlException: Must declare the scalar variable "@jobId".


at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)


at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)


at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)


at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)


at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)


at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()


at SetupUtils.Database.ScriptExecutor.ExecuteCommand(String scriptName, String cmdText, Int32 step)
--- End of inner exception stack trace ---


at Archer.Installer.Pages.PerformInstallationPage.InstallDatabase(Operation dbOp, String connectionString, String instanceName, Boolean allowSkipOnError)


at Archer.Installer.Pages.DBOperationHandler.Execute()


at Archer.Installer.Pages.PerformInstallationPage.OnWizardNext(WizardPageEventArgs e)


The full sql statement follows:


/**************************************
Copyright (c) 2000-2011
EMC Corporation All Rights Reserved
**************************************/
-- Purpose: After the top job available is found across each instance,
-- an async engine attempts to mark the job in a way that the job will not be found by another engine

-- =============================================
CREATE PROCEDURE [dbo].usp_async_job_queue_distributed_reserve_job @jobid UNIQUEIDENTIFIER
 WITH ENCRYPTION
AS
BEGIN
       SET NOCOUNT ON

       SET TRANSACTION ISOLATION LEVEL READ COMMITTED
       BEGIN TRANSACTION

       UPDATE [dbo].[tblAsyncJobQueue]
                           SET process_id = 0
                           WHERE JobId = @jobId
                           AND process_id IS NULL

       SELECT @@rowcount AS updated

       COMMIT TRANSACTION
END

Inner exception:
System.Data.SqlClient.SqlException (0x80131904): Must declare the scalar variable "@jobId".


at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at SetupUtils.Database.ScriptExecutor.ExecuteCommand(String scriptName, String cmdText, Int32 step)


ClientConnectionId:3cee89cc-06e3-463a-a4c4-c926d23b69af
Error Number:137,State:2,Class:15


 
CauseThis issue is caused by the collation settings of the Server level. The Server was set to Turkish collation in the example above.
ResolutionThe resolution to this issue is to change the DB server collation settings to SQL_Latin1_General_CP1_CI_AS to match the DB collation. After making this change the installation can be completed successfully. 

Attachments

    Outcomes