jpa调用过程db2

时间:2018-07-22 11:03:26

标签: jpa db2 procedure

伙计们,我在 DB2 中有一个过程,我正在尝试使用jpa hibernate调用它,但是我遇到了错误。

依赖专家是:

<dependency>
      <groupId>com.ibm.db2</groupId>
      <artifactId>db2jcc4</artifactId>
      <version>10.5</version>
</dependency>

Jpa

StoredProcedureQuery storedProcedure = entityManager.createStoredProcedureQuery("GL.GLMAPOUT");
storedProcedure.registerStoredProcedureParameter("O_ERROR", Integer.class, ParameterMode.OUT);
storedProcedure.execute();

gc1glcostctrmaps = (List<ProdureDto>) storedProcedure.getResultList();

输出:

Hibernate: 
    {call GL.GLMAPOUT(?)}
2018-07-22 15:30:21.397  WARN 13916 --- [nio-8082-exec-4] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: -4472, SQLState: null
2018-07-22 15:30:21.414 ERROR 13916 --- [nio-8082-exec-4] o.h.engine.jdbc.spi.SqlExceptionHelper   : [jcc][10453][12710][3.68.61] Cannot get the describe information for the calling stored procedure with name GLMAPOUT and path ' SYSIBM , SYSFUN , SYSPROC , GLDEV ' ERRORCODE=-4472, SQLSTATE=null

但是在 Data Studio 中就可以了

enter image description here

1 个答案:

答案 0 :(得分:0)

如果Db2服务器在Z / OS上运行,则需要将Db2 jdbc驱动程序从其当前的V10.5.0.4级别(jdbc 3.0驱动程序版本3.68.61)升级到更高版本,以解决已知的错误。

此错误似乎已在驱动程序3.69.24及更高版本中修复。

从此site下载适用于您的Db2客户端的最新修订包。