Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 314
  • Last Modified:

Java file won't connect to DB

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
GregMacken
Asked:
GregMacken
  • 11
  • 7
  • 5
  • +1
1 Solution
 
CEHJCommented:
Change

>>e.toString();


to

e.printStackTrace();

and let us know the output
0
 
GregMackenAuthor Commented:
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
 
CEHJCommented:
Make sure the driver is in your classpath. Best thing is to put the jar into all your lib/ext directories
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
GregMackenAuthor Commented:
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
 
CEHJCommented:
I thought you were trying to run this as an app? If a webapp, put it into your WEB-INF/lib
0
 
objectsCommented:
put your jar in <webapp>/WEB-INF/lib
0
 
GregMackenAuthor Commented:
there seems to be no lib folder in webapps/web-inf
0
 
CEHJCommented:
There should be. It's WEB-INF/lib of your webapp
0
 
objectsCommented:
> webapps/web-inf

not webapps, the WEB-INF folder inside your web application root directory.
0
 
CEHJCommented:
(i.e. of each individual webapp)
0
 
GregMackenAuthor Commented:
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
 
CEHJCommented:
It's the lib/ext of your Java runtime and SDK that i mean not Tomcat
0
 
CEHJCommented:
(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
 
objectsCommented:
> Should I be setting the classpath?

yes you can add the jar file to your CLASSPATH.
0
 
GregMackenAuthor Commented:
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
 
CEHJCommented:
It's lib\ext

not lib
0
 
CEHJCommented:
It should also go in lib\ext of the runtime too
0
 
objectsCommented:
> 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
 
GregMackenAuthor Commented:
it worked....... I placed the jar file in jre\lib\ext  as you suggested

thanks.. sorry I'm slow on the uptake
0
 
greenlantern0Commented:
I think if you change the classpath.. you may want to restart tomcat for it to take effect.
0
 
CEHJCommented:
>>thanks.. sorry I'm slow on the uptake

No problem.
0
 
GregMackenAuthor Commented:
thanks all: -}
0
 
CEHJCommented:
An alternative would be to set the classpath to the jar (inclusive) as an *environment* variable.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 11
  • 7
  • 5
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now