2017-11-02 3 views
0

로컬 데이터베이스 (Postgres)에 연결하기 위해 JDBC를 처음 사용하려고하는데 실제로 연결을 만들 수 없습니다. 이건 내 코드입니다 :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!"); 
     } 
    } 

} 

그리고 이것은 내가 그것을 실행하려고 할 때 나타나는 오류입니다 : 내가 페도라를 사용

-------- 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 '';을 기억해 두십시오.

또한 로그인 정보를 하드 코딩하는 것은 매우 나쁜 생각입니다.

관련 문제