我試圖將netbeans連接到我的postgresql數據庫。連接似乎已經工作了,因爲在連接時我沒有任何錯誤或異常,getCatalog()等方法也會返回正確的答案。Java SQL「錯誤:關係」Table_Name「不存在」
但是,當我嘗試運行一個簡單的SQL語句時,出現錯誤「ERROR:relation」TABLE_NAME「不存在」,其中TABLE_NAME是我在數據庫中存在的表中的任何一個。這裏是我的代碼:
Statement stmt = con.createStatement();
ResultSet rs;
String query = "SELECT * FROM clients";
rs = stmt.executeQuery(query);
我在想,NetBeans的可能不被發現的表,因爲它不是在默認模式(公共)看,有沒有設置在Java架構的一種方式?
編輯:我的連接代碼。數據庫名稱是Cinemax,當我省略語句代碼時,我沒有任何錯誤。
String url = "jdbc:postgresql://localhost:5432/Cinemax";
try{
try {
Class.forName("org.postgresql.Driver");
} catch (ClassNotFoundException cnfe) {
System.err.println("Couldn't find driver class:");
cnfe.printStackTrace();
}
Connection con = DriverManager.getConnection(url,"postgres","desertrose147");
難道你不能用這種方式重寫sql嗎? 'SELECT * FROM .clients' –
CoolBeans
2011-04-23 18:37:58
您沒有顯示如何連接到數據庫服務器。我懷疑@CoolBeans是正確的還是非常接近的。您的表格位於不同的架構中(上述內容將修復),或者在您連接時指定的另一個數據庫中。 – 2011-04-23 20:14:55
我喜歡這個......你能告訴我們你有什麼真正的錯誤嗎?當您執行「select * from clients」時,我認爲數據庫不會說「關係TABLE_NAME ...」。 – 2011-04-23 20:20:09