快速插入大量數(shù)據(jù)的asp.net代碼(Sqlserver)
更新時(shí)間:2011年02月24日 01:18:05 作者:
目標(biāo)數(shù)據(jù)庫(kù)只能是Sqlserver 來(lái)源數(shù)據(jù)庫(kù) 無(wú)所謂 只要能用ado.net 將來(lái)源數(shù)據(jù)讀取到Dataset或者Datareader 中就可以了。
復(fù)制代碼 代碼如下:
using System.Data;
using System.Diagnostics;
using System.Data.SqlClient;
string connectionString = "Data Source=HG-J3EJJ9LSW5PY;Initial Catalog=Test;User ID=sa;password=hg";
DataTable dataTable = sql_.select_datagrid(" select a from large where 1=0 ").Tables[0];
string passportKey;
for (int i = 0; i < 100000; i++)
{
passportKey = Guid.NewGuid().ToString();
DataRow dataRow = dataTable.NewRow();
dataRow[0] = passportKey;
dataTable.Rows.Add(dataRow);
}
SqlConnection sqlConnection = new SqlConnection(connectionString);
sqlConnection.Open();
SqlTransaction sqltran = sqlConnection.BeginTransaction();
SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(sqlConnection, SqlBulkCopyOptions.KeepIdentity, sqltran);
sqlBulkCopy.DestinationTableName = "large";
sqlBulkCopy.BatchSize = dataTable.Rows.Count;
if (dataTable != null && dataTable.Rows.Count != 0)
{
sqlBulkCopy.WriteToServer(dataTable);
}
sqlBulkCopy.Close();
sqltran.Rollback();
sqlConnection.Close();
注解: <1> sqlBulkCopy.DestinationTableName = "large"; large 指的是目標(biāo)表的名稱
<2> DataTable 的結(jié)構(gòu)要和數(shù)據(jù)庫(kù)中的表的結(jié)構(gòu)相同
(DataTable的列不能多于數(shù)據(jù)庫(kù)里面的)
(DataTable的列可以少于數(shù)據(jù)庫(kù)里面的 如果數(shù)據(jù)庫(kù)這一列有默認(rèn)值的話)
<3> 這里面 我使用了事務(wù) 您在使用的時(shí)候 也可以不用事務(wù)
您可能感興趣的文章:
- SqlServer下通過(guò)XML拆分字符串的方法
- sqlserver2008 拆分字符串
- SQLServer 批量插入數(shù)據(jù)的兩種方法
- 使用SQL Server 獲取插入記錄后的ID(自動(dòng)編號(hào))
- sqlserver 不能將值NULL插入列id(列不允許有空值解決)
- sqlserver中向表中插入多行數(shù)據(jù)的insert語(yǔ)句
- sql server中批量插入與更新兩種解決方案分享(asp.net)
- SQLServer用存儲(chǔ)過(guò)程實(shí)現(xiàn)插入更新數(shù)據(jù)示例
- SQL Server實(shí)現(xiàn)將特定字符串拆分并進(jìn)行插入操作的方法
相關(guān)文章
SQL SERVER 數(shù)據(jù)類型詳解補(bǔ)充2
之前腳本之家發(fā)過(guò)數(shù)據(jù)類型方面的文章,但內(nèi)容不是很充實(shí),這里的一篇文章,正好彌補(bǔ)以前的一些,建議這兩篇文章一起看效果更好。2010-04-04Sql Server事務(wù)語(yǔ)法及使用方法實(shí)例分析
這篇文章主要介紹了Sql Server事務(wù)語(yǔ)法及使用方法,結(jié)合實(shí)例形式分析了Sql Server事務(wù)的概念、原理及相關(guān)使用技巧,需要的朋友可以參考下2019-02-02sql將一個(gè)表中的數(shù)據(jù)插入到另一個(gè)表中的方法
這篇文章主要介紹了sql將一個(gè)表中的數(shù)據(jù)插入到另一個(gè)表中的方法,需要的朋友可以參考下2014-03-03SQL Server 數(shù)據(jù)庫(kù)分離與附加 就這么簡(jiǎn)單!
這篇文章主要介紹了SQL Server 數(shù)據(jù)庫(kù)分離與附加,很簡(jiǎn)單的圖文教程,感興趣的小伙伴們可以參考一下2016-08-08SQL Server中的排名函數(shù)與分析函數(shù)詳解
本文詳細(xì)講解了SQL Server中的排名函數(shù)與分析函數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05數(shù)據(jù)庫(kù)中的內(nèi)容字段被掛馬的替換方法 SQL注入
有時(shí)候有些數(shù)據(jù)庫(kù)被掛馬了,如果是sqlserver數(shù)據(jù)庫(kù),就可以用下面的方法,不過(guò),這樣的方法比較適合懂sqlserver的朋友,不過(guò)不懂的朋友也可以用,一些數(shù)據(jù)庫(kù)的在線管理程序替換。2009-08-08