我正在尝试从平面文件加载数据。该文件大小约为2.5 GB,行数接近十亿。我在DFT中使用平面文件源。文件中的几行不符合列模式,例如,有一个额外的分隔符或说文本限定符作为一列的值。我想跳过这些行并加载具有正确格式的其余行。我正在使用SSIS 2014.DFT内的平面文件源失败。我将alwaysCheckforrowdelimiter属性设置为false但仍然无法正常工作。由于文件太大,手动打开和更改是不可能的。请帮助。
答案 0 :(得分:0)
我和Nick.McDermaid有同样的想法,但我可以帮助你一点点。 您可以使用正则表达式清理文件。 (在脚本中)
您只需要定义一个正则表达式,以匹配您想要的分隔符数。其他行应删除。
这是在Notepad ++中执行的可视化示例
以下是我的示例所使用的模式:
SELECT Count([Date BP]) AS CountOfField
FROM Master
数据样本:
^[A-Z]*;[A-Z]*;[A-Z]*;[A-Z]*$
您可以在线试用:https://regex101.com/r/PIYIcY/1
此致 阿诺