× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Did you register Y00405 as a stored procedure?  If not, do it with
<i>CREATE PROCEDURE</i>.  See example below:


CREATE PROCEDURE LIBB/Y00405 
 (IN POLICY CHAR(100), 
  OUT AUTHORIZED VARCHAR)
 RESULT SETS 1
 DETERMINISTIC
 LANGUAGE RPG
 EXTERNAL NAME LIBB/Y00405
 READS SQL DATA
 PARAMETER STYLE GENERAL; 


On Tue, 25 Jan 2005 09:42:52 -0000, Colin Williams
<colin.williams@xxxxxxxxxxxx> wrote:
> Pete
> 
> *       I would generally set property naming=system, this will make the
> connection use the library list to search for the program. That way you
> don't need to specify the library for the program eg call y00405
> *       How have you registered your program in the database. I believe
> there are two steps to this searching for the program. The first is that the
> stored procedure definition has to be found in QSYSPROCS, the second is that
> the underlying program has to be found on the system. Read the error message
> very carefully to determine where you are getting the error.
> *       In development I always set property trace=true. This will give you
> a lot more information about the JDBC connection, and will also list the
> as400 server job that is handling the connection. That way you can look at
> the job log and see if there are any more detailed messages that may be
> useful in finding out where the problem is. You can also STRSRVJOB on this
> server job so that you can debug the RPG program when it is called by the
> database.
> 
> cheers
> Colin.W
> 
> http://as400blog.blogspot.com <http://as400blog.blogspot.com>
> 
> Extension   5800
> Direct dial   0870 429 5800
> 
> 
> -----Original Message-----
> From: StokesP@xxxxxxxxxxxxxxxx [mailto:StokesP@xxxxxxxxxxxxxxxx
> <mailto:StokesP@xxxxxxxxxxxxxxxx> ]
> Sent: 25 January 2005 09:30
> To: Java Programming on and around the iSeries / AS400
> Subject: AS400 and Java CallableStatement woes
> 
> Hi,
> I am having problems calling a RPG ILE program on AS400 from a Java class
> using Java's CallableStatement (JTOpen). I have two versions of the RPG
> program, one takes an input param and gives output in the second param, or
> one that takes the input param and gives output in the same param space. The
> only way I can seem to prove it actually calls the program is when I hard
> code my policy number into the prepareCall statement and make sure there are
> no "?"'s. Though this is useless to me because I need to get the returned
> string from the program. If I do anything other than hard code my policy
> into prepareCall then I always get a SQLException on the prepareCall, it
> generally complains about not finding the program. This is just a quick test
> class, once proven, it's going into a struts webapp so I want to use commons
> dbcp and not the AS400 classes directly like AS400 as400 = new
> AS400("10.2.0.3");. Any comments would be appreciated ! Thanks, Pete.
> 
> public static void main(String[] args){
>     CallableStatement csmt = null;
>     ResultSet rs = null;
>     Connection con = null;
> 
>     try{
>       Class.forName("com.ibm.as400.access.AS400JDBCDriver");
>     }catch(Exception e){
>       System.out.println(e.toString());
>     }
>     try{
>        con = DriverManager.getConnection("jdbc:as400://10.2.0.3; translate
>         binary=true;date format=iso; errors=full;
>         libraries=LIBA,LIBB,LIBC,LIBD");
>         csmt = con.prepareCall("call LIBB.Y00405(?,?)");
>         smt.setString(1, "'ABC/REF/POLICY'");
>         csmt.registerOutParameter(2, Types.VARCHAR);
>          csmt.execute();
> System.out.println("++++RESULT: " + csmt.getString(2));
> 
> ****************************************************************************
> *******
> This email and any files transmitted with it are confidential and intended
> solely for the use of the individual or entity to whom they are addressed.
> If you have received this email in error please notify the system manager.
> This footnote also confirms that this email message has been swept by
> MIMEsweeper for the presence of computer viruses.
> ****************************************************************************
> *******
> For any information on the Quinn Group of Companies please visit :-
> 
> http://www.quinn-group.com <http://www.quinn-group.com>
> 
> --
> This is the Java Programming on and around the iSeries / AS400 (JAVA400-L)
> mailing list To post a message email: JAVA400-L@xxxxxxxxxxxx To subscribe,
> unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/java400-l
> <http://lists.midrange.com/mailman/listinfo/java400-l>
> or email: JAVA400-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/java400-l
> <http://archive.midrange.com/java400-l> .
> This e-mail has been sent by a company of Bertram Group Ltd, whose registered 
> office is 1 Broadland Business Park, Norwich, NR7 0WF.
> This message, and any attachments, are intended solely for the addressee and 
> may contain privileged or confidential information.  If you are not the 
> intended recipient, any disclosure, copying, distribution or any action taken 
> or omitted to be taken in reliance on it, is prohibited and may be unlawful.  
> If you believe that you have received this email in error, please contact the 
> sender immediately. Opinions, conclusions and statements of intent in this 
> e-mail are those of the sender and will not bind a Bertram Group Ltd company 
> unless confirmed in writing by a director independently of this message.
> Although we have taken steps to ensure that this email and any attachments 
> are free from any virus, we advise that in keeping with good computing 
> practice the recipient should ensure they are actually virus free.
> --
> This is the Java Programming on and around the iSeries / AS400 (JAVA400-L) 
> mailing list
> To post a message email: JAVA400-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/java400-l
> or email: JAVA400-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/java400-l.
> 
>

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.