Skip to main content

Problem:

COBES0100S duplicate CURSOR

Resolution:

From Net Express 4.0 onwards, OpenESQL requires all cursor names to be unique. This restriction did not exist in earlier versions of Net Express.

If the existing source code looked like this :

           EXEC SQL DECLARE CURSOR-1 CURSOR FOR S1   END-EXEC

           PERFORM CHECK-SQL-STATUS

           EXEC SQL PREPARE S1 FROM :SQL-STATEMENT END-EXEC

           PERFORM CHECK-SQL-STATUS.

           EXEC SQL DECLARE CURSOR-2 CURSOR FOR S1   END-EXEC

           PERFORM CHECK-SQL-STATUS

           EXEC SQL PREPARE S1 FROM :SQL-STATEMENT END-EXEC

           PERFORM CHECK-SQL-STATUS.

change it to something like this:

           EXEC SQL DECLARE CURSOR-1 CURSOR FOR S1 END-EXEC

           PERFORM CHECK-SQL-STATUS

           EXEC SQL PREPARE S1 FROM :SQL-STATEMENT END-EXEC

           PERFORM CHECK-SQL-STATUS.

           EXEC SQL DECLARE CURSOR-2 CURSOR FOR S2 END-EXEC

           PERFORM CHECK-SQL-STATUS

           EXEC SQL PREPARE S2 FROM :SQL-STATEMENT END-EXEC

           PERFORM CHECK-SQL-STATUS.

Old KB# 7050