Easysoft Blog

Wed, 14 June 2016

Connecting Visual COBOL to MySQL

      $SET SQL(DBMAN=ODBC)
      ****************************************************************
      * Visual COBOL -> ODBC -> MySQL example.
      *
      * Retrieves records from the MySQL Employees sample database.
      * Prerequisites: Configure an ODBC data source for the Easysoft
      * MySQL ODBC driver that connects to the MySQL Employees database
      *
      ****************************************************************
       working-storage section.

           EXEC SQL INCLUDE SQLCA END-EXEC.
           01  pempno             pic x(5).
           01  pfirstname         pic x(20).
           01  plastname          pic x(20).
           EXEC SQL BEGIN DECLARE SECTION END-EXEC.

       procedure division.
       main-para.

      *  Replace MySQLODBCDataSource with the name of an ODBC data
      *  source that connects to the MySQL Employees database. Replace
      *  mysqluser and mysqlpassword with the details for a user who has
      *  permissions to access this database.
           EXEC SQL CONNECT TO "MySQLODBCDataSource" USER mysqluser
           USING mysqlpassword
           END-EXEC.

       loop-point.
          if sqlcode not = 0
                display "Error: not connected"
                display sqlcode
                display sqlerrmc
                stop run
           end-if

            perform until exit
               display " "
               display "Enter Emp_No (Eg 10001, blank to end): "
                       with no advancing
               accept pempno
               if pempno = SPACES
                   exit perform
               end-if
               EXEC SQL
                   SELECT first_name, last_name
                   INTO :pfirstname, :plastname
                       FROM employees
                       WHERE emp_no = :pempno
               END-EXEC

               if sqlcode not = 0
                   if sqlcode = 100
                       display "No employee found"
                   else
                       display sqlcode
                       display sqlerrmc
                   end-if
               else
                   display "First name for " pempno " is " pfirstname
                   display "Last name    for " pempno " is " plastname
               end-if

           end-perform

           EXEC SQL
               DISCONNECT CURRENT
           END-EXEC

       end program Program1.

Installing the MySQL ODBC Driver

  1. Download the MySQL ODBC driver for your Windows platform. (Registration required.)
  2. Install and license the MySQL ODBC driver on the machine where Visual COBOL is installed.

    To do this, execute the file distribution that you downloaded in the previous step, and follow the on screen instructions.

    The install program starts the Easysoft License Manager, because you cannot use the MySQL ODBC Driver until a license is obtained.

    The following types of license are available:

    • Free time-limited trial license which gives you free and unrestricted use of the product for a limited period (usually 14 days).
    • Full license if you have purchased the product. On purchasing the product you are given an authorization code, which you use to obtain a license
  3. In Easysoft License Manager, enter your details.

    You MUST enter the Name, E-Mail Address and Company fields.

    The E-Mail Address MUST be the same as the address used to register and download from the Easysoft web site or you will be unable to obtain trial licenses.

  4. Choose Request License.

    You are asked for a license type.

  5. Do one of the following:
    • For a trial license click Time Limited Trial and then click Next.

      The License Manager asks what software you are licensing. Select Easysoft MySQL ODBC Driver from the drop-down list and then click Next.

    • If you have obtained an authorization code for a purchased license, select Non-expiring License and then click Next.

      The License Manager requests your authorization code.

      Enter the authorization code and then click Next.

  6. The License Manager displays a summary of the information you entered and allows you to choose the method of applying for your license.
  7. Do one of the following:
    • Choose On-line Request if your machine is connected to the internet and can make outgoing connections to port 8884.

      The License Manager then sends a request to the Easysoft license server to activate your license key automatically. This is the quickest method and results in your details being entered immediately into our support database.

    • The remaining three options (Email Request, Print Request and View Request) are all ways to obtain a license if your machine is off-line (i.e. does not have a connection to the internet).

      Each of these methods involves providing Easysoft with information including your machine number (a number unique to your machine) and then waiting to receive your license key.

      Instead of emailing your details to Easysoft, you can enter them directly at the Easysoft web site and your license key will be emailed to you automatically.

      To use this method, click View Request, and then visit:

      In the Licensing page, enter your machine number (and authorization code for purchased license), click Submit and your license key will be emailed to you.

      When you receive the license key, you can activate it either by double-clicking the email attachment or by clicking Enter License on the License Manager main screen and pasting the license key into the dialog box.

    • Choose Finish to exit the License Manager.

      The installation is complete.

Configuring an ODBC Data Source

Before you can use the MySQL ODBC Driver to connect your application to MySQL, you need to configure an ODBC data source. An ODBC data source stores the connection details for the target database (e.g. MySQL) and the ODBC driver that is required to connect to it (e.g. the MySQL ODBC driver).

You configure ODBC data sources in ODBC Administrator, which is included with Windows. To run ODBC Administrator, in the Windows Run dialog box, type:

%windir%\syswow64\odbcad32.exe

Use ODBC Administrator to create a MySQL ODBC Driver data source:

  1. Choose the System DSN tab, and then choose Add.
  2. In the Create New Data Source dialog box, choose Easysoft ODBC-MySQL Driver, and then choose Finish.
  3. Complete these fields Easysoft ODBC-MySQL Driver DSN Setup dialog box:
    SettingValue
    DSNMySQLODBCDataSource
    DatabaseEmployees

    Note This is the database that the code sample is designed to work with.

    User NameThe name of your MySQL user.
    PasswordThe password for your MySQL user.
    ServerThe host name or IP address of the machine on which your MySQL server is running.
  4. Use the Test button to verify that you can successfully connect to your MySQL database.

Connecting Visual COBOL to MySQL

Visual COBOL uses an ODBC driver to interact with an external data source. ODBC is a data access technology, the Microsoft implementation of which is included with Windows. You can use the MySQL ODBC Driver to connect Visual COBOL to a MySQL Database, enabling you to work with MySQL data from a COBOL program.

  1. In Visual Studio, create a new Templates > COBOL > Native > Console Application.
  2. Replace the template code with the code shown at the start of this article.
  3. Run the program.