aspose file tools*
The moose likes JDBC and the fly likes Derby connection problem... Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Databases » JDBC
Bookmark "Derby connection problem..." Watch "Derby connection problem..." New topic
Author

Derby connection problem...

james hagbard
Greenhorn

Joined: Sep 27, 2009
Posts: 8
Hi there

I am working on a project for a class I am taking and I am having a problem with making the JDBC connection to my JavaDB aka Derby database.

At run time I am getting
could not connect
java.lang.ClassNotFoundException: org.apache.derby.jdbc.ClientDriver
<snipped for brevity>
at excelfileparser.DB.dbConnect(DB.java:23)
at excelfileparser.Main.main(Main.java:22)


From my reading, searching and pulling my hair out, it seems that its a classpath issue.

I am using ubuntu 9.04 (Jaunty) and Netbeans

Here are the relevent lines from my .bashrc

export PATH=$PATH:/usr/share/javadb/bin/
export DERBY_HOME=/usr/share/javadb
CLASSPATH=.:/home/james/SUNWappserver/javadb/lib
export CLASSPATH

I found the derbyclient.jar in two places
/home/james/sges-v3-prelude/javadb/lib

and

/home/james/SUNWappserver/javadb/lib

In netbeans I can make the connection to the database without any issue by using the gui tool, however, we are learning how to do this 'manually' and the boilerplate code generated by Netbeans doesn't really make this connection obvious.

Any help would be appreciated!

-James
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42950
    
  71
CLASSPATH=.:/home/james/SUNWappserver/javadb/lib

I generally advise not to use the CLASSPATH environment setting, but to use an explicit "-classpath" switch on the command line - I find it easier to use, although that's more of a personal preference than a hard and fast rule.

The problem here is that "/home/james/SUNWappserver/javadb/lib" is a directory, and you seem to assume that jar files inside of directories will be added to the classpath. But that's not the case - you need to add the individual jar files to the classpath. Something like "CLASSPATH=.:/home/james/SUNWappserver/javadb/lib/derbyclient.jar" may do the trick.
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 40061
    
  28
I think there is a better reason than "personal preference" against using a system CLASSPATH. Each application will require a different CLASSPATH entry, so the environment variable will rapidly become cluttered, and difficult to maintain. Deleting or editing part of the CLASSPATH may cause other applications to fail. If each application maintains its own CLASSPATH maintenance is much easier.
james hagbard
Greenhorn

Joined: Sep 27, 2009
Posts: 8
I got this one figured out actually.

It was simply a setting I needed to make in NetBeans.
I feel silly...
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Derby connection problem...