是否有任何替代方法可以从 excel 批量上传数据而不是使用带有 .net 的 Windows 服务?

问题描述 投票:0回答:1

目前我们正在使用带有 C# 代码的 Windows 服务来批量上传 Excel 文件,因为 C# 代码读取 excel 文件中的每一行并将该行插入到 SQL 数据库中,当行数更多时插入需要时间。如果有很多文件要提供,windows 服务一次只选择 1 个文件。如何提高批量上传的性能。有没有其他方法可以在不使用 Windows 服务的情况下从 excel 文件批量上传?

我搜索了这个解决方案,但没有找到确切的解决方案,是否可以通过SSIS实现?

注意:我也很少验证数据以在 SQL 数据库中插入记录。

javascript c# ssis windows-services worker-service
1个回答
0
投票

您可以采用多种方法来提高将 Excel 文件批量上传到 SQL 数据库的性能。

一种方法是使用高性能库来读写Excel文件。例如,众所周知,EPPlus 库在读取和写入大型 Excel 文件时非常快速和高效。您可以考虑使用此库或类似库来读取 Excel 文件并将数据提取到内存中。

一旦您将数据存储在内存中,您就可以执行验证并使用批量插入操作将数据插入 SQL 数据库。批量插入操作通常比单独的行插入快得多,因为它们最大限度地减少了应用程序和数据库之间的往返行程。您可以使用 SQL Server 的 Bulk Insert 语句或其他第三方库(如 SqlBulkCopy)来执行批量插入。

关于您关于 SSIS 的问题,是的,SSIS 是一个强大的工具,可以帮助您将包括 Excel 文件在内的各种来源的批量数据加载到 SQL Server 数据库中。使用 SSIS,您可以轻松地将数据转换、验证并将数据加载到 SQL Server 表中。它提供了一个用于设计数据流的拖放界面,并具有支持各种类型的数据源、目标和转换的内置组件。

综上所述,批量上传Excel文件时要提高性能,可以考虑使用高性能库读写Excel文件,对内存中的数据进行校验,使用批量插入操作将数据插入SQL数据库。您还可以探索使用 SSIS 执行数据加载过程的选项。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.