I recently upgrade from Postgresql 7.3 to 7.4. Of course, I am using the
new jdbc driver.
When I log into my Unix machine under one account, the driver works
great and I connect to the database with no trouble. When I log into the
machine under a different user, I get a ClassNotFoundException.
I've examined my postgresql configuration, permissions, etc., and it
appears to be identical to my 7.3 config, which worked fine.
Any ideas on what is happening? Thanks...
Simple test case follows:
--------- DataBase.java --------
import java.io.*;
import java.sql.*;
public class DataBase
{
public static void main(String args[])
{
try {
Class.forName("org.postgresql.Driver");
} catch (ClassNotFoundException cnfe) {
System.err.println("Couldn't find driver class:");
cnfe.printStackTrace();
}
System.out.println("Testing");
}
}
-------- Example of problem -------
chris:~/test> export CLASSPATH=/usr/local/jdk1.4.2/jre/lib/rt.jar:.:pg74.214.jdbc3.jar; java DataBase
Testing
chris:~/test> su fred
Password:
fred:/home/chris/test> export CLASSPATH=/usr/local/jdk1.4.2/jre/lib/rt.jar:.:pg74.214.jdbc.jar; java DataBase
Couldn't find driver class:
java.lang.ClassNotFoundException: org.postgresql.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 DataBase.main(DataBase.java:11)
Testing
fred:/home/chris/test>
--
Christopher Farley
www.northernbrewer.com