代码之家  ›  专栏  ›  技术社区  ›  SethO

从Altova MapForce中的CSV文件捕获字段名元数据

  •  0
  • SethO  · 技术社区  · 14 年前

    我被要求使用Altova的MapForce来原型化一个替换的“文件转换过程”(目前是一堆SQL)。我的输入是一个带有标题的CSV文件。我的问题是,我需要捕获数据和列名,以便在下游处理中使用。

    fieldName value

    每个输出需要字段名和值的原因与当前在数据库上管理所有映射/转换的方式有关。NET代码此时跳入并执行任何必要的数据库查找。

    "Symbol", "Account", "Price", ...
    "FOO", "10101", "1.23", ...
    "BAR", "10201, "13.56", ...
    

    和一个静态方法 string TransformField( string fieldName, string value ) ,

    Symbol 数据输出到方法的 价值 参数和字段名 "Symbol" 字段名 参数。

    一些限制:

    1. 我需要保持MapForce GUI中的“连接”可见。我会让非程序员在将来维护映射。因此,在代码中完成所有这些都不是一种选择。
    2. 我们可以将方法调用的所有输入/输出视为字符串。转换将在稍后进行。
    3. 我希望避免使用标量文字作为输入。我已经有了文件中的列名-我不想重新键入每个列名并将其提供给我的方法。

    我不确定有多少用户使用过这个工具,但经过3天的改进,我发现了很大的潜力。如果我能摆脱目前的困境,我认为公司将有一个坚实的选择来摆脱目前的困境。

    1 回复  |  直到 14 年前
        1
  •  0
  •   SethO    14 年前

    我解决了我的问题,为了将来的参考,我想发布一个解决方案。我用MapForce的 FlexText . 这使我能够从CSV文件中提取头并“反转”列名作为转换过程的数据输入。一旦我知道了要采取的方法,我就可以直接从阿尔托瓦找到更多的信息。

    我在浏览他们的网站时发现了一些有用的教程: