0

我正在开发一个需要将数据从 CSV 文件导入 SQL 服务器的系统。CSV 文件有两组不同的数据。每组数据在数据库中都有自己的表。(请参阅所附图片以了解 CSV 的外观)

.csv 文件

要使用导入/导出功能,我必须将两个集合复制粘贴到两个不同的 CSV 文件中,然后一次导入一个,以便映射正常工作。

该系统每天将处理 1000 多个 CSV 文件。所以这个过程需要自动化。我想我需要编写一些 .net 脚本来处理每个将获取数据并将其转储到数据库中的 CSV 文件。我对么?还有其他建议吗?

4

3 回答 3

1

Talend也是一个很棒的工具,特别是对于这类东西。您可以从任何数据源(包括从 CSV 到 Excel)设计导入作业。

如果每个 CSV 文件的数据量相当大,我会编写一些利用 SqlClient 的批量插入功能的作业。这使得数据插入更快......

Talend 支持批量插入,所以这应该很容易创建......

我们有 100 多个 Talend Jobs,它们不仅可以复制数据,还可以进行大量转换等……这是一件非常可靠的事情,而且是免费的……

于 2013-10-12T23:09:36.730 回答
1

我们的方法是创建一个与我们的主应用程序集成的服务,该服务将读取用户发送的 CSV 和 XLS 文件队列,解析它们并将它们存储到 DBMS(Oracle 或 SQL Server)中的数据表中。这种方法的优点是您的服务可以做一些其他事情并将消息发送回您的应用程序。

用户可以通过熟悉的界面(您的应用程序)与学习新工具来做到这一点。基本上,与应用程序完全集成,但实际处理是在专用服务器上完成的。

于 2013-10-13T03:39:00.987 回答
1

一种可能的方法是:

  1. 创建一个每天运行的作业(例如 Windows 服务),检查您接收文件的文件夹并将每个 csv 文件拆分为 2 个 csv 文件(type_1 和 type_2)
  2. 在 SQL Server 中创建一个在第一个作业之后运行的作业,并使用BULK INSERT 将每种类型的文件导入其对应的表中。
于 2013-10-13T12:19:30.743 回答