2012-03-19 3 views
-2

저는 postgres 데이터베이스와 "state_master"라는 테이블이 있습니다. 나는이 테이블에서 다음 코드로 데이터를 가져온다.데이터베이스 오류 : 관계가 없습니다.

import java.sql.*; 

public class Test1 
{  

    public static void main(String... s1) 
    { 
     try{ 

       Class.forName("org.postgresql.Driver"); 
       Connection con = DriverManager.getConnection("jdbc:postgresql://localhost:5432:secc_db","postgres", password"); 
       Statement s = con.createStatement(); 
       ResultSet rs = s.executeQuery("Select * from state_master"); 


       }catch(SQLException e){ System.out.println(e);} 

       catch(Exception i){System.out.println(i);} 

     } 
     } 

나는 모두 오류 : relation state_master does not exist입니다. 이 문제를 해결하도록 도와주세요.

+2

코드를 쉽게 읽을 수있는 형식으로 지정하십시오. –

답변

1

erroe는 state_master 테이블이 사용자 (데이터베이스) 포스트그레스에 존재하지 않음을 의미합니다. 데이터베이스에 state_master 테이블이 생성되었는지 여부를 확인하십시오. 처음 테이블을 만들지 않으면 프로그램을 실행하십시오.

+0

예 데이터베이스에 테이블이 있습니다 100 번 확인했습니다 – ASH

+0

이름도 "state_master"와 같습니다. – ASH

+0

문제를 발견했습니다. 연결 문자열을 쓸 때 DriverManager.getConnection ("jdbc : postgresql : // localhost : 5432 : secc_db", "postgres", "nic @ 123"); 컨트롤러는 내가 지정한 데이터베이스에 들어 가지 않지만 postgres라는 기본 데이터베이스로 이동합니다 하지만 왜 그것이 작동하고 있는지 knw ... – ASH

1

연결 URL이 잘못되었습니다. 콜론 (:)을 사용하여 데이터베이스를 지정합니다. 다음과 같은 슬래시 (/) 여야합니다. "jdbc:postgresql://localhost:5432/secc_db"

관련 문제