Mainframe Blog

How You Can BIND Without Tying Yourself Up!

Jim Dee
2 minute read
Jim Dee
image_pdfimage_print

As a new DBA or application developer, you may have many questions around the BIND command. What is it? Why is it necessary? Where do DBRM’s come from? What is a -805 SQLCODE and how do I fix it? At IDUG NA in Charlotte this year, I will be presenting a session entitled, “A15 – How You Can BIND Without Tying Yourself Up!” (currently scheduled to be held on Thursday June 6th at 9:30am, in the Carolina A room), where I hope to clear up much of this confusion.

The presentation will take the mystery out of the BIND command, discussing common issues with the command itself and sharing proven techniques to resolve them.

A BIND is a BIND is a BIND…or is it?

You can bind a PACKAGE, bind a PLAN, bind a SERVICE, or bind a QUERY. In my session, I will focus on BIND PACKAGE, with some information about BIND PLAN. These are the key types of binds that your development teams must use to prepare applications to execute SQL and, ultimately, access data on Db2 for z/OS.

You’ve probably seen job control language (JCL) to invoke a bind as part of the process of developing and deploying application code that executes SQL to access data on Db2 for z/OS. We will look at the details of the process and some of what is going on behind the scenes.

Untangling the Mysteries of BIND

During the presentation, I’ll be answering questions about the BIND command that I’ve received over the years, including:

  1. Why Do I Need to Bind?
    If you have executed the BIND command, you have probably asked yourself that question. Why is there this extra step after coding a program? We will be discussing the mechanics of the BIND command and its JCL, as well as the inputs to and outputs of the bind process.
  2. How Do I Bind a COLLECTION?
    A COLLECTION can be one of the more confusing concepts, so we will look at the different names associated with packages, collections, and plans, and clarify the naming conventions, which are a rich source of confusion.
  3. What Can I Find in the Catalog?
    We will spend some time discussing the catalog tables and columns associated with packages and plans, and share some SQL you can use to extract information about your own Db2 applications from the catalog.

How Many Parameters Did You Say?

The Db2 12 documentation shows 66 separate parameters for the BIND command! Some of them even have sub-parameters. This is a very rich command, which is a polite way of saying it has a lot of complexity. How do you know which parameters are critical versus merely important? Which parameters can I learn about later, or as I need to? This session will help you to recognize the critical parameters that you must always get correct.

I’ll also talk about the parameters and rationale behind versioned packages and how to exploit this feature, as well as how they control Access Path Stability.

And whether you are able to attend IDUG or not, be sure to reach out to your BMC account team or a BMC Sales person to learn more about how BMC can help you manage your z/OS and Db2 environments to improve performance, raise productivity, and avoid risk.

Hope to see you at IDUG

Unleash Your Potential

Unlock the full power of digital data while controlling costs.
Read the E-book now ›

These postings are my own and do not necessarily represent BMC's position, strategies, or opinion.

See an error or have a suggestion? Please let us know by emailing blogs@bmc.com.

About the author

Jim Dee

Jim Dee

Jim Dee is a Corporate Architect in the Data Management organization in R&D at BMC Software. He is responsible for the technical content and integration of the DB2 for z/OS product lines. He has worked at BMC since 1990, mostly in DB2 Backup and Recovery, as a developer, product author, and architect, and has held his current position as Chief Architect since 2007. Prior to joining BMC Software, Jim worked at various employers in the IT industry for 16 years. He worked as an application developer, systems programmer, DBA, and vendor developer. Jim has a B.A in Mathematics with a minor in Computer Science from Queen’s University in Kingston, Ontario.