oracle一个很简单的问题!!
我以前没有用过oracle,只用了sqlserver,mysql ,刚接触oracle 有点不习惯。
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:ORCL", "root", "root");
String sql = "insert into stu(id,name,intrest) values(seq.nextval,?,?)";
PreparedStatement pst = conn.prepareStatement(sql);
pst.setString(1, "11");
pst.setString(2, "123");
pst.executeUpdate();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
报错:ORA-00904: "INTREST": 标识符无效
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:213)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:952)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1160)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3368)
at demo1.inserted(demo1.java:25)
at demo1.main(demo1.java:11)
上述代码,仅供测试!!不是很规范,但是语法是没有错误的!很奇怪我用sys这个用户登录,操作。它又报这个错:
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:283)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:278)