问题标签 [camel-sql]
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.
apache-camel - 通过camel sql-stored组件调用存储过程
我是骆驼 sql 存储组件的新手。目前我正在使用 Camel 2.17.5。我正在尝试从骆驼路线调用 oracle 存储过程。这是我的路线:
这是我的存储过程:
但是当我运行我的路线时,它给了我错误:
你能帮我吗,这里有什么问题?
apache-camel - Unable to do a deep mapping for JDBC using outPutClass in apache camel
I have a requirement where I have to read from two different sources, one from a file and the other from a DB, perform some operations in the aggregator and then write the output to a file.
I am able to read the file but after reading the file from database I have to convert the file to a bean. And I am not able to do it.
Below is my code:
Route:
The above route reads the file and enriches with the resultset returned by the query by converting into an object.
LookUpJob9.java
The CompositeKey is a class which contains 4 fields containing a composite key.
Now the problem is outputClass attribute is not able to do the deep mapping. Its able to map itemCspk and dummy but its not able to map the fields inside the CompositeKey class.
I am getting the below exception:
When I use the above class with bindy, I use @Link with CompositeKey class to link the two. Is there any similar way by which I can achieve it with JDBC.
apache-camel - 骆驼 sql 存储的组件。如何传递 INOUT oracle 参数?
我正在使用 camel 2.18 camel-sql 组件来调用存储过程。是否可以调用具有 INOUT 参数的 oracle 存储过程?
apache-camel - 如何在骆驼路线中对 sql 存储的步骤进行单元测试
我最近加入了一个项目,其中许多 autosys 工作被骆驼路线取代。大多数处理流程遵循相同的模式:
- 从某个文件夹中读取文件
- 将某种反序列化应用到 java 结构中
- 根据 java 结构中包含的某些值调用存储过程或其他过程
- 将处理结果发送给第三方消费者
实现存储过程调用的最简单方法是使用sql-stored
组件。假设我有这条路线:
每个处理器都经过了很好的单元测试,但我们希望确保路由逻辑按预期进行。存储过程可能需要一段时间才能执行,并且运行真正的路由不是单元测试的一个选项部分,所以我需要一种方法来测试存储过程是否被调用而不实际运行它们。
那么像上面这样对路由进行单元测试的好方法是什么。
预先感谢您的投入
mysql - Camel Blueprint 为准备好的 sql 语句指定参数
我有一个丰富的投票,它使用 SQL 查询的结果(来自 MySQL 数据库)丰富了 POJO。它目前从 POJO 中获取品牌,然后从与品牌匹配的订单中获取名称。我必须在 ${body.getBrand} 周围添加引号,否则查询会查找带有品牌名称的列,而不是使用值。目前它看起来像这样:
我想更改它,因为我可能需要创建更多的 sql 查询,如果值包含引号,则当前版本不起作用,因此容易受到 sql 注入的影响。
我认为准备好的语句可以解决问题并想使用命名参数,但我似乎无法设置参数的值。
我尝试了许多不同的方法,例如设置标题并将查询更改为具有命名参数:
但我不断得到
PreparedStatementCallback; 错误的 SQL 语法 [SELECT name FROM orders WHERE brand= ?]; 嵌套异常是 java.sql.SQLException: No value specified for parameter 1
我也尝试将 useMessageBodyForSql 选项设置为 true (因为这看起来可能会有所帮助?)但我尝试过的任何东西似乎都不起作用。
我已经看到很多使用 java 设置路由的示例/解决方案,但我认为蓝图 xml 也必须有解决方案?
如果有人有任何建议或示例,那就太好了。
java - Apache Camel 如何将 DB 响应转换为 XML
我使用 ServiceMix (Apache Camel),但在 StackOverFlow 上没有找到类似的主题。
我描述了顺序:
为了处理数据,我需要将 SQL 结果集转换为 XML。
java - apache camel sql 组件 ORA-00947: 没有足够的值
这是我的 Java DSL 路线:
控制台显示格式正确的 DML:
两个绑定变量都有值,所以空值不是问题:
然而甲骨文正在回归:
为了完整起见,我的配置是:
原始语句有 15 列和值,并且给出了相同的错误。顺便说一句,所有表列都可以为空。
unit-testing - 使用内存数据库测试 camel-sql 路由未获取结果
我已经使用 camel-sql 编写了代码,它运行良好。现在我必须为此编写测试用例。我使用了内存数据库 H2。我已经初始化了数据库并将数据源分配给了 sqlComponent。
问题是,一旦测试用例开始,它就会说
我查看了骆驼 SQL 组件测试用例并做同样的事情,但代码无法找到数据源。请帮忙。提前致谢。
apache-camel - 在 apache Camel 中使用 In 子句
我正在使用骆驼 2.17.0 并且必须使用 SQL IN 子句执行更新查询。查询是
我已将所有参数设置为驼峰头,参数ids是 List<Long> 并且在执行期间列表中有四个元素。但我得到一个 sql 异常
我不确定出了什么问题。当我对除参数列表 ID 之外的所有值进行硬编码时,我能够更新表而不会出现任何错误。修改后的查询就像
是否有任何规定,当我们使用 IN 子句时,我们不能在查询中提供任何其他参数?请指教。