2011-12-17 145 views
0

我已经安装了postgresql 9.1 for Windows,但无法使用JDBC连接到它。我已经下载了JDBC jar文件并将其放在C:\ Program Files \ Java \ jre7 \ lib \ postgresql-9.1-901.jdbc4.jar中,我的CLASSPATH是:。; C:\ Program Files \的Java \ JRE6 \ LIB \分机\ QTJava.zip; C:\ Program Files文件\的Java \ jre7 \ LIB \ PostgreSQL相关9.1-901.jdbc4.jarPostgresql JDBC连接错误

这是我的Java代码来创建连接:

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.sql.ResultSet; 
import java.sql.ResultSetMetaData; 
import java.util.*; 
import java.io.*; 

public class CreateInsert extends Object { 
    public static void main (String args[]) { 

     //Create the connection 
     String driverName = "org.postgresql.Driver"; 
     String connectURL = "jdbc:postgresql://localhost/postgres"; 
     String USERNAME = "postgres"; 
     String PASSWORD = "password"; 
     Connection con = null; 
     try { 
      Class.forName("org.postgresql.Driver"); 
      con = DriverManager.getConnection(connectURL, USERNAME, PASSWORD); 
     } catch (ClassNotFoundException e) { 
      System.out.println("Error creating class: "+e.getMessage()); 
      System.out.println("The Driver was not found, Please check driver location, classpath, username/password and server url settings"); 
      System.exit(0); 
     } catch (SQLException e) { 
      System.out.println("Error creating connection: "+e.getMessage()); 
      System.exit(0); 
     } 
    } 
} 

而我得到的错误“错误创建类:org.postgresql.Driver”

任何想法有什么不对?

谢谢。

+1

实际使用的类路径取决于您如何执行应用程序。所以,多说一点。 – BalusC 2011-12-17 12:21:32

+0

我正在使用JCreator进行编译和运行。 – user1103418 2011-12-17 12:46:15

回答

3

I'm using JCreator to compile and run.

CLASSPATH环境变量只有当您使用java.exe命令时使用没有-cp,-classpath-jar参数。您用来执行Java应用程序的任何其他方式都会忽略此环境变量。这包括在Eclipse,Netbeans和JCreator等IDE内执行应用程序。

在IDE中,您需要将JAR放入项目中,并将其添加到“构建路径”(如果尚未由IDE自动完成),具体取决于项目结构。这通常是右键单击项目中的JAR并在上下文菜单中的某个地方选择“添加到构建路径”。

忘记使用CLASSPATH环境变量。这是Sun的错误。他们认为通过避免每次输入/java命令时输入-cp-classpath自变量来说服起动者。但它最终只会让初学者感到困惑,因为他们将该环境变量解释为“the” classpath。

+0

+1 for *忘记使用CLASSPATH * – 2011-12-17 13:02:33

0

问题是您使用的Classpath或驱动程序。 尝试运行此使用 - java命令C:\ Program Files文件\的Java \ jre7 \ LIB \ PostgreSQL相关9.1-901.jdbc4.jar CreateInsert

发送报告

+0

C:\ Users \ F \ Desktop \ Coursework> java -cp C:\ Program Files \ Java \ jre7 \ lib \ postgre sql-9.1-901.jdbc4.jar CreateInsert 错误:无法找到或加载主类文件\的Java \ jre7 \ LIB \ PostgreSQL的-9.1-901。 jdbc4.jar 我试过java CreateInsert,它似乎工作。将在几分钟内编辑。 – user1103418 2011-12-17 13:02:56

+0

使用java CreateInsert似乎工作。 感谢大家的帮助。 – user1103418 2011-12-17 13:13:59