jdbc 如何调用 sql server 的带输出cursor参数的存储过程?

baoqingfeng 2004-12-27 12:59:16
CallableStatement call =
m_conn.prepareCall("{? = call VipLogin(?,?,?,?,?,?,?,?)}",
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
call.registerOutParameter(1, Types.NUMERIC);

BigDecimal nPosID = new BigDecimal(szPosID);
BigDecimal nOperID = new BigDecimal(szOperID);
BigDecimal nOperPwd = new BigDecimal(szOperPwd);
BigDecimal nCardPwd = new BigDecimal(szCardPwd);


call.setBigDecimal(2, nPosID);
call.setBigDecimal(3, nOperID);
call.setBigDecimal(4, nOperPwd);
call.setString(5, szCardID);
call.setBigDecimal(6, nCardPwd);


call.registerOutParameter(7, Types.REF);
call.registerOutParameter(8, Types.INTEGER);
call.registerOutParameter(9, Types.DATE);
call.execute();


存储过程如下:
CREATE PROCEDURE VipCenter_VipLogin
@szPosID VARCHAR(21),
@szOperID VARCHAR(21),
@szOperPwd VARCHAR(21),
@szCardID VARCHAR(21),
@szCardPwd VARCHAR(21),
@retResultSet CURSOR VARYING output,--返回交易结果集
@nCardType int output,--返回卡类型
@stopDate datetime output--返回卡的到期时间
在执行到call.registerOutParameter(7, Types.REF);时就提示:
[Microsoft][SQLServer 2000 Driver for JDBC]The specified SQL type is not supported by this driver.
难道jdbc不支持sql server 的cursor,那我如何才能在sql server实现cursor output呢????
...全文
95 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
baoqingfeng 2004-12-27
  • 打赏
  • 举报
回复
没人这么用过吗?

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧