// Source File Name: Inpsrv.java 1.3 // // Licensed Materials -- Property of IBM // // (c) Copyright International Business Machines Corporation, 1998. // All Rights Reserved. // // US Government Users Restricted Rights - // Use, duplication or disclosure restricted by // GSA ADP Schedule Contract with IBM Corp. // Sample Program Inpsrv - JDBC Input Stored Procedure // Steps to run the sample: // (1) create and populate the SAMPLE database (db2sampl) // (2) (n)make Inpsrv // (3) (n)make Inpcli // (4) run Inpcli // NOTES: (1) The jdk11_path database manager configuration parameter must // be set // (2) The CLASSPATH and shared library path environment variables // must be set, as for any JDBC application. // (3) Visit http://www.software.ibm.com/data/db2/java // for current DB2 Java information // For more information about this sample, refer to the README file. // For more information on Programming in Java, refer to the // "Programming in Java" section of the Application Development Guide. // For more information on creating stored procedures, refer to the // "Writing Stored Procedures" section of the Application Development Guide. // For more information on building and running Java programs for DB2, // refer to the "Building Java Applets and Applications" section of the // Application Building Guide. // For more information on the SQL language, refer to the SQL Reference. // Class Inpsrv contains one method: // (1) inputStoredProcedure: stored procedure body import java.sql.*; // JDBC classes import COM.ibm.db2.jdbc.app.*; // DB2 UDB JDBC classes import COM.ibm.db2.app.*; // StoredProc and associated classes // ///// // Java stored procedure is in this class // ///// class Inpsrv extends StoredProc { // stored procedure body public void inputStoredProcedure(String tblName, /* :rk.1:erk. */ String presid1, String presid2, String presid3) throws Exception { try { // get caller's connection to the database; inherited from StoredProc Connection con = getConnection (); con.setAutoCommit(false); String tableStmt = "CREATE TABLE "; String insertStmt = "INSERT INTO "; String insertData = null; int cntr = 0; String tableName = null; String[] dataItems = new String[3]; int numOfData = 0; int SqlCode = 0; // Assign the data to local variables tableName = tblName; numOfData = 3; dataItems[0] = presid1; dataItems[1] = presid2; dataItems[2] = presid3; // Create President Table // - For simplicity, we'll ignore any errors from the // CREATE TABLE so that you can run this program even when the // table already exists due to a previous run. Statement stmt = con.createStatement (); tableStmt = tableStmt + tableName; tableStmt = tableStmt + " (name CHAR(20))"; /* :rk.2:erk. */ try { stmt.executeUpdate (tableStmt); } catch (Exception e) { // ignore this error } stmt.close (); // Insert the three presidents. insertStmt = insertStmt + tableName; insertStmt = insertStmt + " VALUES (?)"; /* :rk.3:erk. */ PreparedStatement insertPresidents = con.prepareStatement(insertStmt); for (cntr = 0; cntr < numOfData; cntr++) { insertData = dataItems[cntr]; insertPresidents.setString(1, insertData); insertPresidents.executeUpdate(); /* :rk.4:erk. */ } } catch (Exception e) { throw e; } } }