public static void addRecord() throws Exception {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:orcl", "SYSTEM", "manager");
String sql = "insert into sys.tbl_user values(?,?,?,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "3");
pstmt.setString(2, "3");
pstmt.setString(3,"3");
pstmt.setInt(4, 3);
pstmt.executeUpdate(); 这是第18行
pstmt.close();
conn.close();
}
这是用JDBC往数据库里写数据,可老报表不存的错误
Exception in thread "main" java.sql.SQLException: ORA-00942: 表或视图不存在 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1451)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:862)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1846)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1771)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2361)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:422)
at JdbcTest.addRecord(JdbcTest.java:18)
at JdbcTest.main(JdbcTest.java:50)
但我在SQL Puls 用同样的SQL语句写数据,就能写进去
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:orcl", "SYSTEM", "manager");
String sql = "insert into sys.tbl_user values(?,?,?,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "3");
pstmt.setString(2, "3");
pstmt.setString(3,"3");
pstmt.setInt(4, 3);
pstmt.executeUpdate(); 这是第18行
pstmt.close();
conn.close();
}
这是用JDBC往数据库里写数据,可老报表不存的错误
Exception in thread "main" java.sql.SQLException: ORA-00942: 表或视图不存在 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1451)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:862)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1846)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1771)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2361)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:422)
at JdbcTest.addRecord(JdbcTest.java:18)
at JdbcTest.main(JdbcTest.java:50)
但我在SQL Puls 用同样的SQL语句写数据,就能写进去
解决方案 »
- 用java代码给数据库表添加新的一列
- private不是私有的吗? 子类继承了他为什么还可以传值给private
- www.jhost.cn 支持ssh,mysql,php免费空间 邀请码更新
- 求助:如何 用java解压Unix命令 compress 压缩的压缩文件(.z格式)
- mysql中如何写可以设置一个INT型字段为自动增加
- JavaBean有什么神奇的,哼!!!!!!!!!!
- 各位大虾 java API你是怎样学的 谈谈你的心得
- 如何判断jTable是否为空
- jsp+servlet+Ejb.....
- 启动J2EE中的错误问题(J2EE1.4 beta)
- 求助:关于线程组的控制
- 怎么用java 代码读取 google Calander的日历和日程提醒信息!急!
字段ID,name,pwd,type创建时没写表空间,直接创建到SYS里去了crrate table tbl_user(
id.........,
name ......,
pwd ......,
type .....
);
public static void queryRecord() throws Exception{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:orcl", "SYSTEM", "manager");
String sql = "select * from sys.tbl_user";
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
while(rs.next()){
String id = rs.getString("id");
String name = rs.getString("name");
String pwd = rs.getString("pwd");
int type = rs.getInt("type");
System.out.println ("id="+id+",name="+name+",pwd="+pwd+",type="+type);
}
pstmt.close();
rs.close();
conn.close();
你给你的用户分配一个DBA权限 然后在user表空间重新建个表 再试试