gpt4 book ai didi

arrays - 如何将 NULL(或空)数组传递给 JDBC callableStatement(需要数组)

转载 作者:行者123 更新时间:2023-12-02 00:59:15 26 4
gpt4 key购买 nike

我无法将 NULL 值传递给需要数组类型的 JDBC 存储函数(使用可调用语句)。如果我试图将 IN 参数设置为 NULL(例如,我可以创建并传递一个空数组,但我不应该这样做),这只是一个问题。

例如,我可以将此作为变通方法:

callableStatement.setObject(index, callableStatement.getConnection.createArrayOf("numeric", Array().asInstanceOf[Array[AnyRef]]))

但这让我很困扰。首先,应该有一个用于传递 NULL 数组的 API。其次,我无缘无故地创建了一个空数组(而且我必须创建正确的数组类型,所以这不是单行的,我需要支持多个不同种类)。它变得凌乱。

我认为我应该能够做到这一点(或者至少是非常相似的事情):

callableStatement.setNull(index, Types.ARRAY)

但它会导致异常:

com.edb.util.PSQLException: ERROR: function app_fetch_user_list_pkg.n_execute(character varying, character varying[], character varying, boolean, integer) does not exist

有什么想法吗? (我们正在使用 Postgresql/EDB 以及 Oracle...到目前为止,我一直在试验 Postgresql 实例)。

最佳答案

好吧,我将 PreparedStatement.setNull(position, Types.ARRAY) 与 9.4-1202-jdbc41 JDBC 驱动程序一起使用,并且按预期工作。

关于arrays - 如何将 NULL(或空)数组传递给 JDBC callableStatement(需要数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30608004/

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