1. 程式人生 > >C# SqlBulkCopy實現大資料插入資料庫

C# SqlBulkCopy實現大資料插入資料庫

public bool SqlBulkCopyData(DataTable dt)
        {
            bool flag = true;
            if (dt != null && dt.Rows.Count > 0)
            {
                string connectionString = @"server=.\sql2012;database=Test;uid=sa;pwd=abc";
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    connection.Open();
                    SqlTransaction sqlbulkTransaction = connection.BeginTransaction();
                    //請在插入資料的同時檢查約束,如果發生錯誤呼叫sqlbulkTransaction事務
                    SqlBulkCopy copy = new SqlBulkCopy(connection, SqlBulkCopyOptions.CheckConstraints, sqlbulkTransaction);
                    copy.DestinationTableName = "TestDemo";
                    foreach (DataColumn dc in dt.Columns)
                        copy.ColumnMappings.Add(dc.ColumnName, dc.ColumnName);
                    try
                    {
                        copy.WriteToServer(dt);
                        sqlbulkTransaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        flag = false;
                        sqlbulkTransaction.Rollback();
                    }
                    finally
                    {
                        copy.Close();
                        connection.Close();
                    }
                }
            }
            return flag;
        }

相關推薦

C# SqlBulkCopy實現資料插入資料庫

public bool SqlBulkCopyData(DataTable dt) { bool flag = true; if (dt != null && dt.Rows.Count >

c# 快速 將大量資料插入資料庫

快速插入資料 主要思想是通過在客戶端把資料都快取在Table中,然後利用SqlBulkCopy一次性把Table中的資料插入到資料庫 public static void BulkToDB(DataTable dt) { SqlConnection s

C# SqlBulkCopy批量資料存入資料庫

最近因為要做資料效能優化,原有的資料通過foreach迴圈插入資料庫,由於每迴圈一次就要和資料庫互動一次,效能非常差,用時很長,在網上查閱了一些資料找到了SqlBulkCopy這個類,在原有的資料基礎上進行改造,效能非常高。在此將自己的一些使用心得和大家分享: private voi

c# SqlBulkCopy實現批量從資料集中把資料匯入到資料

今天遇到了一個匯入類第一次見 SqlBulkCopy 可以實現從一個數據集匯入到資料庫中的表中 本來想從資料集中一條條遍歷insert到庫中 有了這個後發現: 只在把表與資料集的列做一下對應關係,再走一個WriteToServer()方法就全進庫裡了程式碼如下(con一定要open()): using (

用Maven整合SpringMVC+Spring+Hibernate 框架,實現簡單的插入資料庫資料功能

一、搭建開始前的準備 1、我用的MyEclipse2014版,大家也可以用IDEA。 2、下載Tomcat(免安裝解壓包)、MySQL(zip包下載地址 免安裝解壓包,好處就是雙擊啟動,最後我會把bat的啟動發給大家)、用的Navicat for MySQL的MySQL的圖

C++實現資料的加法、減法和乘法

最近在做大資料的四則運算,為了加強自己的記憶,所以就寫了這樣一篇部落格。這裡只有加法、減法和乘法的,除法的暫時未實現,以後實現了我會發上來的。 首先,什麼叫做大資料,大資料在我看來就是那些用一般的基本型別無法表示的資料(超出了範圍)。我們做這個大資料的四則運算首先得獲取到這

海量資料插入資料庫效率對比測試 ---ADO.NET下SqlBulkCopy()對比LINQ 下InsertAllOnSubmit()

摘要:使用.NET相關技術向資料庫中插入海量資料是常用操作。本文對比ADO.NET和LINQ兩種技術,分別使用SqlBulkCopy()和InsertAllOnSubmit()方法進行操作。得出結論:相同插入工作量(1w條資料)插入效率相差200倍之巨! 測試場景: 準備

用Maven整合SpringMVC+Spring+Hibernate 框架,實現簡單的插入資料庫資料功能(二)

前一篇寫的有些多,大家先看前一篇,傳送門 具體的資源已將上傳到資源了。 上文我們直接搭建前的準備和資源配置都寫好了,下面進入具體程式碼編寫。承接上文的小3 3、我習慣建立介面,這樣對整個專案感覺更合理。 (1.)建立IBaseService(業務邏輯層,有的習慣寫成Ba

文字文件資料匯入資料庫資料插入資料庫

           用excel匯入使用者到資料庫中,一兩秒匯入幾千條資料感覺非常快,但是這是一條條的插入到資料庫的。在做select *的時候,資料是一條條的插入的嗎?用一個datatable儲存所有查詢的資料返回給客戶端。           大量資料的匯入也是這樣的。

C/C++(5)實現資料檔案的記憶體對映機制

摘要 本文主要講述大量資料的檔案的記憶體對映機制的實現。 1. 記憶體對映 記憶體對映檔案,是由一個檔案到一塊記憶體的對映。Win32提供了允許應用程式把檔案對映到一個程序的函式 (CreateFileMapping)。記憶體對映檔案與虛擬記憶體有些類似,通過記憶體對映檔

C#讀取Txt資料並更新到資料庫

環境    Sqlserver 2016    .net 4.5.2   目前測試資料1300萬 大約3-4分鐘.(限制一次讀取條數 和 執行緒數是 要節省伺服器資源,如果調太大伺服器其它應用可能就跑不了了), SqlS

PHP 實現資料(30w量級)表格匯出(匯出excel) 提高效率,減少記憶體消耗,終極解決方案

使用php做專案開發的同學,一定都會有過使用php進行excel表格匯出的經歷,當匯出少量資料還好,一旦資料量級達到5w、 10w、20w甚至30以上的時候就會面臨同樣的問題: 1、匯出時間變得很慢,少則1分鐘,多則好幾分鐘,資料量一旦上來,還可能面臨導不出來的困窘(這種匯出效率正常人都會受

線性表及其應用C語言實現資料結構複習最全筆記)

一、順序表的表示與實現 1.線性表的順序結構定義 #define LIST_INIT_SIZE 100 //線性表儲存空間的初始分配量 #define LISTINCREMENT 10 //線性表儲存空間的分配增量 typedef struct { ElemType* el

js使用百度地圖僅顯示中國區域,實現資料熱點圖

需求:領導需要在年會上展示我們的使用者ip實時資料,做一個網頁版的地圖,僅僅顯示中國區域。 技術分析:echart,hchart等網站都有地圖版的,百度地圖有熱點例項,經過對比,我選用了百度地圖,但是百度地圖無法只顯示中國區域,這個時候就需要我來動動手解決掉最後一關。 應評論的各位想要原始碼

你需要一個新的model實體的時候必須new一個.奇怪的問題: 使用poi解析Excel的把資料插入資料庫同時把資料放在一個list中,返回到頁面展示,結果頁面把最後一條資料顯示了N次

  資料庫顯示資料正常被插 插入一條列印一次資料,也是正常的,但是執行完,list就全部變成了最後一條資料.很奇怪       單步除錯 給list插入第一條資料 model是6607 連續插了多條資料都是6607 而且所有的值都變成了一樣

排序及其應用C語言實現資料結構複習最全筆記)(期末複習最新版)

排序 關於排序給兩篇不錯的部落格參考: http://www.cnblogs.com/eniac12/p/5329396.html https://www.cnblogs.com/eniac12/p/5332117.html 知識前提 關於內外排序 內排序:指在排序

查詢及其應用C語言實現資料結構複習最全筆記)

所謂查詢(Search)又稱檢索,就是在一個數據元素集合中尋找滿足某種條件的資料元素。查詢在計算機資料處理中是經常使用的操作。查詢演算法的效率高低直接關係到應用系統的效能。查詢的方法很多,本章將介紹一些常用的查詢演算法,主要有:線性表的查詢、樹表的查詢和散列表的查詢,並對有關的演算法進行效能分析

圖及其應用c語言實現資料結構複習最全筆記)(期末複習最新版)

圖 一.圖的基本概念 1.圖的定義 圖是由頂點(vertex)集合及頂點間的關係組成的一種資料結構。Graph=(V,E)Graph=(V,E)其中,頂點集合 V={x|x∈某個物件資料集}V={x|x∈某個物件資料集} 是有窮非空集合;E={(x,y)|x,y∈V}E={(x,y

樹及其應用c語言實現資料結構複習最全筆記)

樹 一.樹的基本概念     二.二叉樹 1.二叉樹的定義 2.二叉樹的性質  此外在這裡在介紹下完美二叉樹的概念及重要性質  完全二叉樹是效率很高的資料結構,完全二叉樹是由滿二叉樹而引出來的。對於深度為K的,有n個結點的二叉樹,當

MVC利用Aspose.Cells.dll實現Excel資料匯入資料庫

/// <summary>匯入Excel資料到資料庫 /// /// </summary> /// <param name="file">檔案</param>