Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 传输大量数据的最佳实践。使用存储过程或SQL大容量复制_C#_Sql_Sql Server_Stored Procedures_Sqlbulkcopy - Fatal编程技术网

C# 传输大量数据的最佳实践。使用存储过程或SQL大容量复制

C# 传输大量数据的最佳实践。使用存储过程或SQL大容量复制,c#,sql,sql-server,stored-procedures,sqlbulkcopy,C#,Sql,Sql Server,Stored Procedures,Sqlbulkcopy,我有大量数据从一台服务器的不同数据库和表传输到另一台服务器的不同数据库和表。我创建了一个存储过程,而我的C#应用程序所做的只是将一个参数传递到我的存储过程中 最近,我发现了许多程序员用来传输大量数据的sqlbulk 那么,这两种方法中,哪一种是传输大量数据的最佳方法?为什么?如果数据的大小合理,我会亲自执行,而不是进行批量复制: 将表复制到新(空)数据库中 断开连接并将新数据库移动到其他服务器 将数据库连接到新服务器 将数据加载到您想要的任何目标表中 当然,如果这是你需要多次做的事情,那可能不是

我有大量数据从一台服务器的不同数据库和表传输到另一台服务器的不同数据库和表。我创建了一个存储过程,而我的C#应用程序所做的只是将一个参数传递到我的存储过程中

最近,我发现了许多程序员用来传输大量数据的sqlbulk


那么,这两种方法中,哪一种是传输大量数据的最佳方法?为什么?

如果数据的大小合理,我会亲自执行,而不是进行批量复制:

  • 将表复制到新(空)数据库中
  • 断开连接并将新数据库移动到其他服务器
  • 将数据库连接到新服务器
  • 将数据加载到您想要的任何目标表中

  • 当然,如果这是你需要多次做的事情,那可能不是最佳的。不过,对于一次性的,它应该可以做到这一点,而不必再摆弄其他方法。

    批量插入非常快!我认为没有什么比做这样的事情更快的了

    BULK INSERT EmployeeDB.dbo.Employees
    FROM 'C:\Data\EmployeeData_c.dat'
    WITH 
      (
        DATAFILETYPE = 'char',
        FIELDTERMINATOR = ',',
        ROWTERMINATOR = '\r\n'
      );
    
    有关更多详细信息,请参阅下面的链接


    您可能希望改用ADO.NET
    SqlBulkCopy
    ——有关更多信息,请参阅