点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我在HANA(带有本地VM上的应用程序的Express Edition 2)上创建了以下过程:
创建过程MYDB.UNIVERSITY.TestProc(out_students MYDB.UNIVERSITY.TT_STUDENTS) 语言SQLSCRIPT SQL安全调用程序读取SQL数据为 开始 out_students =来自MYDB.UNIVERSITY.STUDENT的SELECT NAME,FIRST_NAME和SEMESTERS; END;
现在,我想调用它并使用JDBC获得参数" out_students"的结果。 据我所知,我可以使用" CallableStatement"类调用过程,并使用其" registerOutParameter"方法在特定位置注册输出参数。 这是相关的代码段:
CallableStatement stmt = connection.prepareCall(" {CALL MYDB.UNIVERSITY.TestProc(?)}");; stmt.registerOutParameter(1,Types.STRUCT," MYDB.UNIVERSITY.TT_STUDENTS"); stmt.execute();
但是,出现以下错误:
查询失败:SAP DBTech JDBC:无效的参数索引:1
com.sap.db.jdbc.exceptions.JDBCDriverException:SAP DBTech JDBC:无效的参数索引:1
com.sap.db.jdbc.exceptions.SQLExceptionSapDB.newInstance(SQLExceptionSapDB.java:26)
处的com.sap.db.jdbc.exceptions.SQLExceptionSapDB._newInstance(SQLExceptionSapDB.java:191)
HANAConnector.main(HANAConnector.java :)上的sap.db.jdbc.PreparedStatementSapDB._registerOutParameter(PreparedStatementSapDB.java:2357)
在com.sap.db.jdbc.CallableStatementSapDB.registerOutParameter(CallableStatementSapDB.java:708)
32)
将输出参数的类型更改为原始类型可以很好地工作,因此自定义类型必须存在一些问题。
表键入的参数映射到JDBC结果集,而不是JDBC输出参数。
一个例子可能像这样:
嗨, Luca Toldo ,
该实用程序功能只是我所需要的 快速编写,以便为我的测试/调试目的提供可读的输出。 由于我并不为那段代码感到特别自豪(甚至还没有半断 )我不会在这里放置它。
无论如何我都会回复您的电子邮件...
干杯
啦
嗨,你能分享吗
一周热门 更多>