2013-12-10 246 views
0

我在本地機器上安裝了DB2,並創建了一個具有列名稱的表Users。com.ibm.db2.jcc.am.SqlSyntaxErrorException

從我的門戶我執行一個簡單的SELECT語句:

Class.forName("com.ibm.db2.jcc.DB2Driver"); 
    String dburl = "jdbc:db2://localhost:50001/Portlets"; 
    conn = DriverManager.getConnection(dburl,"db2admin","password"); 
    String selectTableSQL = "SELECT Name from Users"; 
    statement = conn.createStatement(); 
ResultSet rs = statement.executeQuery(selectTableSQL); 

當我執行此我得到以下異常:

com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=DB2ADMIN.USERS, DRIVER=3.62.56. 

我不明白爲什麼我得到這個例外。堆棧跟蹤中也沒有多少東西。

回答

2

消息中的SQLCODE告訴你實際的錯誤消息。 -204是你正在尋找的錯誤。如果您交叉引用Information Center article about -204,你會看到以下消息:

是一個未定義的名稱。

如果你在你的異常回頭看,你看 = DB2ADMIN.USERS(在SQLERRMC場)。

我的猜測是,您沒有找到任何東西,因爲您忘記將Schema追加到您的表中(DB2ADMIN部分在錯誤消息中被假定,因爲那是您的登錄名)。

+0

我真的解決了這個問題。奇怪的是,我用我的域名Sachin.Jain製作了一張表格,但後來我將所有權限授予db2admin,如select insert sql commands,即使如此也無法訪問數據庫。所以我終於用db2admin用戶登錄,然後創建了表並且它工作。 –

相關問題