gpt4 book ai didi

java - 从 java 调用存储过程时出错 - 无效的 JDBC 数据类型 -10

转载 作者:行者123 更新时间:2023-12-01 04:38:29 26 4
gpt4 key购买 nike

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

Exception as com.microsoft.sqlserver.jdbc.SQLServerException - Invalid JDBC data type -10.

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

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);
}

谢谢

最佳答案

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

对于 SQL Server,您可以按照详细信息调用/执行存储过程 here 。如果您的存储过程名为 my_stored_procedure,则一个简单的示例是 EXECUTE my_stored_procedure

关于java - 从 java 调用存储过程时出错 - 无效的 JDBC 数据类型 -10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16993854/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com