| 
 | 
I have been unable to find an example of using either row sets or data
access JavaBeans for DB2/400.  Everything I find, (including IBM illustrates
using DB2 for the PC). I have an WebSphere 3.5 application I want to use
these methods for database access but I am having trouble converting the DB2
examples to DB2/400.  Specifically, the DB2 examples build a
StatementMetaData object using the metaData.addParameter and
metaData.addColumn methods to build the SQL statement.  Finally the example
performs a metaData.addTable method.
Here is an excerpt of the example I downloaded from IBM's Websphere site for
using data access JavaBeans
public void init (ServletConfig config) throws SevletException {
try {
        Hashtable parms = new Hashtable();
        parms.put(Context.INITIAL_CONTEXT_FACTORY,
"com.ibm.ejs.ns.jndi.CNInitialContextFactory");
        Context ctx = new InitialContext(parms);
        ds = (DataSource) ctx.lookup(source);
}
catch (Exception e) {}
//Add data access JavaBeans code
String sqlQuery = "SELECT ID, NAME, DEPT, COMM FROM " owner.toUpperCase() +
".STAFF" + "WHERE ID >= ? AND DEPT = ? ORDER BY ID ASC";
metaData = new StatementMetaData();
metaData.setSQL(sqlQuery);
try {
        metaData.addParameter("idParm",         Integer.class,
Types.SMALLINT);
        metaData.addParameter("deptParm",       String.class,
Types.SMALLINT);
        metaData.addColumn("ID",                String.class,
Types.SMALLINT);
        metaData.addColumn("NAME",              String.class,
Types.VARCHAR);
        metaData.addColumn("DEPT",              Integer.class,
Types.SMALLINT);
        metaData.addColumn("COMM",              BigDecimal.class,
Types.Decimal);
        metaData.addTable(owner.toUpperCase(), + ".STAFF");
}
catch (Exception e) {}
}
public void doGet(HttpServletRequest req, HttpServletResponse res) {
Connection conn = null;
SelectResult result = null;
DatabaseConnection dataAccessConn = null;
try {
        conn.ds.getConnection(user, password);
        dataAccessConn = new DatabaseConnection(conn);
        SelectStatement selectStatement = new SelectStatement;
        selectStatement.setConnection(dataAccessConn);
        selectStatement.setMetaData(metaData);
        selectStatement.setParameter("deptParm", (String) "42");
        selectStatement.setParameter("idParm", new Integer(100));
        selectStatement.execute();
        result = selectStatement.getResult();
        .....
Does anyone know how this would translate to DB2/400?  I know the naming
context works ok because i have used it before using a result set.  I really
would like to use the data access JavaBean.
Thanks for any suggestions.
Stephen Gibson
Lees Carpets
A Division of Burlington Industries
3330 West Friendly Avenue
Greensboro, NC 27410
Phone 336.379.2728
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.