Solved

Connect to DB2

Posted on 2002-05-23
10
1,183 Views
Last Modified: 2008-03-06
In my Linux platform, I need to connect to a DB2 database under OS400 with JSP, could you give me a solution?
0
Comment
Question by:Yuanyu
  • 4
  • 2
  • 2
  • +2
10 Comments
 
LVL 6

Accepted Solution

by:
kotan earned 500 total points
ID: 7031173
There are 2 different JDBC drivers for the AS/400 database. Which one you want to use?

1. The "native" JDBC driver.
   This is shipped as part of the AS/400 Developer Kit for Java (57xxJV1). It is implemented by making native method calls to the SQL CLI (Call Level Interface). Consequently, it only runs on the AS/400 JVM.

2. The "Toolbox" JDBC driver
   This is shipped as part of the IBM Toolbox for Java (57xxJC1). It is implemented by making direct socket connections to the database host server. This happens to be the same route that the Client Access/400 ODBC driver takes. However, Client Access/400 is NOT required. The Toolbox runs on any JVM.


0
 
LVL 6

Expert Comment

by:kotan
ID: 7031178
0
 

Author Comment

by:Yuanyu
ID: 7031263
Does the second way means:
57xxJC1 is in the list LICPGM, we can connect to DB2/OS400 from Linux or Windows platform without any driver installion?  
0
 
LVL 6

Expert Comment

by:kotan
ID: 7031312
yes! The driver is already included in IBM Toolbox.
0
 
LVL 92

Expert Comment

by:objects
ID: 7031406
One of IBM's red books may help you:

http://www.as400.ibm.com/developer/java/books.html
0
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 

Author Comment

by:Yuanyu
ID: 7031451
OS/400 version is V4R2, can I use toolbox 57xxJC1?
0
 
LVL 6

Expert Comment

by:kotan
ID: 7031517
0
 
LVL 19

Expert Comment

by:cheekycj
ID: 7032701
once you have your jdbc driver downloaded.. include it in your servlet container's environment as a standard lib.

you can go here to find out how to use JDBC to connect to your DB:
http://www7b.boulder.ibm.com/dmdd/library/techarticle/0203zikopoulos/0203zikopoulos.html [overview on db2 and jdbc]

http://www-105.ibm.com/developerworks/education.nsf/java-onlinecourse-bytitle/5D92193F478974D386256B210044A302?OpenDocument [tutorial about using jdbc from a jsp to connect to a DB, registration is free]

http://www-106.ibm.com/developerworks/library/connecting-enterprise-data/enterprise-data.html [how to access db2 data using jdbc in java/jsp]

here is a redbook on it:
http://www.redbooks.ibm.com/redpieces/pdfs/sg246551.pdf

if you can't find the IBM Supplied JDBC driver here is an alternative one:
http://www.hitsw.com/support/dloadsqljdbc400top.htm

here is how to set up the IBM JDBC driver:
http://as400bks.rochester.ibm.com/pubs/html/as400/v5r1/ic2924/index.htm?info/rzaha/jdbc.htm
http://as400bks.rochester.ibm.com/pubs/html/as400/v5r1/ic2924/index.htm?info/rzaha/setupjdbc.htm

HTH,
CJ
0
 
LVL 19

Expert Comment

by:cheekycj
ID: 7075697
any luck?

CJ
0
 

Expert Comment

by:foongkim
ID: 7100256
Ok Yuanyu,

I think i am in a better positions to help cause I have just finished my project in JSP on DB2 and OS400. I think u need mor sample code other than looking around in the info center again.

First, I am using JSP and JavaBean to work. To gather info from user, I used JSP to capture user information, after that I used JavaBEan to do the connection. So, for your problems, u need to know how to connect right? Here your are :

********** connect.java ********

1 package com.wrox.cars;
2
3import java.sql.*;
4import java.util.*;
5
6public class Books {
7        String error;
8        Connection con;
9
10        public Books() { }
11
12        public void connect() throws ClassNotFoundException,
13                                     SQLException,
14                                     Exception {
15        try {
16           Class.forName("com.ibm.db2.jdbc.app.DB2Driver");
17           con = DriverManager.getConnection("jdbc:db2:*local");
18        } catch (ClassNotFoundException cnfe) {
19          error = ("ClassNotFoundException: Could Not Locate Db Driver");
20          throw new ClassNotFoundException(error);
21        } catch (SQLException cnfe) {
22          error = ("ClassNotFoundException : Could Not Connect to DB.");
23          throw new SQLException(error);
24        } catch (Exception e) {
25          error = ("Exception : An Unknown error occur.");
26          throw new Exception (error);
27        }
28      }
29
30
31        public void disconnect() throws SQLException {
32           try {
33                if ( con != null) {
34                     con.close();
35                   }
36                } catch (SQLException sqle) {
37                  error = ("SQLEXception : Unable to close the database.");
38                  throw new SQLException (error);
39                }
40              }
41
42
43        public ResultSet viewBooks() throws SQLException, Exception {
44                ResultSet rs = null;
45
46                try {
47                 String queryString =("SELECT TA1001, TA1021, TA1015 FROM lflib.jalf11 WHERE TA1014='C1'");
48                 Statement stmt = con.createStatement();
49                 rs = stmt.executeQuery(queryString);
50              } catch (SQLException sqle) {
51                        error = ("SQLException : Could not execute query");
52                        throw new SQLException (error);
53              } catch (Exception e) {
54                        error = ("Exception : An Unknown error occur.");
55                        throw new Exception (error);
56              }
57
58              return rs;
59       }
60
61       }


The bean above, as u see, quite clear right? 3 methods. One is doing the connection, which is include of all the driver, location of thedb etc... The second fucntions is disconnect, which u need to close all the connectivity to the db before u close the pages. The third one is the query part. U can put any type of SQL command here as long as it's a valid command.

OK??
Hope it's can help.

Oh yeah... regarding your 5722-JV1 or any other licienced programs. As long as it's in the INSTALLED or COMPATIBLE mode, it's can be used. And u no need to specific anythings in order for u to used. No need. U can straight away used this.

           
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Find out what Office 365 Transport Rules are, how they work and their limitations managing Office 365 signatures.
This article explains how to prepare an HTML email signature template file containing dynamic placeholders for users' Azure AD data. Furthermore, it explains how to use this file to remotely set up a department-wide email signature policy in Office …
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now