我正在尝试从平面文件加载数据。该文件大小约为2.5 GB,行数接近10亿。我使用的是DFT中的平面文件源。文件中有几行不遵循列模式,例如,有一个额外的分隔符或文本限定符作为一列的值。我想跳过这些行,加载其余格式正确的行。我正在使用SSIS 2014。DFT中的平面文件源失败。我已将alwaysCheckforrowdelimiter属性设置为false,但仍不起作用。由于文件太大,无法手动打开和更改。请帮帮忙。
发布于 2017-01-03 10:19:06
我和Nick.McDermaid有同样的想法,但也许我可以帮你更多。你可以用正则表达式清理你的文件。(在脚本中)
您只需要定义一个正则表达式来匹配具有您想要的分隔符数量的行。其他行应该删除。
下面是一个用Notepad++执行的可视化示例
以下是我的示例中使用的模式:
^[A-Z]*;[A-Z]*;[A-Z]*;[A-Z]*$
和数据示例:
AA;BB;CC;DD
AA;BB;CC;DD
AA;BB;CC;DD;EE
AA;BB;CC;DD
AA;BB;CC
AA;BB;CC;DD
AA;BB;CC;DD
你可以在线尝试一下:https://regex101.com/r/PIYIcY/1
问候你,阿诺德
https://stackoverflow.com/questions/41423975
复制