|
Hi Tommy, From one newbie to another, here is what We hacked out which works quite well for me... I am sure that it is all wrong - but it works... <grin> YMMV Regards, Rick Rick DuVall Systems Manager Dealer's Auto Auction of Okc, Inc. rick@xxxxxxxxxx (405) 947-2886 http://www.nothingisreal.com/dfki/no-word /** * Return the Generic As400 Kept in this class * * @param None * @return As400 Object */ public final static AS400 getMyAs400() throws ConnectGenException { if (as400 == null) { String initErr = initAccessObjects("xxx.xxx.xxx.xxx"); <put your address etc. here> if (initErr.trim().length() > 0) { throw new ConnectGenException(initErr); } } return as400; } /** * Return the Generic Connection Object Kept in this class * * @param None * @return Connection Object */ public final static Connection getMyConnection() throws ConnectGenException { if (conn == null) { String initErr = initAccessObjects("xxx.xxx.xxx.xxx"); if (initErr.trim().length() > 0) { throw new ConnectGenException(initErr); } } return conn; } /** * Initialize the objects that access the iSeries. The goal here is to * prevent a situation where calls to an unmarshaller continually cause new * connections to the iSeries to be established. The overhead for that * condition has been found to be burdensome. * * @throws Exception */ private static String initAccessObjects(String systemAddress) { String mthNam = "initAccessObjects"; //String mPfx = msgPfx(mthNam); String rtnErr = ""; //dftFilSep = System.getProperty("file.separator"); // Create an AS400 object for the server that has the data queues. if (as400 == null) { as400 = new AS400(systemAddress); try { as400.connectService(AS400.COMMAND); } catch (AS400SecurityException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } //prt((mPfx + "as400 null? " + (as400 == null ? true : false)), 2); /* * CrtDerDoc000 needs to access the system time. And who knows what else * downstream may? */ //iTGet = new GetiSeriesDateTime3(as400); //prt((mPfx + "Back from constructor of GetiSeriesDateTime3 object."), 2); if (conn == null) { conn = getConnection(); if (conn == null) { rtnErr = "Unable to establish Connection object."; } else { UserInfoBean myUser = new UserInfoBean(); myUserid = as400.getUserId().toString(); } } return rtnErr; } /** * Get a connection to the iSeries that will persist throughout the picture * numbering process. * * @param host * @return */ private static Connection getConnection() { String mthNam = "getConnection"; String errMsg = ""; Connection rtnCon = null; try { // The DriverManager must be aware that there is a JDBC driver // available // to handle a user connection request. The following line causes // the // native JDBC driver to be loaded and registered with the // DriverManager. // Class.forName("com.ibm.db2.jdbc.app.DB2Driver"); // Create the database Connection object that this program uses in // all // the other method calls that are made. The following code // specifies // that a connection is to be established to the local database and // that connection should conform to the properties that were set up // previously (that is, it should use the user ID and password // specified). DriverManager .registerDriver(new com.ibm.as400.access.AS400JDBCDriver()); // Get a connection to the database. Since we do not // provide a user id or password, a prompt will appear. // // Note that we provide a default schema here so // that we do not need to qualify the table name in // SQL statements. // rtnCon = DriverManager .getConnection("jdbc:as400://192.168.0.1"); } catch (SQLException sqle) { sqle.printStackTrace(); } return rtnCon; } public String getMyClassName() { String myName = "EntityAccessJdbc"; String qualName = this.getClass().getName(); int lastDot = qualName.lastIndexOf("."); if (lastDot > 0) { myName = qualName.substring((lastDot + 1), qualName.length()) .trim(); } return myName; } private String msgPfx(String methodName) { return myName + "." + methodName.trim() + "(): "; } private static AS400JDBCDriver as400JdbcDriver = null; private String myName = ""; private static AS400 as400 = null; private static String myUserid = null; private String dftFilSep = ""; private static Connection conn = null; private Statement stm = null;
-----Original Message----- From: java400-l-bounces@xxxxxxxxxxxx [mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of Holden Tommy Sent: Friday, February 09, 2007 9:44 AM To: java400-l@xxxxxxxxxxxx Subject: Using JT400. Ok I'm trying to figure this out. Here is the code: import com.ibm.as400.access.AS400; import com.ibm.as400.access.AS400SecurityException; class Base extends Object { public static void main(String args[]) { int as400number; AS400 myas400 = new AS400(); as400number = AS400.SIGNON; try { myas400.validateSignon(); } catch (AS400SecurityException i) {} catch (Exception e){} ObjectDef iObject = new ObjectDef(); if (args.length == 0) { // do nothing } if (args.length == 1) { iObject.Name = args[0]; iObject.Library = "*LIBL"; } if (args.length == 2) { iObject.Name = args[0]; iObject.Library = args[1]; } if (args.length == 3) { iObject.Name = args[0]; iObject.Library = args[1]; iObject.ObjectType = args[2]; } System.out.println(); System.out.println(iObject.Name); System.out.println(iObject.Library); System.out.println(iObject.ObjectType); } } According to what I have read when the AS400 myas400 = new AS400(); is executed I should be prompted for sign on credentials (it's likely something I have misunderstood). When it hits that line no prompt appears and it seems to just step into the com.ibm.whatever and return. Also if I pass the value *PGM as a variable it replaces the constant *PGM with the package name. Please help a newbie....i'll buy a Krystal burger & we can all split it. Thanks, Tommy Holden -- 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 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.