Install and configure IDMS Server on the mainframe and ODBC JDBC
search cancel

Install and configure IDMS Server on the mainframe and ODBC JDBC

book

Article ID: 257423

calendar_today

Updated On:

Products

IDMS IDMS - Database

Issue/Introduction

What are the instructions/documentation on installing, configuring and using IDMS Server on the mainframe and providing ODBC and JDBC access?

Environment

Release: All supported releases.
Component: IDMS Server.

Resolution

IDMS Server allows access to an IDMS database using SQL so the SQL Option must be installed as well. Access can be from Windows or Unix systems using ODBC or JDBC protocols. For information on using IDMS Server, see IDMS Server.

 

Mainframe Configuration

Make sure that the IDMS Server entry is enabled in RHDCPINT. This line must be un-commented and RHDCPINT re-linked.

         #DEFPINT SERVER         CA IDMS SERVER

For mainframe configuration information, see Configure IDMS Server on the Mainframe.

 

SYSGEN

The default port for the IDMS Server listener is 3709. The example in the documentation uses port 3781. Use the TSO command NETSTAT to see if any of these ports are in use.

//TSOBATCH     EXEC PGM=IKJEFT01
//SYSTSOUT  DD SYSOUT=*
//SYSTSPRT  DD SYSOUT=*
//SYSPRINT  DD SYSOUT=*
//SYSTSIN   DD *
   NETSTAT CONN (PORT 3709
   NETSTAT CONN (PORT 3781
/*

Run the SYSGEN in batch to add the TCP/IP entity, TCP/IP line and terminals, see sample JCL below. Refer to documentation section TCP/IP Support for details of the TCP/IP entity. Change the system number to the number of the CV:

//SYSGEN  EXEC PGM=RHDCSGEN,REGION=4M
//STEPLIB  DD DISP=SHR,DSN=IDMS.R19.DBA.LOADLIB
//         DD DISP=SHR,DSN=IDMS.R19.CUSTOM.LOADLIB
//         DD DISP=SHR,DSN=IDMS.R19.CAGJLOAD
//SYSCTL   DD DISP=SHR,DSN=IDMS.R19.SYSCTL
//SYSLST   DD SYSOUT=*
//SYSPCH   DD SYSOUT=*
//SYSIDMS  DD *
ECHO=ON
DMCL=GLBLDMCL
//SYSIPT   DD *
      SIGNON DICTIONARY SYSTEM.
      SET OPT FOR SESSION DEF ON NO LIST INP 1 THRU 72.
      MODIFY SYSTEM xx.
      ADD TCP/IP
        DEFAULT STATUS IS ON
        DEFAULT TCP_NODELAY OPTION IS OFF
        DEFAULT STACK IS DEFAULT
        MAXIMUM NUMBER OF SOCKETS IS DEFAULT
        MAXIMUM NUMBER OF SOCKETS PER TASK IS DEFAULT
        PLUGIN MODULE IS RHDCD1IP
        SERVICES FILE IS OFF.
      ADD LINE TCPIP
        TYPE IS SOCKET
        MODULE RHDCD1IP.
      ADD PTERM TCPJSRV
        TYPE IS LISTENER
        PORT IS 3781
        TASK IS RHDCNP3J
        MODE IS SYSTEM
        PARM IS 'TASK=IDMSJSRV'.
      ADD LTERM TCLJSRV
        PTERM IS TCPJSRV.
      ADD PTERM TCP0001
        TYPE IS BULK
        REPEAT COUNT IS 99.
      ADD LTERM TCL0001
        PTERM IS TCP0001.
      GENERATE.
/*                                                                            

 

RHDCNP3J security

Security for task RHDCNP3J must be disabled. Add the following lines to the RHDCSRTT module then assemble and link it. The module source is in the CUSTOM.SRCLIB.

#SECRTT TYPE=OCCURRENCE,                                               X
               RESNAME='RHDCNP3J',                                     X
               RESTYPE=TASK,                                           X
               SECBY=OFF

The JCL to assemble and link RHDCSRTT is in CAGJSAMP member RHDCSRTT, or see below:

//RHDCSRTT  EXEC HLASMCL
//C.SYSLIB  DD DISP=SHR,DSN=<SYSTEM.MACLIB>
//          DD DISP=SHR,DSN=<SYSTEM.MODGEN>
//          DD DISP=SHR,DSN=<CAIDMS.CAGJMAC>
//          DD DISP=SHR,DSN=<CA.COMMON.SERVICE.MACLIB>
//C.SYSIN   DD *
* YOUR RHDCSRTT SOURCE CODE GOES HERE
/*
//*
//L.SYSLMOD DD DISP=SHR,DSN=<YOUR.CUSTOM.LOADLIB>
//L.SYSIN   DD *
 SETOPT PARM(REUS(REFR))
 ORDER   RHDCSRTT
 ENTRY   SRTTEP1
 NAME    RHDCSRTT(R)
/*

 

STARTUP JCL

The IDMS CV startup JCL also needs to have a SYSTCPD dataset defined:

//SYSTCPD  DD DISP=SHR,DSN=VTAM.TCPIP.TCPIP.DATA

See documentation section Configure Your IDMS System to Use TCP/IP.

 

Verifying Mainframe Configuration

Once the CV is cycled with the correct definitions, verify the SRTT with:

DCMT D SRTT

At startup, the following messages should appear:

DC390015 V19 OPENING LINE TCPIP

DC088071 V19 T0 Initialization TCP/IP environment started.      
DC088024 V19 T0 Starting checking status of TCP/IP stack TCPxxxx
DC088025 V19 T0 Status of TCP/IP stack TCPxxxx is active

DC088072 V19 T0 Initialization TCP/IP environment completed. TCP/IP is active.

DC013004 V19 T0 ATTACHING DRIVER FOR LINE TCPIP                       
                     
DC088001 V19 T25 Line TCPIP Pterm TCPJSRV listener initiated on port 03716    

DCMT D TCPIP  should show it as active.

DCMT D LINE TCPIP should show the line as INSRV.

TCPJSRV should match the port number defined on the line with the startup message shown above.

TCPJSRV  TCPJSRV  LIST   InSrv  03716

 

Download Latest version of the ODBC and JDBC drivers

The latest published PTF for IDMS Server contains the latest version of the ODBC and JDBC drivers. Currently as of August 15, 2024, it is PTF LU12591.

 

Testing with IDMSJCF tool

Once the above is verified, test it with the IDMSJCF tool, which comes with IDMS Server on Windows. It comes as a jar file which can be run directly from the shortcut in the IDMS Server menu.

In Windows:

  • click on the Start button
  • expand CA IDMS Server 17.1 (64-Bit)
  • click on JCF Demo App
  • in the app click on Connect
  • by default it uses a data source called JdbcTest. Define this in the ODBC administrator. Under Database: see jdbc:idms:JdbcTest
  • or code the data source in the Database, an example JAVA URL connection for a test system: jdbc:idms://<LPAR host name>:<port number>/appldict     

Get the port number from the line, DCMT D LINE TCPIP.

Get the host name from the SYSTCPD dataset in the startup JCL.

The default dictionary of APPLDICT is used in this example. 

Include the appropriate SQL definitions in the default dictionary associated with the URL. The SQL definitions reside in the catalog area of the dictionary.

Once it's connected, verify access to the IDMS SQL tables from the IDMS mainframe databases. In the JCF Demo App panel, enter the command:

SELECT * FROM SYSTEM.TABLE

Press the Execute button to run the command and receive the output.

 

ODBC Configuration

For ODBC configuration information, see Configure IDMS Server on Windows.

 

JDBC

To use JDBC on Windows or Unix, there is nothing to configure on the client side.

The JDBC driver supports Type 4 connections which communicate directly to IDMS using TCP/IP. See the explanation in section Components. Code a Java program that uses JDBC to access the IDMS database. The program logic would be in the JDBC program. See the documentation section JDBC Programmer Reference. There are also some Sample Programs available.