首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建具有大量数据的多个文件,并使用.NET将它们合并到一个文件中

创建具有大量数据的多个文件,并使用.NET将它们合并到一个文件中
EN

Stack Overflow用户
提问于 2014-08-21 11:41:23
回答 1查看 131关注 0票数 0

我的要求是,我有多个数据库(比如说3)。我将创建一个任何格式的文件(我是开放的格式),从每个数据库。每个数据库都是地理上分开的,每个数据中心(因此没有跨站点命中的范围),.The文件的大小将很高(大约300万条记录)在一个文件中与SQL。

现在我们已经创建了3个文件,最后我想合并这3个文件。

同样,我也需要一些建议:

  • 我应该创建哪种文件格式(例如csv,xml),这样创建单个文件就容易了。
  • 一旦创建了单个文件,就可以很容易地合并3个文件。(可用于合并活动的机制)。(合并文件中的总记录为9 9Millon )

任何指点都会有很大帮助。

将使用C#、SQL

EN

回答 1

Stack Overflow用户

发布于 2014-08-21 12:00:38

运行该程序的服务器/pc是否有足够的内存首先将所有数据存储在内存中?

我的方法是通过代码获取所有数据(来自不同的来源),在那里合并并写入文件。

你能把它映射到模型上吗?如果您为每个模型提供了一个'ToCsvString()‘方法,我将按照以下方式工作:

代码语言:javascript
复制
var modelList1 = Model1.acquireData(); //Gets all records as CSV String
var modelList2 = Model2.acquireData();
var modelList3 = Model3.acquireData();

MyFileWriter.MergeAndWrite(modelList1,modelList2,modelList3);

这样,文件编写器就会成为

代码语言:javascript
复制
class MyFileWriter{
    Public static void MergeandWrite(params List<string> list){
         var hugeStringBuilder = new StringBuilder();
         foreach(var singleList : list){
             foreach(var singleItem : singleList){
                 hugeStringBuilder.append(singleItem);
             }
         }
    }

   File.WriteAllText("path/to/somewhere.csv",hugeStringBuilder.ToString())

}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25425443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档