.NET批量数据入库
2024-09-01 21:34:18
/// <summary>
/// 批量写入数据库
/// </summary>
/// <param name="urlInfo">Url类</param>
public void InsertDataSet(List<UrlInfo> urlInfos)
{
OracleConnection myConn = new OracleConnection(connStr);
if (myConn.State != ConnectionState.Open)
{
myConn.Open();
}
OracleDataAdapter adapter = new OracleDataAdapter();
adapter.SelectCommand = new OracleCommand("select visitid,mobile,url,startTime,endTime,desIp,desPort,agentIp,agentPort,mobileIp,mobilePort,urlTypeId,comeFrom from cn_visit where 1=0", myConn);
adapter.InsertCommand = new OracleCommand(@"INSERT INTO cn_visit(visitid,mobile,url,startTime,endTime,desIp,desPort,agentIp,agentPort,mobileIp,mobilePort,urlTypeId,comeFrom)
VALUES(seq_cn_visitid.Nextval,:mobile,:url,:startTime,:endTime,:desIp,:desPort,:agentIp,:agentPort,:mobileIp,:mobilePort,:urlTypeId,:comeFrom)", myConn);
adapter.InsertCommand.Parameters.Add(":mobile", OracleType.VarChar, , "mobile");
adapter.InsertCommand.Parameters.Add(":url", OracleType.VarChar, , "url");
adapter.InsertCommand.Parameters.Add(":startTime", OracleType.Number, , "startTime");
adapter.InsertCommand.Parameters.Add(":endTime", OracleType.Number, , "endTime");
adapter.InsertCommand.Parameters.Add(":desIp", OracleType.VarChar, , "desIp");
adapter.InsertCommand.Parameters.Add(":desPort", OracleType.Number,, "desPort");
adapter.InsertCommand.Parameters.Add(":mobileIp", OracleType.VarChar, , "mobileIp");
adapter.InsertCommand.Parameters.Add(":mobilePort", OracleType.Number, , "mobilePort");
adapter.InsertCommand.Parameters.Add(":agentIp", OracleType.VarChar, , "agentIp");
adapter.InsertCommand.Parameters.Add(":agentPort", OracleType.Number, , "agentPort");
adapter.InsertCommand.Parameters.Add(":urlTypeId", OracleType.Number, , "urlTypeId");
adapter.InsertCommand.Parameters.Add(":comefrom", OracleType.Number, , "comeFrom"); adapter.InsertCommand.UpdatedRowSource = UpdateRowSource.None;
adapter.UpdateBatchSize = ; DataSet dataSet = new DataSet(); try
{ adapter.Fill(dataSet); for (int i = ; i < urlInfos.Count; i++)
{
DataRow dr = dataSet.Tables[].NewRow();
dr["mobile"] = urlInfos[i].Mobile;
dr["startTime"] = urlInfos[i].StartTime;
dr["endTime"] = urlInfos[i].EndTime;
dr["url"] = urlInfos[i].Url;
dr["desIp"] = urlInfos[i].DesIp;
dr["desPort"] = urlInfos[i].DesPort;
dr["mobileIp"] = urlInfos[i].MobileIp;
dr["mobilePort"] = urlInfos[i].MobilePort;
dr["agentIp"] = urlInfos[i].AgentIp;
dr["agentPort"] = urlInfos[i].AgentPort;
dr["urlTypeId"] = urlInfos[i].UrlTypeId;
dr["comeFrom"] = urlInfos[i].ComeFrom; dataSet.Tables[].Rows.Add(dr);
}
adapter.Update(dataSet.Tables[]);
}
catch (Exception e)
{
log.Info("写入数据库失败,原因是:" + e.ToString());
}
if (myConn.State == ConnectionState.Open)
{
myConn.Close();
} }
最新文章
- 7.iOS Notification
- 浅谈Oracle事务【转载竹沥半夏】
- [SI]source insight使用
- 【BZOJ-1576】安全路径Travel Dijkstra + 并查集
- sql语句对数据库表进行加锁和解锁
- Codeforces Gym 100203I I - I WIN 网络流最大流
- ios 可变参数(va_list,va_start,va_end)
- HBase 4、Phoenix安装和Squirrel安装
- 我们的空间是它圆——基于Poicare对宇宙的模型
- Shell脚本的基本流程控制
- shell编程--基本格式,基本语法,运算符,expr,(()),$[]
- react 生命周期函数介绍
- text-decoration:[ text-decoration-line ] || [ text-decoration-style ] || [ text-decoration-color ] 默认值:
- Ettercap 实施中间人攻击
- Django+Xadmin打造在线教育系统(四)
- solo
- git默认忽略文件的大小写
- 网络营销相关缩写名称CPM CPT CPC CPA CPS SEM SEO解析
- 18. 进livebos对象直接跳转jsp页面的做法
- luogu P4199 万径人踪灭
热门文章
- 【转】IntelliJ IDEA 创建 hello world Java web Maven项目
- 【转】【Centos】centos 安装libtorrent/rtorrent
- Spring JMS 官方文档学习
- Java如何打印异常的堆栈?
- Swing用户界面开发工具包开发记录
- googletest进行单元测试(使用cmake编译)
- 针对程序集 &#39;SqlServerTime&#39; 的 ALTER ASSEMBLY 失败,因为程序集 &#39;SqlServerTime&#39; 未获授权(PERMISSION_SET = EXTERNAL_ACCESS)
- svn -- 数据备份,版本回退,版本冲突,多仓库配置
- C# listview控件右击导出数据到txt文本
- java线程安全问题之静态变量、实例变量、局部变量