问题标签 [callable-statement]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - CallableStatement PostgreSQL:参数数量无效错误
我试图在 postgresql 中编写示例存储函数并使用 JDBC 提供的 CallableStatement 调用它们。
这是我的一些测试代码
而我的存储函数的形式是 .
但是,当我尝试运行代码时出现以下错误。
知道为什么会发生这种情况吗?
stored-procedures - JDBC Call to a stored procedure returns null
I've got some problems with a stored procedure on an Oracle database.
I just want to call a procedure (which has 50 IN parameters and 2 IN OUT parameters) and get these 2 OUT parameters.
I'm trying to execute() the associated CallableStatement but it returns me a NullPointerException
Here is the code (I'm using Hibernate):
If, before the execute(), I set
I've got a SQLSyntaxErrorException (ORA-00911: invalid character)
Could you help me ?
Fab
Here is the solution:
The 2 last parameters of the procedure are IN OUT. I thought that we had to manage them as OUT parameter :
But as they're IN OUT, these parameters have to be declared as IN :
And finally register them as OUT like this :
I hope this may help you :)
java - 调用 Oracle 过程
我有一个在插入 oracle 的同时调用 oracle 过程的方法,插入语句有效,但该过程不起作用。我没有收到任何错误。谁能明白为什么这不起作用?
hibernate - 如何使用 Hibernate 执行多种返回类型的 Oracle 过程?
对于单一输出类型,我的代码工作正常,但我不知道如何执行具有多个输出参数的 Oracle 过程以及输出是什么,即 ResultSet、Number 等。
休眠代码:
有谁知道这是怎么做到的吗?
java - 在 java callablestatement 中设置唯一标识符
我正在尝试执行如下存储过程:
如您所见,我在可调用语句中将 Guid/UniqueIdentifier 设置为执行前的参数...但您也可以看出,我在 callableStatement 对象上使用了方法“setString”,结果我“我收到此错误:
com.microsoft.sqlserver.jdbc.SQLServerException:从字符串转换为唯一标识符时转换失败。
我想如果有像'setGuid'这样的方法或用于callablestatement对象的方法,我不会遇到这个问题......有人知道解决方法等吗?
编辑:
存储过程“getDeliveryConfirmations”的代码
java - 在批处理模式下通过可调用语句调用 SP 时检索 OUT 参数
在批处理模式下(executeBatch())通过 Callable 语句调用 SP 时如何检索 OUT 参数中的值。
mysql - 可调用语句
我在 MySQL 中创建了一个存储过程,并尝试使用 callable 语句来调用它。我有以下错误:
不知道如何继续,也不知道在数据库中的哪里可以找到存储过程。
jdbc - jdbc中的可调用语句
嗨,我使用可调用语句编写了一个 jdbc 程序,并且我还安装了连接器 j。我也在 mysql 中创建了一个存储过程。我还安装了以下驱动程序
C:\Program Files\MySQL\mysql-connector-java-5.1.21 (3)\mysql-connector-java-5.1.21 但我仍然收到错误
java.sql.SQLException:找不到适合 jdbc:mysql:localhost 的驱动程序
java.lang.NullPointerException
java - 只设置一些参数时,如何在 JDBC 中调用存储过程
如果您只想设置一些参数,那么使用 JDBC 调用存储过程的最佳方法是什么?
如果我只是使用 SQL,我可以在 SQL 中按名称设置参数以调用存储过程。例如,如果我有一个包含九个参数的存储过程,并且我想设置参数 1,2 和 9,将其余参数保留为默认值,我可以运行以下 SQL:
使用 JDBC(特别是 jConnect 6.0),似乎在使用 CallableStatement 时,您必须通过它们的整数索引而不是它们的名称来设置参数。如果我尝试为上述存储过程创建一个 CallableStatement,带有 9 个参数,并且只设置参数 1,2 和 9,如下所示:
然后我得到这个 SQLException 抛出:
对于我正在尝试做的一些背景知识,我需要创建一个从 IBM MQ 流接收有关产品的信息的流程,然后在第三个应用程序中创建一个产品。第 3 方应用程序使用 Sybase 来存储它的数据,并创建一个产品,我需要调用一个具有大约 130 个参数的存储过程。对于我需要创建的产品类型,这些参数只需要设置大约 15 个,其余的将保留为默认值。
我考虑过的选项是:
- 创建一个只设置我需要的值的自定义存储过程,然后调用第 3 方产品存储过程。
- 为 Java 中的所有参数设置默认值。
当然必须有一个更简单的方法来做到这一点?
java - 在包含插入和更新查询的 Java 批处理中调用 Oracle 过程(语句)
我正在开发一个基于 Java 的项目,其中的事情是通过以下方式实现的
- 有一些类(A、B、C、D....)将 Hash Map 的键作为整数,将值作为字符串的数组列表。arraylist 中的每个 String 元素都是一个 Oracle SQL 查询(INSERT 或 UPDATE)
- 这些类(A、B、C、D....)的方法在 Map 中循环。使用 JDBC 语句 ( ) 将特定键的所有 SQL 查询添加到批处理中
**stmt.addBatch(String)**
。对于每个唯一键,都会创建和执行一个单独的批处理。 - 有许多类(X,Y,Z ...)正在填充此 Map 和字符串数组列表以放置不同的 INSERT 和 UPDATE 查询
现在,我需要为一些键添加一个 Oracle 过程调用,因此应该将它们添加到相应键的字符串数组列表中。
我尝试添加以下字符串来调用程序,但似乎没有人适合我。
我不想修改很多代码,因为它可能会影响其他领域。
我可以在批处理中添加一个可调用语句,但是为此,我需要修改负责准备批处理的所有方法和类,这些方法和类在我的项目中大约 15 个(项目设计不是很好),另外我会必须编写一个标识过程调用的条件,以便我将准备一个可调用语句而不是语句。
有没有其他方法可以做到这一点,而不改变执行批次的类?