000035969 - Error message 'Must declare the scalar variable "@jobId"' during installation of RSA Archer

Document created by RSA Customer Support Employee on Feb 3, 2018
Version 1Show Document
  • View in full screen mode

Article Content

Article Number000035969
Applies ToRSA Product Set: Archer
RSA Version/Condition: 6.3.0.1
O/S Version: Server 2012 R2
IssueDuring the installation, an error similar to the example below is reported and the installation is halted. (The installation was performed on version 6.3 P1 HF1 in the example below.)

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