整个过程是这样的:之前的程序已经上线运行了。后来客户数据库升级,从sqlServer2005升级到sqlServer2008.当然系统也做了相应改动。我们是第三方软件,调用他们的数据库中的存储过程来查询数据。他们升级完系统和数据库之后,我们就查询数据报错。
然后最先报的错是驱动版本问题。我就到网上下了sqljdbc4.jar。替换了之后不再报驱动的问题。但是一直无结果集。于是我直接把调用存储过程的sql语句放到数据库中执行。是能查到结果的。然后,我又把sql语句换成一个简单的select语句。这下有结果集了。那么问题出在哪?该怎么改?
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
con = DriverManager.getConnection("jdbc:sqlserver://10.4.2.10:1433;databaseName=cmp_jxt_jmpt","jmpt_open","jmpt_open*1nl0#");
// proc_stmt = con.prepareCall(" exec dbo.Proc_Jmpt_ReturnTemp 'bmtz','"+sfzjh+"',5 ");
proc_stmt = con.prepareCall("select top 5 userId,loginTime,refreshtime from user_online_data");
// proc_stmt.setString(1, "bmtz");
// proc_stmt.setString(2, sfzjh);
// proc_stmt.setString(3, "5");
rs = proc_stmt.executeQuery();
while (rs.next()) {
String newsId = rs.getString("userId");
String title = rs.getString("loginTime");
String detName = rs.getString("refreshtime");
// String addDate = rs.getString("addDate");
// OA_BMTZ t = new OA_BMTZ();
// t.setNewsId(rs.getString("newsId"));
// t.setTitle(rs.getString("title"));
// t.setDetName(rs.getString("detName"));
// t.setAddDate(rs.getString("addDate"));
// list.add(t);
}
代码中可以看出我的修改轨迹。
问题出在哪,请大神指点迷经。