兄弟们好 看代码:private final static String user="system";
private final static String password="chenwei";
private final static String url="jdbc:oracle:thin:@localhost:1521:orcl";
private final static String className="oracle.jdbc.driver.OracleDriver";

public static void main(String[] args) {
System.out.println(insert("chenwei","1234"));
}

public static Connection getConnection(){
Connection con=null;
try {
Class.forName(className);
con=DriverManager.getConnection(url, user, password);
} catch (Exception e) {
e.printStackTrace();
}
return con;
}

public static boolean insert(String userName, String password) {
boolean flag = false;
String sql = "insert into 'system'.'user' values(?,?)";
Connection con = null;
PreparedStatement ps = null;
try {
con = getConnection();
ps = con.prepareStatement(sql);
ps.setString(1, userName);
ps.setString(2, password);
int count = ps.executeUpdate();
flag = count > 0 ? true : false;
} catch (Exception e) {
e.printStackTrace();
}
return flag;
}
出现以下异常:
java.sql.SQLException: ORA-00903: invalid table name
我用system登录的 但是user表是建在sys方案下的 所以才出了这个异常 
谁能帮忙修改以下!谢谢……

解决方案 »

  1.   

    既然是建在sys方案下,为什么还用system.user访问,你用sys.user访问啊。测试代码也应该自己建个用户吧,怎么直接就用sys和system用户来搞,这好像不是一个好习惯。数据库连接用过后也不关闭,你这一个main方法是不会有什么问题,如果放在一个企业级的应用中,你的程序很快就挂了。
      

  2.   

    String sql = "insert into 'system'.'user' values(?,?)";String sql = "insert into system.user values(?,?)";
      

  3.   

    大家都错了 应该这样
    private final static String user="sys as sysdba";