【问题标题】:Hana Parameterised stored proc issue simple jdbc templateHana 参数化存储过程问题简单 jdbc 模板
【发布时间】:2016-12-25 06:18:13
【问题描述】:

看起来 jdbc 模板在调用存储过程时没有将参数传递给 hana db。 根据我们的分析,spring jdbc 实现不会从元数据中识别过程参数。 .我们使用标准代码调用proc。

simpleJdbcCall = new SimpleJdbcCall(datasource).withSchemaName(getSchemaString())
                        .withProcedureName(name);
                results = simpleJdbcCall.execute(params);

我们尝试搜索网络但找不到令人满意的解决方案 我也试过设置参数明确

simpleJdbcCall = new SimpleJdbcCall(datasource).withSchemaName(getSchemaString())
       .withProcedureName(name);
     SqlParameterSource in = new MapSqlParameterSource().addValues(params);

    results = simpleJdbcCall.execute(in);

这里的参数是哈希图。 问题依旧

【问题讨论】:

  • 我也尝试过明确添加参数。错过了在较早的帖子中添加。更新的问题。
  • 我想我明白了..你能在答案中添加相同的内容

标签: java spring-jdbc hana


【解决方案1】:

来自javadoc(重点是我的):

元数据处理基于JDBC驱动提供的DatabaseMetaData。由于我们依赖 JDBC 驱动程序,因此这种“自动检测”只能用于已知可提供准确元数据的数据库。目前包括 Derby、MySQL、Microsoft SQL Server、Oracle、DB2、Sybase 和 PostgreSQL。 对于任何其他数据库,您需要明确声明所有参数

我会说你需要使用SimpleJdbcCall#declareParameters(SqlParameter...)

【讨论】:

  • 很高兴 ;-)
猜你喜欢
  • 2021-03-02
  • 2014-06-30
  • 1970-01-01
  • 2011-02-02
  • 1970-01-01
  • 2019-05-31
  • 2012-03-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多