ssis脚本任务(vb)在读取大文件时出现问题

时间:2018-06-01 15:25:47

标签: sql-server vb.net ssis etl script-task

我在ssis脚本任务中使用以下代码来修改文件的内容。我基本上创建了1个json文档,当在文件中有许多jsons,一个接一个。 这段代码可以完美地工作到大约1GB的文件(读取1GB文件,它在SSIS中使用几乎7GB的内存),然后崩溃(我假设由于内存)。我需要读取文件直到5GB。

请帮助

p1 = 4700
p2 = 7700
ax1.axhspan(p1, p2, color="limegreen", alpha=0.5)

1 个答案:

答案 0 :(得分:1)

建议不要使用File.ReadAllText(filePath)来读取大平面文件,因为它会将所有内容存储在内存中。我认为您应该使用简单的数据流任务将数据从此平面文件传输到新的平面文件,并且您可以在每行的脚本组件中执行所需的转换。

此外,您可以使用StreamReader使用StreamWriter在脚本中逐行阅读,并使用class A { int a = 0; public: A & operator+=(const A& other) { a += other.a; return *this; } }; 将其写入新文件,完成后您可以删除第一个文件,并重命名新文件之一。

<强>参考