导航:首页 > 网络数据 > sql大数据写入

sql大数据写入

发布时间:2023-12-23 16:20:04

A. c#sqlbulk 批量写入数据可否回滚

可以,需要使用Transaction登记,给你我以前写的批量导入代码,我稍微修改了一下。

publicboolAddDataTableToDB(DataTableMyTable)
{
SqlTransactiontran=null;//声明一个事务对象
IniTable();
try
{
using(SqlConnectionconn=newSqlConnection("Server=127.0.0.1;user=sa;pwd=sa;database=test"))
{
conn.Open();//打开链接
using(tran=conn.BeginTransaction())
{
using(SqlBulkCopy=newSqlBulkCopy(conn,SqlBulkCopyOptions.Default,tran))
{
.DestinationTableName="TBImei";//指定服务器上目标表的名称
.WriteToServer(MyTable);//执行把DataTable中的数据写入DB
tran.Commit();//提交事务
returntrue;
}
}
}
}
catch(Exceptionex)
{
tran.Rollback();//出错回滚
MessageBox.Show(ex.Message);
returnfalse;
}
}

B. MySQL数据库 写入大量数据如何实现

java">//最快的方法10000记录23MS
publicstaticvoidinsert(){
//开时时间
Longbegin=newDate().getTime();
//sql前缀
Stringprefix="INSERTINTOtb_big_data(count,create_time,random)VALUES";
try{
//保存sql后缀
StringBuffersuffix=newStringBuffer();
//设置事务为非自动提交
conn.setAutoCommit(false);
//Statementst=conn.createStatement();
//比起st,pst会更好些
PreparedStatementpst=conn.prepareStatement("");
//外层循环,总提交事务次数
for(inti=1;i<=100;i++){
//第次提交步长
for(intj=1;j<=10000;j++){
//构建sql后缀
suffix.append("("+j*i+",SYSDATE(),"+i*j
*Math.random()+"),");
}
//构建完整sql
Stringsql=prefix+suffix.substring(0,suffix.length()-1);
//添加执行sql
pst.addBatch(sql);
//执行操作
pst.executeBatch();
//提交事务
conn.commit();
//清空上一次添加的数据
suffix=newStringBuffer();
}
//头等连接
pst.close();
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}
//结束时间
Longend=newDate().getTime();
//耗时
System.out.println("cast:"+(end-begin)/1000+"ms");
}

阅读全文

与sql大数据写入相关的资料

热点内容
多少的cad版本能打开pdf格式文件 浏览:540
win10文件比率是什么 浏览:652
msdb数据库置疑 浏览:210
移动花卡免流app为什么要10元 浏览:147
xamppphp配置文件 浏览:268
删除ghost文件 浏览:642
苹果7可置换地方 浏览:763
win10腾讯文件夹在哪里 浏览:262
在网站前面加什么可以看会员视频 浏览:908
哪个读书app支持格式最全 浏览:322
魅族mx3提示网络可能会受到监控 浏览:308
如何判断复制文件是否完整 浏览:803
qq接收的语音文件在 浏览:408
手机qq禁止查看动态 浏览:923
如何用编程求解二重积分 浏览:366
在桌面上搜索不到文件夹 浏览:723
中外文专利网站有哪些 浏览:682
尖刀车端面槽怎么编程 浏览:70
电脑重装会把所有文件都删掉吗 浏览:982
java匿名内部类构造函数 浏览:573

友情链接