2012-03-19 1126 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

請的方式,更容易閱讀的格式代碼。 – 2012-03-19 05:22:30

回答

1

的erroe意味着表state_master未在用戶(數據庫)postgres的存在。檢查您是否在數據庫中創建了表state_master。如果不是先創建表格,然後嘗試執行該程序。

+0

是的,我的表在我的數據庫 我已經檢查了100倍 – ASH 2012-03-19 05:54:35

+0

第二名稱也是相同的「state_master」。 – ASH 2012-03-19 05:55:14

+0

我發現了這個問題。 當I M寫入連接字符串 的DriverManager.getConnection( 「JDBC:在PostgreSQL://本地主機:5432:secc_db」, 「postgres的」, 「NIC @ 123」); 控制器不進入我指定的數據庫,但去了默認的數據庫,它被命名爲postgres ,但我不知道爲什麼它正在攻絲...... – ASH 2012-03-19 06:47:59

1

你的連接網址是不正確的。您正在使用冒號(:)來指定數據庫。 這應該是一個斜槓(/),如:"jdbc:postgresql://localhost:5432/secc_db"