0

我有一个处理大量I/O数据,数据库插入和状态检查的小型项目。如何将复杂对象批量插入SQL Server数据库

我会解释一下:

我要读几百个文本文件,位于磁盘,每天在特定的时间,特定线格式内,这些转换成线的对象,作为一个数据迁移任务。

后来,我需要使用EF 6将读数存储在SQL Server中,最近从Nuget包存储库 下载。但是,在编写任何解决方案之前,我一直怀疑:

因为在此过程中,我希望避免在发生一些批处理作业之后不必要的查询询问是否存在记录(以避免重复或维护它们直到进一步消除)。

我有这些想法:

插入所有输入每次和定期删除重复的SQL或我的应用程序的计划任务或检查每次时发生了插入。考虑到他们每次都要检查数百条记录,并且每天都会记录。

在此先感谢。

+0

你调查过SSIS吗? –

+0

我在哪里可以找到与SSIS相关的内容? –

+0

你可以谷歌它并找到吨 - 谷歌为您当前版本的SQL Server - 如SQL 2008 R2 SSIS(SQL Server集成服务)。我使用SSIS每周导入非常大的XML文件,并且工作得很好。 –

回答

0

我通常采取两步法。

  1. 将文件中的记录解析为所需的形状。
  2. 将分隔的记录插入辅助表中。该表通常不具有“真实表”的约束,并且具有用于保持验证标志的一些额外的列 。
  3. 一旦上传,启动一个存储过程,检查记录并以可能的无效原因对其进行注释。

然后你可以决定处理全部,部分或没有。你甚至可以把错误记录放在一边供以后检查等等。但主要的是,你现在拥有“基于set操作的sql操作”的强大功能,而不是被强制进入rbar操作(row-by-agonizing-row)。

相关问题