0

我不是一个好的 SQL 程序员,我只有基础知识,但我听说过一些用于快速数据加载的 BCP。我搜索了互联网,它似乎是一个仅限命令行的实用程序,而不是您可以在代码中使用的东西。

问题是,我希望能够在 SQL Server 2008 数据库中进行非常快速的插入和更新。我想在数据库中有一个可以接受的函数:

  • 我要对其执行插入/更新操作的表的名称
  • 我将向其提供数据的列的名称
  • CSV 格式的数据或 SQL 可以快速读取的数据
  • 指示函数应执行插入或更新操作的天气标志

然后,此函数将读取此 CSV 字符串并生成插入/更新表所需的代码。

然后我会在 C# 中编写代码来调用该函数,将表名、列名、序列化为 CSV 字符串的对象列表和插入/更新标志传递给它。

如您所见,这旨在既快速又通用,适用于任何处理大量数据的项目,因此是我公司框架的候选者。

我想对了吗?这是一个好主意吗?我可以使用那个 BCP 的东西吗?它适用于所有情况吗?

正如你所看到的,我需要一些关于这方面的指导......在此先感谢您的帮助!

4

2 回答 2

1

在 C# 中,查看SQLBulkCopy。这是 SSIS 在后台使用的。

对于真正的bcp / BULK INSERT,您需要可能不允许的 bulkadmin 权限

于 2010-12-02T21:48:30.423 回答
1

您是否考虑过使用 SQL Server 集成服务 (SSIS)。它旨在完全按照您的描述进行。它非常快。您可以基于事务插入数据。您可以将其设置为按计划运行。以及更多。

于 2010-12-02T20:52:22.663 回答