超级难题:java.sql.SQLException: ORA-00903: invalid table name

palosky 2009-09-19 09:43:58
兄弟们好 看代码:

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方案下的 所以才出了这个异常
谁能帮忙修改以下!谢谢……
...全文
605 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
palosky 2009-09-20
  • 打赏
  • 举报
回复
大家都错了 应该这样
private final static String user="sys as sysdba";
lxxzhy 2009-09-20
  • 打赏
  • 举报
回复
String sql = "insert into 'system'.'user' values(?,?)";

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

rumlee 2009-09-19
  • 打赏
  • 举报
回复
既然是建在sys方案下,为什么还用system.user访问,你用sys.user访问啊。

测试代码也应该自己建个用户吧,怎么直接就用sys和system用户来搞,这好像不是一个好习惯。

数据库连接用过后也不关闭,你这一个main方法是不会有什么问题,如果放在一个企业级的应用中,你的程序很快就挂了。
xqh2168 2009-09-19
  • 打赏
  • 举报
回复
表要属于那个用户才行

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧