那说明你之前看漏了吧。 rs=sm.executeQuery("select*from gg"); 要有schema(或者理解为该表的所有者帐号名): rs=sm.executeQuery("select * from scott.gg");
但我用system时出现报错信息如下: ok ok java.sql.SQLException: ORA-00942: table or view does not exist at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:304) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:271) at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:622) at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:111) at oracle.jdbc.driver.T4CStatement.execute_for_describe(T4CStatement.java:350) at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:895) at oracle.jdbc.driver.T4CStatement.execute_maybe_describe(T4CStatement.java:382) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:985) at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1124) at student.main(student.java:18) Exception in thread "main" java.lang.NullPointerException at student.main(student.java:23) 但但我按你说的改为scott.gg就又不报错了 纠结死了撒
import java.sql.*;
public class student {
public static void main(String[]args) {
Connection ct=null;
Statement sm=null;
ResultSet rs=null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("ok");
ct=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:student","scott","m123");
System.out.println("ok");
sm=ct.createStatement();
try {
rs=sm.executeQuery("select*from gg");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
while(rs.next()){
System.out.println("id:"+rs.getString(2));
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(rs!=null){try {
rs.close();
if(sm!=null){sm.close();}
if(ct!=null){ct.close();}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}}
}
}
}
那说明你之前看漏了吧。
rs=sm.executeQuery("select*from gg");
要有schema(或者理解为该表的所有者帐号名):
rs=sm.executeQuery("select * from scott.gg");
ok
ok
java.sql.SQLException: ORA-00942: table or view does not exist at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:304)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:271)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:622)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:111)
at oracle.jdbc.driver.T4CStatement.execute_for_describe(T4CStatement.java:350)
at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:895)
at oracle.jdbc.driver.T4CStatement.execute_maybe_describe(T4CStatement.java:382)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:985)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1124)
at student.main(student.java:18)
Exception in thread "main" java.lang.NullPointerException
at student.main(student.java:23)
但但我按你说的改为scott.gg就又不报错了
纠结死了撒
rs=sm.executeQuery("select count(*) from scott.gg");
rs.next();
System.out.println("表记录数:" + rs.getString(1));
System.out.println("id:"+rs.getString(2));}
这里出问题了吧?
看着控制台打印错误,自己多看看找找问题