国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
使用ADO.NET下的SqlBulkCopy類執(zhí)行批量復(fù)制操作

很多時(shí)侯,我們需要在數(shù)據(jù)庫間復(fù)制大量數(shù)據(jù),如SQLSERVER提供的BCP.EXE命令行工具,在ADO.NET下SqlBulkCopy類提供了一個(gè)高性能的方法WriteToServer來復(fù)制數(shù)據(jù)。該方法可以接受一個(gè)DataRow對(duì)像數(shù)據(jù)、一個(gè)實(shí)現(xiàn)IDbDataReader接口的對(duì)像和一個(gè)DataTable,或者接受一個(gè)DataTable對(duì)像和一個(gè)DataRowState枚舉值,以實(shí)現(xiàn)從大多數(shù)位置中獲取數(shù)據(jù)。

        /// <summary>
        /// 在目標(biāo)數(shù)據(jù)庫與源數(shù)據(jù)庫之間批量復(fù)制數(shù)據(jù)
        /// </summary>
        /// <param name="SourceConnectionstr">源數(shù)據(jù)庫連接字符串</param>
        /// <param name="TargetConnectionstr">目標(biāo)數(shù)據(jù)庫連接字符串</param>
        /// <param name="SourceSQLstr">查詢數(shù)據(jù)的SQL語句,必須包含主鍵,否則更新不成功,并無錯(cuò)誤提示</param>
        /// <param name="TargetTableName">更新目標(biāo)數(shù)據(jù)庫中的表名</param>
        /// <returns>Boolean</returns>
        public static Boolean dbtodb(string SourceConnectionstr,  string TargetConnectionstr, string SourceSQLstr,  string TargetTableName)
        {
            System.Data.SqlClient.SqlConnection SourceConn= new  System.Data.SqlClient.SqlConnection();
            System.Data.SqlClient.SqlConnection TargetConn = new System.Data.SqlClient.SqlConnection();
            try
            {
                SourceConn.ConnectionString = SourceConnectionstr;
                TargetConn.ConnectionString = TargetConnectionstr;
                System.Data.SqlClient.SqlCommand cmd = SourceConn.CreateCommand();
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = SourceSQLstr;

                SourceConn.Open();
                TargetConn.Open();

                using (System.Data.SqlClient.SqlDataReader rdr = cmd.ExecuteReader())
                {
                    //MessageBox.Show (rdr.HasRows.ToString()) ;
                    if (!rdr.HasRows)
                    {
                        return false;
                    }
                    using (System.Data.SqlClient.SqlBulkCopy bc = new System.Data.SqlClient.SqlBulkCopy(TargetConn))
                    {
                        //超時(shí)之前操作所允許完成的秒數(shù)
                        bc.BulkCopyTimeout = 360;
                        //目標(biāo)服務(wù)器上的表名
                        bc.DestinationTableName = TargetTableName;
                        bc.WriteToServer(rdr);                       
                    }
                }
            }
            catch
            {
                throw;
            }
            finally
            {

                //關(guān)閉連接
                SourceConn.Close();
                TargetConn.Close();
            }

            return true;

}

如果想以最少資源獲取最佳性能,就考濾使用IDbDateReader參數(shù)。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
2秒內(nèi)向數(shù)據(jù)庫中插入十萬條數(shù)據(jù)?微軟自帶的SqlBulkCopy
操作數(shù)據(jù)庫類SQLHelp.cs
VB.net版本的數(shù)據(jù)庫訪問類DataBaseAccess
三層.數(shù)據(jù)層
SQL Bulk Copy with C#.NET
剖析SQL Server 2005查詢通知之基礎(chǔ)篇 - 戈氏的日志 - 網(wǎng)易博客
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服