zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Python字符编码补充
    shell脚本自动部署及监控
    【Linux】应用程序内存段布局
    【Linux】Core dump故障分析
    【Linux】GDB程序调试
    【Linux】小应用 大智慧
    【嵌入式】安装Linux系统到开发板
    【读书笔记】高效演讲
    【Linux】GCC编译
    【Linux】Linux 找回Root用户密码
  • 原文地址:https://www.cnblogs.com/haoliansheng/p/1422430.html
Copyright © 2011-2022 走看看