【问题标题】:Can we do the same with a comma separated field to multiple columns in a SQLRPGLE?我们可以对 SQLRPGLE 中的多个列使用逗号分隔的字段做同样的事情吗?
【发布时间】:2017-10-07 19:40:56
【问题描述】:

我们能否解析来自第三方的逗号分隔字符串并移动到 SQLRPGLE 中文件的多个列 假设我们有一个包含 MFG,9876,,0001,123435 到多个列 Site = MFG 的字段,Parent Item = 9876,revision = ‘ ‘,sequence = 0001,component Item= 12345 等?

【问题讨论】:

标签: ibm-midrange db2-400 rpgle


【解决方案1】:

收到 CSV 文件后,将其存储在 IFS 中。然后使用CPYFRMIMPF命令将文件加载到数据库文件中就是一个简单的操作。

【讨论】:

  • CPYFRMIMPF 如果 CSV 是完美的,则可以一次性使用。如果其中任何一个都不是,请考虑使用 IFS API 自己读取和解析 CSV。
  • CPYFRMIMPF 非常适合自动化,而且不是那么喜怒无常。是的,您可以编写自己的解析器,但如果内置解析器有效,为什么还要努力编写自己的解析器。这似乎类似于过早优化。
【解决方案2】:

使用 SQL 将 CSV 插入表中。 创建字符串并立即执行。

mstring = 'insert into mytable (col1, col2 , col3) values (' + mydata + ')';

exec immediate :mystring;

【讨论】:

  • 取消: 关闭:mydata,如果正确引用字符串值,这可能会起作用。但我认为这在 SQL 注入上下文中有些危险。
猜你喜欢
  • 2011-02-10
  • 2010-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多