【发布时间】:2014-03-31 09:31:31
【问题描述】:
我的 Windows 服务中有以下三种方法用于将 CSV 数据文件转换为 Sql server 数据库。
方法一:从CSV文件中读取数据(每行包含一个Employee数据)
方法 2:通过员工 ID、姓名等验证数据。
方法3:将数据插入到数据库表中。
目前,我正在从CSV文件中读取一行并一一调用上述3个方法(意思是在完成方法1后我将启动方法2,在完成方法2后我将启动方法3。然后我会再次阅读CSV 文件中的另一行并重复相同的步骤)
由于这是一个同步过程,因此处理一个包含数万条记录的文件需要很长时间。
如果我想让它成为一个异步过程,我将如何异步调用我的方法,以及我应该使用哪些 C# 类来实现这一点?
【问题讨论】:
-
我假设插入的顺序无关紧要?
-
只需改变你的方法,首先读取 csv 将完整数据插入表中,然后验证整个表的数据并插入到主表中,这将提高性能
-
是的,插入的顺序无关紧要。
-
但是如果我在插入数据库后进行验证,那么我需要删除无效数据。这又需要数据库操作。
-
如果您对此感兴趣,可以在 SSIS 中轻松完成此操作。
标签: c# sql sql-server csv asynchronous