public class Db2Test {
public static void main(String[] args) throws Exception {
Class.forName("com.ibm.db2.jcc.DB2Driver");
Connection conn = DriverManager.getConnection("jdbc:db2://localhost:50000/sample", "db2admin", "db2admin");
ResultSet rs = conn.createStatement().executeQuery("select count(*) from STAFF");
rs.next();
int count = rs.getInt(1);
System.out.println(count);
rs.close();
conn.close();
}
}
出现如下错误:
Exception in thread "main" com.ibm.db2.jcc.am.io: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=DB2ADMIN.STAFF, DRIVER=3.57.82
at com.ibm.db2.jcc.am.bd.a(bd.java:676)
at com.ibm.db2.jcc.am.bd.a(bd.java:60)
at com.ibm.db2.jcc.am.bd.a(bd.java:127)
at com.ibm.db2.jcc.am.km.c(km.java:2506)
at com.ibm.db2.jcc.am.km.d(km.java:2483)
at com.ibm.db2.jcc.am.km.a(km.java:1963)
at com.ibm.db2.jcc.t4.db.g(db.java:139)
at com.ibm.db2.jcc.t4.db.a(db.java:39)
at com.ibm.db2.jcc.t4.t.a(t.java:32)
at com.ibm.db2.jcc.t4.sb.h(sb.java:135)
at com.ibm.db2.jcc.am.km.eb(km.java:1934)
at com.ibm.db2.jcc.am.km.a(km.java:2863)
at com.ibm.db2.jcc.am.km.a(km.java:628)
at com.ibm.db2.jcc.am.km.executeQuery(km.java:612)
at hello.Db2Test.main(Db2Test.java:11)
将jdbc url改成"jdbc:db2://localhost:50000/sample:retrieveMessagesFromServerOnGetMessage=true;"
这时会提示比较详细的错误信息:
Exception in thread "main" com.ibm.db2.jcc.am.io: "DB2ADMIN.STAFF" is an undefined name..
我们启动db2数据库然后对数据库进行各种操作。比如建sample数据库,默认的schema难道不db2admin吗???不是的,通过以下sql查看当前的schema