【发布时间】:2015-04-27 06:01:48
【问题描述】:
我想将平面文件 test.txt 转换为平面文件 test-output.txt。
方案如下:
输入示例:test.txt
COD/ID:37
PRJ/NAME: Josephy Murphy
PRJ/EMAIL: jmurphy@email.com
PRJ/DESCRIPTION: test37, test37, test37 ...
COD/ID:38
PRJ/NAME: Paul Newman
PRJ/EMAIL: pnewman@email.com
PRJ/DESCRIPTION: test38, test38, test38 ...
.
.
示例输出:test-output.txt(管道分隔,无标签)
37|Josephy Murphy|jmurphy@email.com|test37, test37, test37 ...
38|Paul Newman|pnewman@email.com|test38, test38, test38 ...
.
.
截图链接:
test.txt
test-output.txt
我想将此文件导入 SQL Server。但是文件 test.txt(15,000,000 行)默认情况下不用于带分隔符的导入。
我将使用 SSIS 导入数据,但必须是 CSV 格式或其他带分隔符的格式。
我考虑过使用 REGEX 或 SSIS 脚本组件。我知道带有格式化文本的 SSIS 文件的导入过程,但是这个文件没有格式化。
【问题讨论】:
-
请将这些文本(或至少是综合样本)放入问题中。并请分享您尝试过的内容。这是必须的。
-
有什么难度?你被困在哪里了?
-
我想将此文件导入 SQL Server。但是文件 test.txt(15,000,000 行)默认情况下不用于带分隔符的导入。我将使用 SSIS 导入数据,但必须是 CSV 格式或其他带分隔符的格式。我考虑过使用 REGEX 或脚本组件 SSIS。你有什么建议?
-
最好的选择是创建一个 Source SSIS 脚本组件,使用例如 Florian Schmidinger 的 Regex 来拆分行,并为每个客户返回一行,然后使用其他 SSIS 步骤来处理行并写入他们到一个文件。 不要使用字符串操作函数,生成的临时字符串会对内存和垃圾回收造成巨大压力