|
Joe, I enclosed an example here with decimal field as parameter. The procedure TESTP1 was created in an interactive SQL session. I found that I had to use BigDecimal to get the return decimal value. I am not sure if there is another way since BigDecimal operation may be slow. Bruce import java.sql.*; class StoredProc2 { public static void main(java.lang.String[] args) { Connection conn = null; double parm1= 0.0; String parm2=""; String parm3=""; try { DriverManager.registerDriver(new com.ibm.as400.access.AS400JDBCDriver()); } catch (SQLException exc) { System.out.println("Can not find jdbc driver."); System.exit(1); } try { conn = DriverManager.getConnection("jdbc:as400://MRCBOX4"; "JIN","PSWORD"); } catch(SQLException exc) { System.out.println("connection failed with:'"+ exc.getMessage()+"'"); } try { // call procedure (a CL program) CallableStatement cstmt1 = conn.prepareCall( "CALL BRUCELIB.TESTP2(?, ?, ?)" ); cstmt1.registerOutParameter(1, Types.DECIMAL); // parm1=output cstmt1.setString(2, "ABC"); // parm2=input cstmt1.registerOutParameter(3, Types.CHAR); // parm3=output cstmt1.execute(); // run the procedure parm1 = cstmt1.getBigDecimal(1,2).doubleValue(); // I hava to use BigDecimal here? parm3 = cstmt1.getString(3); System.out.println("return parm1= " + parm1); System.out.println("return parm3= " + parm3); cstmt1.close(); } catch(SQLException exc) { System.out.println("cstmt failed:'"+ exc.getMessage()+"'"); } try { conn.close(); } catch(SQLException exc) { System.out.println("Disconnect failed:'"+ exc.getMessage()+"'"); } } } -----Original Message----- From: Joe Pluta <joepluta@PlutaBrothers.com> To: JAVA400-L@midrange.com <JAVA400-L@midrange.com> Date: Tuesday, April 03, 2001 9:10 PM Subject: RE: ProgramCall and ProgramParameter classes >Actually, Bruce, I haven't done that much with JDBC procedure calls. Do you >have an example of a simple program call? I don't need much - I simply pass >a single parameter back and forth between Java and my RPG program, so if you >have an example program, I'd love to see it. > >Joe > > >> -----Original Message----- >> From: owner-java400-l@midrange.com >> [mailto:owner-java400-l@midrange.com]On Behalf Of Bruce Jin >> Sent: Tuesday, April 03, 2001 2:19 PM >> To: JAVA400-L@midrange.com >> Subject: Re: ProgramCall and ProgramParameter classes >> >> >> Eric thanks for the info. >> >> I tried a few jdbc procedure calls and it appears that this approach is >> quite handy to use in calling RPG, CL etc. I wonder why one should use >> Toolbox. >> >> I found that: >> >> 1. JNI offers superb performance but it is not easy to use and it does not >> work with existing AS400 programs. >> 2. ToolBox is not very easy to use. >> 3. PCML is not easy to use. >> 4. JDBC procedure call is very easy to use. And one does not have to use >> jt400.zip file. >> >> Any comments anybody? >> >> Thanks >> Bruce >> >> -----Original Message----- >> From: Eric Merritt <cyberlync@yahoo.com> >> To: JAVA400-L@midrange.com <JAVA400-L@midrange.com> >> Date: Friday, March 30, 2001 2:36 PM >> Subject: Re: ProgramCall and ProgramParameter classes >> >> >> >Bruce, >> > >> > The sun JDBC trail provides a little information at >> >http://java.sun.com/docs/books/tutorial/jdbc/basics/sql.html >> > >> >and a little more here >> > >> >http://developer.java.sun.com/developer/onlineTraining/Database/J >> DBC20Intro >> /JDBC20.html#JDBC2013 >> > >> >as for setting up an RPG program as a stored procedure >> >your will probably have to check one of the redbooks >> >for that. >> > >> > >> >--- Bruce Jin <brucej@mrc-productivity.com> wrote: >> >> Eric could you provide a few resources (or links) on >> >> using JDBC stored >> >> procedures call? >> >> >> >> Thanks. >> >> Bruce >> >> >> >> -----Original Message----- >> >> From: Eric Merritt <cyberlync@yahoo.com> >> >> To: JAVA400-L@midrange.com <JAVA400-L@midrange.com> >> >> Date: Friday, March 30, 2001 11:11 AM >> >> Subject: Re: ProgramCall and ProgramParameter >> >> classes >> >> >> >> >> >> >Robert, >> >> > >> >> > If I might be so bold, Program calls using the >> >> >AS/400 tool box can tend to be a little slow. I >> >> always >> >> >suggest you bundle up your native programs on the >> >> 400 >> >> >as SQL stored procedures and call them via JDBC. >> >> Then >> >> >not only do you get a little faster resonse, you >> >> get >> >> >an open service that is callable by any program >> >> >includeing Java. (And you get to remain platform >> >> >independant) >> >> > >> >> >--- Robert Upshall <rupshall@hotmail.com> wrote: >> >> >> Hi, >> >> >> >> >> >> I am attempting to convert my code to use >> >> >> ProgramCall instead of >> >> >> CommandCall, the command call worked fine now we >> >> >> need to pass values back so >> >> >> we will need to take advantage of >> >> ProgramParameter >> >> >> class. >> >> >> >> >> >> Could somebody tell me how I would convert the >> >> >> CommandCall code below into >> >> >> ProgramCall. >> >> >> >> >> >> // start code snipet >> >> >> /* >> >> >> CommandCall cmd = new CommandCall(srvb); >> >> >> >> >> >> // run the command >> >> >> cmd.run( >> >> >> "CALL GBTINET/GCPLIINET PARM('" >> >> >> + pGroup >> >> >> + "' '" >> >> >> + pSin >> >> >> + "' '" >> >> >> + pClass >> >> >> + "' '" >> >> >> + pTypKey >> >> >> + "')"); >> >> >> >> >> >> // get the message list which contains the result >> >> of >> >> >> the command. >> >> >> AS400Message[] messageList = >> >> cmd.getMessageList(); >> >> >> */ >> >> >> // end code snipet >> >> >> >> >> >> >> >> >> Thanks in advance for any help >> >> >> >> >> >> Robert >> >> >> >> >> >> >>________________________________________________________________ >> _________ >> >> >> Get Your Private, Free E-mail from MSN Hotmail at >> >> >> http://www.hotmail.com. >> >> >> >> >> >> +--- >> >> >> | This is the JAVA/400 Mailing List! >> >> >> | To submit a new message, send your mail to >> >> >> JAVA400-L@midrange.com. >> >> >> | To subscribe to this list send email to >> >> >> JAVA400-L-SUB@midrange.com. >> >> >> | To unsubscribe from this list send email to >> >> >> JAVA400-L-UNSUB@midrange.com. >> >> >> | Questions should be directed to the list owner: >> >> >> joe@zappie.net >> >> >> +--- >> >> > >> >> > >> >> >===== >> >> >Eric Merritt >> >> >Information Systems Consultant >> >> >McCormack & Associates, Inc. >> >> >Rock Hill, South Carolina >> >> >(V) 803-327-3358 X 225 >> >> >eric@mccinc.com >> >> >http://www.mccinc.com/ >> >> > >> >> >__________________________________________________ >> >> >Do You Yahoo!? >> >> >Get email at your own domain with Yahoo! Mail. >> >> >http://personal.mail.yahoo.com/?.refer=text >> >> >+--- >> >> >| This is the JAVA/400 Mailing List! >> >> >| To submit a new message, send your mail to >> >> JAVA400-L@midrange.com. >> >> >| To subscribe to this list send email to >> >> JAVA400-L-SUB@midrange.com. >> >> >| To unsubscribe from this list send email to >> >> JAVA400-L-UNSUB@midrange.com. >> >> >| Questions should be directed to the list owner: >> >> joe@zappie.net >> >> >+--- >> >> >> >> +--- >> >> | This is the JAVA/400 Mailing List! >> >> | To submit a new message, send your mail to >> >> JAVA400-L@midrange.com. >> >> | To subscribe to this list send email to >> >> JAVA400-L-SUB@midrange.com. >> >> | To unsubscribe from this list send email to >> >> JAVA400-L-UNSUB@midrange.com. >> >> | Questions should be directed to the list owner: >> >> joe@zappie.net >> >> +--- >> > >> > >> >===== >> >Eric Merritt >> >Information Systems Consultant >> >McCormack & Associates, Inc. >> >Rock Hill, South Carolina >> >(V) 803-327-3358 X 225 >> >eric@mccinc.com >> >http://www.mccinc.com/ >> > >> >__________________________________________________ >> >Do You Yahoo!? >> >Get email at your own domain with Yahoo! Mail. >> >http://personal.mail.yahoo.com/?.refer=text >> >+--- >> >| This is the JAVA/400 Mailing List! >> >| To submit a new message, send your mail to JAVA400-L@midrange.com. >> >| To subscribe to this list send email to JAVA400-L-SUB@midrange.com. >> >| To unsubscribe from this list send email to >> JAVA400-L-UNSUB@midrange.com. >> >| Questions should be directed to the list owner: joe@zappie.net >> >+--- >> >> +--- >> | This is the JAVA/400 Mailing List! >> | To submit a new message, send your mail to JAVA400-L@midrange.com. >> | To subscribe to this list send email to JAVA400-L-SUB@midrange.com. >> | To unsubscribe from this list send email to >> JAVA400-L-UNSUB@midrange.com. >> | Questions should be directed to the list owner: joe@zappie.net >> +--- >> > >+--- >| This is the JAVA/400 Mailing List! >| To submit a new message, send your mail to JAVA400-L@midrange.com. >| To subscribe to this list send email to JAVA400-L-SUB@midrange.com. >| To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com. >| Questions should be directed to the list owner: joe@zappie.net >+--- +--- | This is the JAVA/400 Mailing List! | To submit a new message, send your mail to JAVA400-L@midrange.com. | To subscribe to this list send email to JAVA400-L-SUB@midrange.com. | To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com. | Questions should be directed to the list owner: joe@zappie.net +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.