Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Java file won't connect to DB

Posted on 2004-03-21
24
Medium Priority
?
311 Views
Last Modified: 2013-11-24
Hi, when run the follwoing java file it doesn't update the database as desired... here's the code.........

import java.io.*;
import java.text.*;
import java.sql.*;
import java.util.*;

public class work {

 public static void main (String[] args) {


Connection con = null;
   
   
      try
    {
System.out.println("tries to connect");

      Class.forName("org.gjt.mm.mysql.Driver").newInstance();
     
      System.out.println("connected");

      con = DriverManager.getConnection("jdbc:mysql://localhost/traffic");
      Statement statement = con.createStatement();
System.out.println("connected");

 statement.executeUpdate("insert into x   values   ( 'ghjgjh')");


 
      }

    catch (Exception e)
    {
    e.toString();
    }
    finally
    {
      try
      {
        if (con != null)
          con.close();  //try to close the db connection
      }
      catch (SQLException sqle)
      {
       sqle.toString();
      }
    }

}


}



I get the ouput "tires to connect" but I don't get the output "connected so obviusly it's having a problem with the connection code. Btw when I use the same code in a servlet it worls perfectly. Any idea why it won't work as a normal java file?
0
Comment
Question by:GregMacken
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 11
  • 7
  • 5
  • +1
24 Comments
 
LVL 86

Expert Comment

by:CEHJ
ID: 10645268
Change

>>e.toString();


to

e.printStackTrace();

and let us know the output
0
 

Author Comment

by:GregMacken
ID: 10645278
The output is...........


java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:141)
        at work.main(work.java:19)
0
 
LVL 86

Accepted Solution

by:
CEHJ earned 480 total points
ID: 10645283
Make sure the driver is in your classpath. Best thing is to put the jar into all your lib/ext directories
0
What is a Denial of Service (DoS)?

A DoS is a malicious attempt to prevent the normal operation of a computer system. You may frequently see the terms 'DDoS' (Distributed Denial of Service) and 'DoS' used interchangeably, but there are some subtle differences.

 

Author Comment

by:GregMacken
ID: 10645301
I copied mysql-connector-java-3.0.10-stable-bin.jar into all lib folders in the tomcat directory and in still doesn't work.  
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 10645310
I thought you were trying to run this as an app? If a webapp, put it into your WEB-INF/lib
0
 
LVL 92

Expert Comment

by:objects
ID: 10645313
put your jar in <webapp>/WEB-INF/lib
0
 

Author Comment

by:GregMacken
ID: 10645317
there seems to be no lib folder in webapps/web-inf
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 10645321
There should be. It's WEB-INF/lib of your webapp
0
 
LVL 92

Expert Comment

by:objects
ID: 10645330
> webapps/web-inf

not webapps, the WEB-INF folder inside your web application root directory.
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 10645331
(i.e. of each individual webapp)
0
 

Author Comment

by:GregMacken
ID: 10645338
anyway i did a search for every lib folder in the tomcat directory and any lib folder i came across I pasted the jar file into it. Should I be setting the classpath?
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 10645340
It's the lib/ext of your Java runtime and SDK that i mean not Tomcat
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 10645343
(your original comment said you didn't have a problem with servlets):

>>when I use the same code in a servlet it worls perfectly. Any idea why it won't work as a normal java file?
0
 
LVL 92

Expert Comment

by:objects
ID: 10645352
> Should I be setting the classpath?

yes you can add the jar file to your CLASSPATH.
0
 
LVL 92

Expert Comment

by:objects
ID: 10645354
0
 

Author Comment

by:GregMacken
ID: 10645392
You're right i did say it was an app - sorry to confuse you.

Here's what I did.......

I moved this java file to c:\

I placed the mysql-connector-java-3.0.6-stable-bin.jar file in C:\j2sdk1.4.2_03\lib\

and set the classpath as follows......

set classpath=C:\j2sdk1.4.2_03\lib\mysql-connector-java-3.0.6-stable-bin

but still it gives the same error
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 10645400
It's lib\ext

not lib
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 10645405
It should also go in lib\ext of the runtime too
0
 
LVL 92

Expert Comment

by:objects
ID: 10645412
> set classpath=C:\j2sdk1.4.2_03\lib\mysql-connector-java-3.0.6-stable-bin

set classpath=C:\j2sdk1.4.2_03\lib\mysql-connector-java-3.0.6-stable-bin.jar

and open a new command window

0
 

Author Comment

by:GregMacken
ID: 10645413
it worked....... I placed the jar file in jre\lib\ext  as you suggested

thanks.. sorry I'm slow on the uptake
0
 
LVL 1

Expert Comment

by:greenlantern0
ID: 10645417
I think if you change the classpath.. you may want to restart tomcat for it to take effect.
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 10645422
>>thanks.. sorry I'm slow on the uptake

No problem.
0
 

Author Comment

by:GregMacken
ID: 10645424
thanks all: -}
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 10645429
An alternative would be to set the classpath to the jar (inclusive) as an *environment* variable.
0

Featured Post

More Than Just A Video Library

Train for your certification. Learn the latest DevOps tools. Grow your skillset to do better work.

At Linux Academy, we release new training modules every week so you'll always be up to date on the latest tech.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
In this post we will learn different types of Android Layout and some basics of an Android App.
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.
Suggested Courses

664 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