gpt4 book ai didi

c# - SSIS 包是导入和导出大量数据的最佳解决方案吗?

转载 作者:行者123 更新时间:2023-11-30 14:38:00 25 4
gpt4 key购买 nike

我的要求是,在 nop commerce 1.9 中,我必须从包含大量数据的 excel 表中插入多个折扣,因此在执行此任务之前,我需要清楚地记住哪个是最佳解决方案。

Which is the fastest way to upload the excelsheet having more than 100,000 lines of code in C#?

我阅读了这个问题和答案,发现 SSIS 是一个选项。

确实是 SSIS 最适合大型文件导入和导出选项。如果我使用 SSIS 包,我还会得到什么其他好处?

最佳答案

对于大约 100,000 行,性能应该不是此类数据的重大问题。SSIS 可以做到这一点,但它不是唯一的选择。我认为可以采用三种合理的方法来做到这一点:

SSIS:这样就可以读取excel文件了。如果您的电子表格表现良好(即可以信任正确布局)然后 SSIS 可以加载内容。它有一些错误记录功能,但实际上它只能有用地转储日志文件或将错误写入日志表。错误的行可以被定向到保存表。

优点

  • 加载过程相当容易开发。
  • 如果必须更改电子表格格式,可以独立于应用程序更改 SSIS 包。
  • 可以直接从电子表格文件中读取

缺点:

  • 依赖于在系统上安装 SSIS 运行时。
  • SSIS 的真正目的是作为服务器端安装;错误处理往往包括将消息写入日志。您需要找到一种方法让用户可以使用错误日志来解决错误。

BCP 或批量插入:您可以将电子表格导出为 CSV 并使用 BCP 或 BULK INSERT 语句加载文件。但是,这需要将文件导出为 CSV 并复制到数据库服务器上的驱动器或它可以访问的共享。

优点:

  • 可以假定 bcp 存在于服务器上。

缺点:

  • 需要手动步骤才能导出为 CSV
  • 文件必须放在可以安装在服务器上的卷上
  • 有限的错误处理工具。

SqlBulkCopy API:如果您已经在使用 .Net,则可以使用 OLE 自动化或 ODBC 从电子表格中读取数据,并使用 SQL Server 批量加载 API 加载数据。这需要您编写 C# 例程来执行导入。如果手动加载电子表格,则可以从用户的 PC 加载它。

优点

  • 不需要在计算机上安装 SSIS,
  • 文件可以位于用户的 PC 上
  • 加载过程可以是交互式的,向用户显示错误并允许他们通过多次重试来更正错误。

缺点:

  • 尽最大努力发展。
  • 仅作为应用程序的一项功能才真正实用。

关于c# - SSIS 包是导入和导出大量数据的最佳解决方案吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8585386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com