2011-12-17 15 views
0

Windows用のpostgresql 9.1をインストールしましたが、JDBCを使用して接続できません。PostgreSQL JDBC接続エラー

JDBC jarファイルをダウンロードしてC:¥Program Files¥Java¥jre7¥lib¥postgresql-9.1-901.jdbc4.jarに配置しました。CLASSPATHはC:\ Program Files \ Javaの\ jre6に\ libに\ \ QTJava.zip EXT; C:\プログラムファイル\のJava \ jre7 \ libに\ postgresqlの-9.1-901.jdbc4.jar

これは、接続を作成するために私の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

+0

JCreatorを使用してコンパイルして実行しています。 – user1103418

答えて

3

I'm using JCreator to compile and run.

を送信環境変数は、java.exeコマンド-cp-classpathおよび-jar引数を使用しない場合は、のみ使用されます。 Javaアプリケーションを実行するために使用する方法は、この環境変数を無視します。これには、Eclipse、Netbeans、JCreatorなどのIDE内でアプリケーションを実行することが含まれます。

IDEでは、JARをプロジェクトにドロップし、プロジェクトの構造に応じてIDEで自動的に実行されない場合は、「ビルドパス」に追加する必要があります。これは、プロジェクトのJARを右クリックし、コンテキストメニューのどこかにある「ビルドパスに追加」を選択することが多いです。

CLASSPATH環境変数の使用については忘れてください。 Sunの間違いでした。彼らはjavac/javaコマンドのたびに、-cpまたは-classpathの引数を入力することを避けて、初心者に納得させると考えました。しかし、それはその環境変数を"クラスパス"と解釈するので、スターターにとって紛らわしいだけです。

+0

+1 * CLASSPATHの使用を忘れる* –

0

問題は、クラスパスまたは使用しているドライバです。 使ってこれを実行してみ - のjava -cpのC:CLASSPATHを\プログラムファイル\の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

+0

java CreateInsertを使用しているようです。 ご協力ありがとうございます。 – user1103418