Novell Home

My Favorites

Close

Please to see your favorites.

Control Center Repository Synchronization Cursor Error

This document (7010633) is provided subject to the disclaimer at the end of this document.

Environment

NetIQ AppManager Enterprise 8.0.1
NetIQ AppManager Enterprise 8.0
NetIQ AppManager Enterprise 7.0.1

Situation

Please review the Cause and Resolution for this article if you receive any of the following Control Center Repository Synchronization Cursor Errors:
In the AppManager 7.0.x Control Center Console, you receive the following Cache Manager error:
Cache manager is not responding
In the ..\NetIQ\Temp\NetIQ_Debug\CC_CQSTrace\SyncQDBLog.log:
[EXCEPTION] [Assembly=NQSyncQDB; Method=NetIQ.Utils.TraceEx.WriteSQLException ThreadID=16]
 Message=A cursor with the name 'QDBObject_Delcursor' does not exist.
 Source=.Net SqlClient Data Provider
 StackTrace=   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at NetIQ.CQS.NQSyncQDB.SyncThread.Start()
Line Number: 46 : Message A cursor with the name 'QDBObject_Delcursor' does not exist. : Procedure SyncQDBObjectDeleteIncr
In the AppManager 8.0.x Control Center Console, the following Repository Synchronization error:
[SQL COMMAND: EXEC dbo.SyncQDBObjectContent N'Server.qdb'] A cursor with the name 'QDBOject_Delcursor' does not exist. (SQL serverity 16).
In the ..\NetIQ\Temp\NetIQ_Debug\CC_CQSTrace\CQSLog.log:
[EXCEPTION] [Assembly=NQCQS; Method=NetIQ.CQS.CQSService.ExceptionHandling ThreadID=39]
 Message=A cursor with the name 'QDBObject_Delcursor' does not exist.
 Source=.Net SqlClient Data Provider
 StackTrace=   at NetIQ.ControlCenter.NQSQLCommandBase.Execute()
   at NetIQ.CQS.SyncThread.RunCommand(String command, Int32 commandID)
[MESSAGE] [Assembly=NQCQS; Method=NetIQ.CQS.CQSService.WriteEventLog ThreadID=39] : A cursor with the name 'QDBObject_Delcursor' does not exist., Error type = 'Error', event ID = '999'

Resolution

Using SQL Server Management Studio, access the properties of the NQCCDB and select the Options page.  Under Cursor -> Default Cursor, change the value to "Global".

Cause

By default the NQCCDB Default Cursor value is set to“GLOBAL”. If the setting is changed to “LOCAL” the repository synchronization will not work for several processess. We use dynamic SQL to be able to fetch data through the linked server. In some cases the cursor is defined inside the dynamic SQL. If this setting is changed from the DEFAULT of “Global” to “Local” then a cursor defined in this way is only available for execution inside the dynamic SQL, not after the SQL has been executed.

Disclaimer

This Support Knowledgebase provides a valuable tool for NetIQ/Novell/SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:7010633
  • Creation Date:16-AUG-12
  • Modified Date:02-APR-13
    • NetIQAppManager

Did this document solve your problem? Provide Feedback