首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用camel-SQL从文件中运行SQL脚本?

如何使用camel-SQL从文件中运行SQL脚本?
EN

Stack Overflow用户
提问于 2014-07-11 16:44:38
回答 1查看 1.3K关注 0票数 1

为了运行石英调度的SQL报告,我正在使用camel-SQL组件。我的SQL是一个冗长的查询,我更喜欢格式化它,使它跨越许多行(确切地说,是92行),尽管它可以格式化为一行非常长的文本。

我的首选是将这个脚本放入一个外部文件中,然后运行它。或者,我可以将它放入一个属性文件(并不是我的首选),但是我尝试过了,即使在每一行的末尾添加了反斜杠“\”之后,由于某种原因,它仍然会导致异常。暂时忽略这个问题,如果脚本驻留在外部文件中,我如何使用camel SQL运行这个脚本?看起来应该很容易,但我不知道该怎么做。谢谢你的指点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-11 18:22:33

您可以使用通过JDBC访问数据库的jdbc组件,其中在消息体中发送SQL查询和操作。

示例:

代码语言:javascript
复制
from("direct:start")
    .to("jdbc:myDataSource?useHeadersAsParameters=true")
    .log("result = ${body}");

经以下测试:

代码语言:javascript
复制
final ProducerTemplate template = context.createProducerTemplate();
template.sendBody("direct:start", "select p.ID, p.PROJECT from projects p");

您可以从文件中读取SQL语句,而不是将静态字符串传递给主体:

代码语言:javascript
复制
final String sql = FileUtils.readFileToString(new File("src/main/resources/sql/select.sql"));
template.sendBody("direct:start", sql);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24702670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档