Pectus Excavatum
Pectus Excavatum

Reputation: 3785

java - creating an oracle database connection

Does anyone know what the best way is to create a new oracle database connection. This is what I currently have:

private static getConnection() throws Exception {
    if (!isDriverRegistered){
               DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
               isDriverRegistered = true;
      }
      return DrvierManager.getConnection(connectionString);
    }

Upvotes: 0

Views: 328

Answers (2)

Nomesh Gajare
Nomesh Gajare

Reputation: 855

this class may help you

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

public class JDBCHelper {

    public static void close(Statement obj)
    {
        try
        {
            if(obj!=null)
                obj.close();
        }
        catch(SQLException e)
        {
            e.printStackTrace();
        }
    }

    public static void close(ResultSet obj)
    {
        try
        {
            if(obj!=null)
                obj.close();
        }
        catch(SQLException e)
        {
            e.printStackTrace();
        }
    }

    public static void close(Connection obj)
    {
        try
        {
            if(obj!=null)
                obj.close();
        }
        catch(SQLException e)
        {
            e.printStackTrace();
        }
    }

    public static Connection getConnection()
    {
        Connection con = null;

        String url = "url"     //give url
        String pwd = "password";//give password
        String uid = "userId";//give userid



        try
        {       
            Class.forName("oracle.jdbc.OracleDriver");   //pass driver name
            con = DriverManager.getConnection(url,uid,pwd);
            con.setAutoCommit(false);

        }
        catch(Exception e)
        {
            if(con!=null)
                try {
                    con.rollback();
                } catch (SQLException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }

            e.printStackTrace();
        }
        return con;
    }


}

Upvotes: 0

Jesper
Jesper

Reputation: 206956

You are not supposed to register the driver yourself; the JDBC driver itself will do that, when its class is loaded. So, do not call DriverManager.registerDriver yourself.

There are two steps: make sure the JDBC driver class is loaded, and get a connection.

To load the JDBC driver class, use a line like this:

Class.forName("oracle.jdbc.OracleDriver");

Then get the connection with a call to DriverManager.getConnection:

Connection conn = DriverManager.getConnection(connectionString);

Note that if you are using a newer JDBC version and a suitable driver, you do not even need to load the driver class explicitly; it will be found and loaded automatically (via Java's service discovery mechanism). In that case you only need to call DriverManager.getConnection.

Upvotes: 4

Related Questions