快速、大量、简单的复制两个数据库之间的数据。

 protected void Button1_Click(object sender, EventArgs e)
    {
        string sString;
        string nString;

        SqlConnection sConn = new SqlConnection();
        SqlConnection nConn = new SqlConnection();

        SqlCommand sCom = new SqlCommand();
        SqlDataReader sRead;

        sString = ConfigurationManager.ConnectionStrings["sDB"].ConnectionString;
        nString = ConfigurationManager.ConnectionStrings["nDB"].ConnectionString;

        sConn.ConnectionString = sString;
        sCom.Connection = sConn;
        sCom.CommandText = "Select top 500 * from " + TextBox1.Text.Trim();
        sCom.CommandType = CommandType.Text;
        sCom.Connection.Open();

        SqlBulkCopy nBulk;

        nBulk = new SqlBulkCopy(nString, SqlBulkCopyOptions.UseInternalTransaction);
        nBulk.DestinationTableName = TextBox1.Text.Trim();


        //nBulk.ColumnMappings.Add("x", "q");
        //nBulk.ColumnMappings.Add("a", "m");
        //nBulk.ColumnMappings.Add("b", "x");
        //nBulk.ColumnMappings.Add("c", "y");
        //nBulk.ColumnMappings.Add("d", "z");

        nBulk.BulkCopyTimeout = 500000000;

        nBulk.SqlRowsCopied +=new SqlRowsCopiedEventHandler(OnRowsCopied);

        nBulk.NotifyAfter = 1000;

        sRead = sCom.ExecuteReader();

        try
        {
            nBulk.WriteToServer(sRead);
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
            throw;
        }
        finally
        {
            sRead.Close();
        }

    } 

 

 

 TextBox1.Text.Trim()   用来输入表名。

阅读更多
个人分类: ASP.NET
上一篇用数据源控件的事件处理数据库错误
下一篇网页代码常用小技巧1
想对作者说点什么? 我来说一句

数据库之间数据复制

2012年03月15日 315KB 下载

C#Excel大量数据快速导入数据库

2015年11月06日 103KB 下载

没有更多推荐了,返回首页

关闭
关闭