Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取存储过程的输出参数_Java_Sql Server_Stored Procedures_Apache Camel - Fatal编程技术网

Java 获取存储过程的输出参数

Java 获取存储过程的输出参数,java,sql-server,stored-procedures,apache-camel,Java,Sql Server,Stored Procedures,Apache Camel,我正在使用camel编写一些路由,并在JBoss Fuse 6.2中运行它们 我想在SQLServer数据库中执行一个存储过程,并读取输出参数的值 我正在做这个: from("direct:WRITE_IN_STORED_PROCEDURE") .to("sql:exec PROCEDIMIENTO_TEST 'TEST_DATA'?dataSource=dataSource") .log(LoggingLevel.INFO, "[${body}]"); 这个路由实际上写在数据

我正在使用camel编写一些路由,并在JBoss Fuse 6.2中运行它们

我想在SQLServer数据库中执行一个存储过程,并读取输出参数的值

我正在做这个:

from("direct:WRITE_IN_STORED_PROCEDURE")
    .to("sql:exec PROCEDIMIENTO_TEST 'TEST_DATA'?dataSource=dataSource")
    .log(LoggingLevel.INFO, "[${body}]");
这个路由实际上写在数据库中,我检查了,根据存储过程逻辑,“TEST_DATA”值在数据库中

问题是:我不知道如何传递和读取参数。“exec”调用不是将过程的结果放入主体中(就像我使用“select”时一样)

我该怎么办


谢谢

语法应该与下面从db:mysql发出的调用完全相似

mysql>delimiter // 
mysql>create procedure selectusers(out param1 int) begin select count(*)
   from mysql.user; end//
mysql> delimiter ;
mysql> call selectusers(@param1);
+----------+
| count(*) |
+----------+
|        2 |
+----------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.00 sec)
同样地,从驼峰开始,您的路线如下所示

<to uri="sql:exec call selectusers(@param1)?datasource=datasource/>
The result if you print would be as below
[) thread #0 - file://src/data/] rhalling-unmarshalling-exmaple INFO  [{count(*)=2}]

sql组件尚不支持存储过程

有一张票:

工程中有一个代码:

例如,您可以使用mybatis组件,因为mybatis支持调用存储过程: