1

我有一个 java 类,我从该类连接到远程机器上的 SQL Server 2008。我可以使用一个类检索数据,这意味着连接工作正常。但是当我尝试运行存储过程时,它给了我

com.microsoft.sqlserver.jdbc.SQLServerException 异常 - 无效的 JDBC 数据类型 -10。

找到下面的代码。谁能帮我这个?我已将sqljdbc, sqljdbc4jar 添加到我的类构建路径中。

CallableStatement cs=null;
con = SqlConnectionManager.getConnection();
cs = con.prepareCall("{call dbo.PKG_ER_SEL.sp_ERGetJobCode(?,?,?)}");
cs.setInt(1, orgId);//v_org
cs.setString(2, compCode);//v_type
cs.registerOutParameter(3, OracleTypes.CURSOR); //getting exception here
cs.executeUpdate(); 
ResultSet resultSet = (ResultSet) cs.getObject(3);
if (resultSet != null) {
    while ( resultSet.next() ) {
    JobVO  obj = new JobVO();
                                  obj.setCode(resultSet.getString("CODE"));
                             obj.setName(resultSet.getString("NAME"));
     seqAttList.add(obj);
    }
    resultSet.close();
    }
    }catch(Exception e){
e.printStackTrace();
}finally{
SqlConnectionManager.releaseConnection(con);
 }

谢谢

4

1 回答 1

0

executeQuery在 JAVA 中,从对Statement对象的调用中获取 ResultSet 。ResultSet 实例相当于 T-SQL 中的 CURSOR。在此处阅读有关使用 ResultSet的更多信息。

对于 SQL Server,您调用/执行存储过程,详见此处。一个简单的例子是EXECUTE my_stored_procedure如果您的存储过程被调用my_stored_procedure

于 2013-06-08T05:22:23.293 回答