【问题标题】:Getting fields from SQL Server Stored Procedure从 SQL Server 存储过程中获取字段
【发布时间】:2016-05-03 14:01:29
【问题描述】:

我正在尝试在 Kettle 中构建一个转换,从 SQL Server 存储过程中获取 FIELDS 并将其插入到 MySql 表中。

问题是我找不到获取存储过程“字段”的方法。我知道 Call DB Procedure 任务需要输入/输出参数,这不是我的情况,所以我尝试将“执行 SQL 语句”与以下 SQL 一起使用:

exec credisfera.dbo.sp_insere_parcelas @dt_ref = '2016-05-03'

有没有办法做到这一点?

【问题讨论】:

  • 如果将上述语句放入Table input 步骤中,右键单击并选择“输出字段...”,您会得到什么? PDI 应该只是自动获取 SP 的元数据。它对我有用。
  • 嗨,Brian,我结束了在另一个表中插入我需要的所有内容,然后使用表输入来读取它。现在看起来很明显。 :) 如果您愿意,请将其作为答案发布,以便我给您积分。

标签: pentaho kettle pentaho-spoon


【解决方案1】:

只需将exec 语句放在Table input 步骤中即可。执行后(或“输出字段...”,PDI 将从 JDBC 驱动程序获取元数据。

【讨论】:

  • 但是这样做会产生一些副作用 - 每次 pentaho 在设计时需要字段元数据信息时都会调用该过程。如果您不希望在转换中出现这些副作用,请考虑使用“动态 SQL 行”步骤 - 它允许您为元数据提供模板 SQL 请求,因此您可以使用 SELECT '' 作为 Field1、0 作为 Field2 等。并对字段列表进行硬编码。
  • @morincer,你是对的。我们的案例是只读程序,所以没有问题。但无论如何都是好点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
  • 1970-01-01
  • 2021-09-18
  • 2016-10-31
  • 1970-01-01
  • 2011-08-31
相关资源
最近更新 更多