Bill,

You're trying to reference the connection out of it's scope.

Try moving the declaration like the example below.


On 03/24/2010 10:49 AM, Brutzman, Bill wrote:
Ben:

1. I am glad to find out about the "finally" command.  I was not aware
of this feature in Java.
2. The new code below yields an IDE error...  con cannot be resolved
3. Connection con was already defined... it gives an error when I do a
con = null;
4. IDE does not accept  con.close;
5. While I am happy to look into this and figure it out... right now I
do not know the fix.

Regards,

--Bill

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBC_1001 {

     public static void main(String[] args) {

Connection con=null;

     try {

             try {
                Class.forName("com.ibm.u2.jdbc.UniJDBCDriver");
             }
             catch(Exception x){
                System.out.println( "Here " + x );
             }
                                                   String url
= "jdbc:ibm-u2://192.168.0.102/SHIPPING";
                                                   String      userid
= "ups";
                                                   String
passWord  = "brown";

             *Connection*  con = DriverManager.getConnection(url, userid,
passWord);

             Statement stmt = con.createStatement();

                                       String sql = "select @ID, NAME,
CITY, STATE from PACKSLIPS.X";
             ResultSet rs = stmt.executeQuery(sql);

             int i = 1;
             while (rs.next()&&  i<  6)
             {
                 System.out.println("\nRecord "+ i +" :");
                 System.out.println("\...@id : \t" + rs.getString(1));
                 System.out.println("\tNAME :\t" + rs.getString(2));
                 System.out.println("\tCITY :\t" + rs.getString(3));
                 System.out.println("\tSTATE :\t" + rs.getString(4));
                 i++;
             }

             rs.close();
             stmt.close() ;
             System.out.println("\n\t*--- QUERY test is done successful
---*\n");

         }
         catch (SQLException e ) {
             System.out.println(e);
         }
         finally{
                try{
*                       if(con != null)*
                             con.close();
             }
                catch(Exception ignored){}
         }
     }

}

-----Original Message-----
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Ben Souther
Sent: Tuesday, March 23, 2010 5:34 PM
To: U2 Users List
Subject: Re: [U2] JDBC - ClassPath - Victory

Glad it's working.

Tip:  You should always put the con.close() statement in a finally
block.
The close method itself can throw an exception so it needs to be in a
nested try/catch.

Putting in in a finally block insures that come Hello or high water the
connection gets closed.
One of the most common causes for memory leaks in JDBC applications is
the build up of unclosed database connections.


Connection con = null;
try{
        // establish connection and do stuff
}catch(Exception e){
        // deal with any problems
}finally{
        try{
                con.close();
         }catch(Exception ignored){}
}







On Mar 23, 2010, at 3:33 PM, Brutzman, Bill wrote:

The following code works ok...

Thanks to all those who responded especially John, Jeff, Bruce,
Charles, Ben, and Mike.

--Bill

import java.sql.*;

public class Uni_101 {

    public static void main(String[] args) {
        try {

            try {
                Class.forName("com.ibm.u2.jdbc.UniJDBCDriver");
            }
            catch(Exception x){
                System.out.println( "Here " + x );
            }
                                                  String url =
"jdbc:ibm-u2://192.168.0.102/SHIPPING";
                                                  String      userid
= "ups";
                                                  String passWord  =
"brown";

            Connection con = DriverManager.getConnection(url, userid,
passWord);

            Statement stmt = con.createStatement();

                                      String sql = "select @ID, NAME,
CITY, STATE from PACKSLIPS.X";
            ResultSet rs = stmt.executeQuery(sql);

            int i = 1;
            while (rs.next()&&  i<  6)
            {
                System.out.println("\nRecord "+ i +" :");
                System.out.println("\...@id : \t" + rs.getString(1));
                System.out.println("\tNAME :\t" + rs.getString(2));
                System.out.println("\tCITY :\t" + rs.getString(3));
                System.out.println("\tSTATE :\t" + rs.getString(4));
                i++;
            }

            rs.close();
            stmt.close() ;
            System.out.println("\n\t*--- QUERY test is done successful
---*\n");

        }
        catch (SQLException e ) {
            System.out.println(e);
        }
    }

}
_______________________________________________
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

_______________________________________________
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
_______________________________________________
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


_______________________________________________
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

Reply via email to