We help IT Professionals succeed at work.

Null pointer exception when setting up a global oracle data source

anshuma
anshuma asked
on
593 Views
Last Modified: 2012-05-07
Hi,

In the following code i am trying to create a global oracle connection. But I am getting a null pointer exception when setting the oracle url. Any ideas why, also what is the best practise of creating a global database connection which can be used in all parts of the code
public class CheckFirst {
  
 
 
// Set up Oracle Data Structures
 
public static OracleDataSource ods;
public static Connection conn; 
public static ResultSet rset;
public static Statement stmt;
 
//Set up Teradata Data Structures
 
 
 
public static void openOrclConn()
{
	try
    {	
	ods.setURL("jdbc:oracle:thin:@//alpha.beta.abc.com:1521/alpha");
	ods.setUser("abc123");
	ods.setPassword("abc123");		
	ods.getConnection();
	conn.setAutoCommit (false);
	stmt = conn.createStatement ();
    } catch (Exception e) {
        e.printStackTrace();
   }
}
 
public static void closeOrclConn()
{
	try
    {
	rset.close();
	stmt.close();
	conn.close();
    } catch (Exception e) {
        e.printStackTrace();
   }
}
 
 
public static void main (String args []) 
 
{
	
	openOrclConn();
	
}
 
}

Open in new window

Comment
Watch Question

Commented:
Hi.

Could you please post the error message?
anshumaEngineering

Author

Commented:
java.lang.NullPointerException
      at CheckFirst.openOrclConn(CheckFirst.java:58)
      at CheckFirst.main(CheckFirst.java:87)

The line numbers can be off a little bit because I removed two three lines when I posted the code

Its happening in this line

      ods.setURL("jdbc:oracle:thin:@//bia.vip.ebay.com:1521/bia");


anshumaEngineering

Author

Commented:
ok this is what i did and it seems to have fixed it

I added the line

ods = new OracleDataSource();  in the function

public static void openOrclConn()

Commented:
Yes, you cannot open an object before making it.

When you are using object like this the variable will be there, but empty, therefore you will get an null pointer.

And a tip:
If possible I would try to declare the variables  ods, conn, rset and stmt as not static.
If you use static variables you say its only one (ever) object of it, and that can make problems later.
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION
anshumaEngineering

Author

Commented:
Thanks alot for this

Gain unlimited access to on-demand training courses with an Experts Exchange subscription.

Get Access
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Empower Your Career
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE

Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.