IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

How to resolve SQL Code = -501 error


IBM Mainframe Forums -> COBOL Programming
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
simha_it

New User


Joined: 05 May 2005
Posts: 30

PostPosted: Tue Nov 17, 2009 4:05 pm
Reply with quote

Hi
I am getting SQLCODE = -501 (ERROR: THE CURSOR IDENTIFIED IN A FETCH OR CLOSE STATEMENT IS NOT OPEN) when I was fetching the next row from a Cursor. Ihave declared a cursor with 'WITH HOLD option and not issuing any commit with in the program.

Please suggest me the solution for this...
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Tue Nov 17, 2009 5:56 pm
Reply with quote

you have a bug in the program that causes you to perform a FETCH after you have issued a CLOSE to the cursor.

no doubt about it.
Back to top
View user's profile Send private message
simha_it

New User


Joined: 05 May 2005
Posts: 30

PostPosted: Tue Nov 17, 2009 6:40 pm
Reply with quote

I don't have any Close statement in the processing except at the end of the program. Is it possible, DB2 will issue a Commit internally because of any reasons??
Back to top
View user's profile Send private message
GuyC

Senior Member


Joined: 11 Aug 2009
Posts: 1281
Location: Belgium

PostPosted: Tue Nov 17, 2009 7:15 pm
Reply with quote

No.

You're not writing pseudo-conversational stuff ?
Do you do an open cursor ?
Have you missed a previous sqlcode and try to fetch again ?
SQLCODES -404, -652, -679, -802, -901, -904, -909, -910, -911, -913, and -952 and maybe some others may close cursors
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Tue Nov 17, 2009 7:16 pm
Reply with quote

Quote:
Is it possible, DB2 will issue a Commit internally because of any reasons??


only when the program exits and control returns to the operating system.

either you are performing the close statement and then are fetching again,
or
you did not open the cursor,
or
your cursor open statement did not receive an sqlcode of 0.

you have a bug....stop trying to find a problem with db2. your problem is in your code....
Back to top
View user's profile Send private message
GuyC

Senior Member


Joined: 11 Aug 2009
Posts: 1281
Location: Belgium

PostPosted: Tue Nov 17, 2009 7:19 pm
Reply with quote

Quote:
your cursor open statement did not receive an sqlcode of 0.

Damn, missed that one.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Tue Nov 17, 2009 8:02 pm
Reply with quote

Quote:
Damn, missed that one.


Hell, I missed all the others.

the program probably does not check sqlcodes after all sql statements.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> COBOL Programming

 


Similar Topics
Topic Forum Replies
No new posts Error to read log with rexx CLIST & REXX 11
No new posts Error when install DB2 DB2 2
No new posts run rexx code with jcl CLIST & REXX 15
No new posts Compile rexx code with jcl CLIST & REXX 6
No new posts CLIST - Virtual storage allocation error CLIST & REXX 5
Search our Forums:

Back to Top