Thursday, December 22, 2011

Mainframe DB2: Difference between SLQ code -805 and -818

Scenario- 1:  Program is directly bound to plan
You have compiled and link edited the brand new db2 program and created the load module, but did not BIND the program to plan. In this case, when you execute the program, you will get SQL code -805.

To solve the -805 issue you BIND the program to plan and program executes without any issue.  Now you are modifying the program for the 2nd time and as usual you compile, link-edit and create the load module.  Again this time, you are not BINDing the program. This time you will get SQL code -818 when you try to execute the program.

Scenario-2:  Program is bound to package
You have compiled and link edited the brand new db2 program and created the load module, but did not BIND the program to package. In this case, when you execute the program, you will get SQL code -805.

To solve the -805 issue you BIND the program to plan and program executes without any issue.  Now you are modifying the program for the 2nd time and as usual you compile, link-edit and create the load module.  Again this time, you are not BINDing the program. This time also you will get SQL code -805 when you try to execute the program.

So, in the case of package, you will always get SQL code -805 if you don’t BIND the program.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.