2017-03-16 38 views
0

蔭試圖連接與posgres硒和下面的錯誤硒與PostgreSQL的顯示

FAILED: selectQuery org.postgresql.util.PSQLException: ERROR: relation "login" does not exist

我的代碼如下

package Posgress;

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

import org.testng.annotations.Test; @Test public class PosgressTest { public static void selectQuery() throws SQLException, ClassNotFoundException {

//Load MySQL JDBC Driver 
    Class.forName("org.postgresql.Driver"); 
    Connection connection = null; 
    connection = DriverManager.getConnection(
     "jdbc:postgresql://localhost:5432/DIC","postgres", "root"); 

    Statement st = connection.createStatement(); 
    System.out.println("Connection"); 
    String selectquery = "Select * from Login"; 
    System.out.println("Connection1"); 
    //Executing the SQL Query and store the results in ResultSet 
    ResultSet rs = st.executeQuery(selectquery); 
    //While loop to iterate through all data and print results 
    while (rs.next()) { 
     System.out.println(rs.getString("username")); 
     System.out.println(rs.getString("password")); 
    } 
    //Closing DB Connection 
    connection.close();  } } 

我有一個表「登錄內部架構「DICschema」。我寫的選擇這樣的查詢還從「選擇DICschema.Login *」,那麼也同樣的錯誤

enter image description here

回答

0

看來postgres用戶無法訪問DIC模式。 嘗試將前綴(模式)名稱附加到查詢中。

+0

我給這樣也「從DICschema.Login選擇*」 .Same錯誤我 – Vishnu

+0

是否Postgres的用戶可以訪問DICschema? – pesky

+0

如何讓previllages訪問架構給用戶? – Vishnu

1

您應該將表重命名爲「登錄」,架構爲「dicschema」,而不是「登錄」和「DICschema」。因爲查詢將忽略文本的情況。 查詢會像: 「選擇從dicschema.login *」

+0

非常感謝你。改變名稱和它的作品。 – Vishnu