我用JAVA 连ORACLE 9.2.1 代码如下:
public static void main(String[] args) { Connection con = null;
PreparedStatement pstat = null;
ResultSet rs = null;
String sql;
try {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
con = DriverManager.getConnection(
"jdbc:oracle:thin:@172.29.254.188:1521:dbtest1", "scott",
"tiger");
if (con == null) {
System.out.println("NULL");
}
sql = "Select* from STUDENT";
pstat = con.prepareStatement(sql);
rs = pstat.executeQuery();
System.out.println("rs is " + rs);
while (rs.next()) { System.out.println(rs.getString("NAME"));
}
/* rs.absolute(1);
System.out.println(rs.getInt("NUMBER"));
System.out.println(rs.getString("NAME"));*/
/*
 * while(rs.next()){
 * 
 * System.out.println(rs.getString("NAME")); }
 */ } catch (SQLException e) {
System.out.println("Can't connect to db!");
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
rs.close();
pstat.close();
} catch (SQLException e) {
e.printStackTrace();
} }在别人机器上rs都能取到值,而在我这取不到 rs.next()报了
 ORA-01009: missing mandatory parameter
这个错误,不知道怎么回事,望高手帮忙解决一下;

解决方案 »

  1.   

    sql = "Select* from STUDENT";
    改成
    sql = "Select NAME from STUDENT";
      

  2.   

    http://www.itpub.net/thread-134614-1-1.html看下这个
      

  3.   

    sql = "Select* from STUDENT"; 这个地方要写成这样 
    select * from student
      

  4.   

    估计你的机器没有成功连接到oracle数据库服务器。
      

  5.   

    ORA-01009 missing mandatory parameterCause: A host language program call did not pass all required parameters.Action: Check the syntax for the call and enter all required parameters.
    检查你连接oracle时候传的参数,肯定有问题。
      

  6.   

    ORA-01009: missing mandatory parameter 
    传的参数有问题
      

  7.   

    你的select和*连在一起来,人家服务器不知道这个语句怎么执行了,当然告诉你缺少参数了