2017-11-02 16 views
0

私は初めてJDBCを使ってローカルデータベース(Postgres)に接続しようとしていますが、実際には接続できていないようです。これは私のコードです:Postgresデータベースへの接続に失敗しました

import java.sql.DriverManager; 
import java.sql.Connection; 
import java.sql.SQLException; 

public class JDBCExample { 

    public static void main(String[] argv) { 

     System.out.println("-------- PostgreSQL " 
       + "JDBC Connection Testing ------------"); 

     try { 

      Class.forName("org.postgresql.Driver"); 

     } catch (ClassNotFoundException e) { 

      System.out.println("Where is your PostgreSQL JDBC Driver? " 
        + "Include in your library path!"); 
      e.printStackTrace(); 
      return; 

     } 

     System.out.println("PostgreSQL JDBC Driver Registered!"); 

     Connection connection = null; 

     try { 

      connection = DriverManager.getConnection(
        "jdbc:postgresql://localhost:5432/training", "iam47662285", 
        "MY56KZDZ"); 

     } catch (SQLException e) { 

      System.out.println("Connection Failed! Check output console"); 
      e.printStackTrace(); 
      return; 

     } 

     if (connection != null) { 
      System.out.println("You made it, take control your database now!"); 
     } else { 
      System.out.println("Failed to make connection!"); 
     } 
    } 

} 

そして、これは私がそれを実行しようとしたときに表示されるエラーです:私はFedoraのを使用

-------- PostgreSQL JDBC Connection Testing ------------ 
PostgreSQL JDBC Driver Registered! 
Connection Failed! Check output console 
Nov 02, 2017 4:36:52 PM org.postgresql.Driver connect 
SEVERE: Connection error: 
org.postgresql.util.PSQLException: FATAL: password authentication failed for user "iam47662285" 
    at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:438) 
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:222) 
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) 
    at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:194) 
    at org.postgresql.Driver.makeConnection(Driver.java:450) 
    at org.postgresql.Driver.connect(Driver.java:252) 
    at java.sql.DriverManager.getConnection(DriverManager.java:664) 
    at java.sql.DriverManager.getConnection(DriverManager.java:247) 
    at UF2.Pruebas.BDR_BDOO.JDBCExample.main(JDBCExample.java:33) 

org.postgresql.util.PSQLException: FATAL: password authentication failed for user "iam47662285" 
    at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:438) 
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:222) 
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) 
    at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:194) 
    at org.postgresql.Driver.makeConnection(Driver.java:450) 
    at org.postgresql.Driver.connect(Driver.java:252) 
    at java.sql.DriverManager.getConnection(DriverManager.java:664) 
    at java.sql.DriverManager.getConnection(DriverManager.java:247) 
    at UF2.Pruebas.BDR_BDOO.JDBCExample.main(JDBCExample.java:33) 

、それが関連するかどうかはわかりません。誰もがなぜこのようなことが起こっているのか分かりません。

+3

メッセージがクリアされています:「ユーザーのパスワード認証に失敗しました」「iam47662285」 '私のため – Jens

+0

はい、パスワードをユーザーに割り当てる必要があったようです –

答えて

3

ユーザー名/パスワードは、次のコードに誤りがあります:

 connection = DriverManager.getConnection(
       "jdbc:postgresql://localhost:5432/training", "iam47662285", 
       "MY56KZDZ"); 

手動PSQLと正しいユーザ名/パスワードが何であるかを確認するためにログインします。必要ならば覚えておいてください。ALTER USER "xxxx" WITH PASSWORD '';

また、ログインの詳細をハードコードすることは非常に悪い考えです。

関連する問題