zoukankan      html  css  js  c++  java
  • SPJs for JDBC programing and Calling it by COBOL

    In this note, you will know how to access the MX table by SPJ(Stored Procedure in Java)
     
    1. Java class for stored procedure,
    1. import java.sql.*;
    2. import java.math.*;
    3. publicclassSpjtest{
    4. publicstaticvoid getName(String id,String[] name)throwsSQLException
    5. {
    6. Connection conn =DriverManager.getConnection("jdbc:sqlmx:");
    7. PreparedStatement getNam =
    8. conn.prepareStatement("SELECT EC_NAME FROM SOS.ECUI.ECTEST WHERE EC_ID = ?");
    9. getNam.setString(1, id);
    10. ResultSet rs = getNam.executeQuery();
    11. rs.next();
    12. name[0]= rs.getString(1);
    13. rs.close();
    14. conn.close();
    15. }
    16. }
     
    2. CREATE PROCEDURE in MXCI,
    1. DROP PROCEDURE sos.ecui.getname;
    2. ?SECTION "CREATE ENDER SPJs"
    3. CREATE PROCEDURE sos.ecui.getname(in id VARCHAR(10), OUT name VARCHAR(20))
    4. EXTERNAL NAME 'Spjtest.getName'
    5. EXTERNAL PATH '/home/ecui/java/SPJs'
    6. LANGUAGE JAVA
    7. PARAMETER STYLE JAVA
    8. READS SQL DATA;
     
    3. call it,
    1. >>CALL sos.ecui.getname('0000000002',?);
    2.  
    3. *** WARNING[11217]Java execution:Data overflow occurred while retrieving data
    4. at parameter position 2.Value is truncated.
    5.  
    6. NAME
    7. --------------------
    8.  
    9. Rocky
    10.  
    11. --- SQL operation completed with warnings.
     

    How to Calling SPJs in COBOL.

    1. If you include a CALL statement within a transaction, be aware that the stored procedure in Java (SPJ) invoked by the CALL statement inherits the transaction from the caller, and the SPJ method cannot contain transaction control statements
     
    2. Coding COBOL program.
    1. WORKING-STORAGE SECTION.
    2. EXEC SQL BEGIN DECLARE SECTION END-EXEC.
    3.  
    4.            03  WS-SPJS-ID                   PIC X(10).
    5.            03  WS-SPJS-NAME                 PIC X(20).
    6.  
    7. PROCEDURE DIVISION.
    8.  
    9.        PERFORM TEST-SPJS THRU TEST-SPJS-EXIT.
    10.  
    11.        TEST-SPJS.
    12.  
    13.            MOVE "0000000001" TO WS-SPJS-ID.
    14.            MOVE SPACES       TO WS-SPJS-NAME.
    15.  
    16.            EXEC SQL
    17.                CALL SOS.ECUI.GETNAME(:WS-SPJS-ID,:WS-SPJS-NAME)
    18.            END-EXEC.
    19.  
    20.            DISPLAY WS-SPJS-NAME.
    21.  
    22.        TEST-SPJS-EXIT.
    23.            EXIT.
     
    3. Compile it.
    4. Execute it.
    1. $DATA01.ECSRC 70> RUN ECTEXE
    2. Ender.Cui
     
     
     





  • 相关阅读:
    说说我当初是如何学Linux的
    案例八:shell自动化管理账本脚本
    案例七:shell实现开机自动播放挂载本地yum仓库程序
    案例六:shell脚本监控httpd服务80端口状态
    案例五:shell脚本实现定时监控http服务的运行状态
    案例四:Shell脚本生成随机密码
    案例三:shell统计ip访问情况并分析访问日志
    案例二:shell脚本获取当前日期和时间及磁盘使情况
    案例一:shell脚本指定日期减去一天
    Linux:保证数据安全落盘
  • 原文地址:https://www.cnblogs.com/ECNB/p/4611119.html
Copyright © 2011-2022 走看看