2011-12-17 117 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