ClassNotFoundException с PostgreSQL и JDBC
У меня возникли трудности с установлением соединения с Java и базой данных PostgreSQL. Я скачалДрайвер JDBC4 Postgresql, версия 9.2-1002 драйвер и правильно установить приложение ClassPath. Мой код как под
import java.sql.*;
public class JavaPostGreSQLConnectivity
{
public static void main(String[] args)
{
DB db = new DB();
db.dbConnect("jdbc:postgresql://127.0.0.1:5432/TestDB", "postgres","pwd");
}
}
class DB
{
public DB() {}
public void dbConnect(String db_connect_string, String db_userid, String db_password)
{
try
{
Class.forName("org.postgresql.Driver");
Connection conn = DriverManager.getConnection(db_connect_string, db_userid, db_password);
System.out.println("connected");
}
catch (Exception e)
{
e.printStackTrace();
}
}
};
При запуске я получаю ошибку ниже
Это жалуется на
Class.forName ( "org.postgresql.Driver");
Если так, то каким будет имя водителя? Тем не менее, я последовалэто для моей учебной цели.
Тем не менее, если я делаю
C:\Program Files (x86)\Java\jdk1.7.0\bin>java -cp C:\Users\pos
tgresql-9.2-1002.jdbc4.jar; JavaPostGreSQLConnectivity
connected
Это работает. Почему мне нужно еще раз явно упомянуть драйвер, когда я правильно поместил его в путь к классам? Есть ли альтернативный способ (я просто хочу поместить файл JAR в Classpath, и программа должна читать оттуда)?
заранее спасибо