sqlserver导入html数据,SQLServer数据批量导入的几种方式

本文介绍了SQLServer数据批量导入的四种方法:使用客户端工具、循环插入、SqlBulkCopy和表值参数。重点讨论了SqlBulkCopy和表值参数在数据加工和性能上的优势,并提供了C#代码示例。对于需要高效、大量导入数据的情况,SqlBulkCopy和表值参数是理想选择。
摘要由CSDN通过智能技术生成

5268f80b9b1e01f982625ef6fac83ca1.png

SQLServer数据批量导入的几种方式

说到SQLServer 的数据批量导入,下面用常用的几种方式做下对比,后面详细介绍每种方式如何使用(本文的代码使用语言c#)

导入方式

是否需写代码

导入过程能否对数据加工

插入数据的速度

多表数据导入

是否必需写SQL语句

1.通过SQLServer客户端管理工具

F

F

F

F

2.循环调用插入语句、或存储过程

T

T

T

T

3.使用SqlBulkCopy

T

F

F

F

4.使用SQLServer表值参数

T

T

T

T

1.通过SQLServer客户端管理工具

打开SQLServer客户端连接要操作的数据库引擎

右键要操作的数据库,选择任务--导入数据,第一次使用会弹出向导页如下图:

1a043b50eb21d18b16f34f02c57ca8fa.png

点下一步,一般要导入的数据都是excel,数据源我们选择Microsofy Excel(不同版本会有些差异),

4014708d3572296a3924fc04ca739c5e.png

浏览选择要导入的excel文件;

下一步选择目标数据源选择我们的SQLServer

60c13a660349c6d63f79a30faa247ec8.png

根据需要一直点下一步,需要注意在选择表和数据源页面,根据实际需要选择对应的表,以及编辑列的映射,

最后点击完成,导入数据。

2.循环调用插入语句、或存储过程

此方法就是调用写好的sql语句或存储过程来循环的插入数据导数据库;根据需要可以在读取文件数据后,对数据进行校验和加工。

下面代码是一个循环插入的实现,如果需要输出导入进度可以用BackgroundWorker+ progressBar在页面上显示导入进度;

private int DataImport()

{

if (File.Exists(path))

File.Delete(path);

int i = 0;

// 打开数据库连接

string strConn = System.Configuration.ConfigurationManager.AppSettings["SsConnString"];

SqlConnection Coon = new SqlConnection(strConn);

if (Coon.State.Equals(ConnectionState.Closed))

{

Coon.Open();

}

foreach (DataRow dr in m_dt.Rows)

{

i++;

if (bkWorker.CancellationPending)

{

e.Cancel = true;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值