【发布时间】:2015-05-08 04:05:52
【问题描述】:
我需要从存储在 SQL 数据库中的数据生成多种 csv 格式的输出文件。例如,我有以下数据:
Order Id | Order Date | PO Number | Total Value
100 | 06/03/2015 | 12345 | £175.50
然后我需要生成两个 csv 文件。
格式中的第一个:
orderdate,orderid,ponum,value
06-03-2015,000100,12345,17550
第二个:
order number,date,amount,ref
100,060315,£175.50,123456
所以不同的字段标题、顺序、格式、前导零、小数点等。
我的问题是 - 如果我想通过配置支持更多新的(未知的)格式而不需要编写/更新代码,我有什么选择?
我相信 XPATH 可能是一种方法(并使用一些第三方工具来管理映射等),但我对此并不熟悉,而且看起来有点笨拙。如果它是 JSON 到 CSV 映射器,那么我会更舒服。
我也想知道 SSIS 是否可以胜任这项工作 - 但我还是不太熟悉。
我可以构建一些东西(我是 C#.NET 开发人员)并使用字符串格式化程序,并为此提供一些 UI。
有什么建议、想法、经验吗?
更新:
要求的功能是可以在几个小时内支持一种新格式,由非编码人员设置,最好是通过配置文件或 UI。这可能会说是每月少量 - 但周转很重要。
【问题讨论】:
-
您无法在 SSIS 中动态定义输出格式,但您可以在 BIML(基于代码生成 SSIS 包)中定义输出格式。您真正期望有多少种格式?每次在 SSIS 中自定义构建并没有那么慢。
-
谢谢尼克。查看更新。
-
你需要让它同时创建多个文件,还是像
Run program > Exit program > change config file > run program again一样? -
是的 DrewJordan,如果您认为这是一个可能的解决方案。
标签: c# sql csv ssis datamapper