• System.Data.SqlClient.SqlBulkCopy的使用方法


    C#
    using System.Data.SqlClient;
    class Program
    {
    static void Main()
    {
    string connectionString = GetConnectionString();
    // Open a sourceConnection to the AdventureWorks database.
    using (SqlConnection sourceConnection =
    new SqlConnection(connectionString))
    {
    sourceConnection.Open();
    // Perform an initial count on the destination table.
    SqlCommand commandRowCount = new SqlCommand(
    "SELECT COUNT(*) FROM " +
    "dbo.BulkCopyDemoMatchingColumns;",
    sourceConnection);
    long countStart = System.Convert.ToInt32(
    commandRowCount.ExecuteScalar());
    Console.WriteLine("Starting row count = {0}", countStart);
    // Get data from the source table as a SqlDataReader.
    SqlCommand commandSourceData = new SqlCommand(
    "SELECT ProductID, Name, " +
    "ProductNumber " +
    "FROM Production.Product;", sourceConnection);
    SqlDataReader reader =
    commandSourceData.ExecuteReader();
    // Open the destination connection. In the real world you would
    // not use SqlBulkCopy to move data from one table to the other
    // in the same database. This is for demonstration purposes only.
    using (SqlConnection destinationConnection =
    new SqlConnection(connectionString))
    {
    destinationConnection.Open();
    // Set up the bulk copy object.
    // Note that the column positions in the source
    // data reader match the column positions in
    // the destination table so there is no need to
    // map columns.
    using (SqlBulkCopy bulkCopy =
    new SqlBulkCopy(destinationConnection))
    {
    bulkCopy.DestinationTableName =
    "dbo.BulkCopyDemoMatchingColumns";
    try
    {
    // Write from the source to the destination.
    bulkCopy.WriteToServer(reader);
    }
    catch (Exception ex)
    {
    Console.WriteLine(ex.Message);
    }
    finally
    {
    // Close the SqlDataReader. The SqlBulkCopy
    // object is automatically closed at the end
    // of the using block.
    reader.Close();
    }
    }
    // Perform a final count on the destination
    // table to see how many rows were added.
    long countEnd = System.Convert.ToInt32(
    commandRowCount.ExecuteScalar());
    Console.WriteLine("Ending row count = {0}", countEnd);
    Console.WriteLine("{0} rows were added.", countEnd - countStart);
    Console.WriteLine("Press Enter to finish.");
    Console.ReadLine();
    }
    }
    }
    private static string GetConnectionString()
    // To avoid storing the sourceConnection string in your code,
    // you can retrieve it from a configuration file.
    {
    return "Data Source=(local); " +
    " Integrated Security=true;" +
    "Initial Catalog=AdventureWorks;";
    }
    }
    System.Object
      System.Data.SqlClient.SqlBulkCopy
  • 相关阅读:
    eclipse 直接向cloudfoundry部署应用
    jenkins slave节点服务 之 标签
    cloud foundry 中 url map/unmap
    公司Oracle生产库某用户中毒【AfterConnect.sql】
    怎样在 Linux 上查看某个端口的相关信息?
    怎样修改 VS Code 主题?
    怎样安装并编译TypeScript?
    怎样坚持写博客?
    第一个shell脚本
    python处理excel之读:xlrd模块
  • 原文地址:https://www.cnblogs.com/haoliansheng/p/1422430.html
Copyright © 2020-2023  润新知