读取一个txt档,然后将数据插入sql server,执行的时候报内存溢出,有时候提示连接已关闭

paradsie1018 2013-12-31 04:32:25
用的是批插的方式
sqlBC.WriteToServer(dt);
之前数据量不是太大,三四十万笔,速度还行,三四十秒
现在数据量变得很大,txt档 150M左右,数据近100W,
//事务处理插入数据库中
public void Exesql()
{
//调用方法TxtFileToStr()
string str = TxtFileToStr();
string[] sql = str.Split(','); //得到string 数组
int num = sql.Length - 1;

一次事务处理直接内存溢出,请问如何分批处理呢?求人指导,程式已经执行不成功了,现在都我手动在处理,头大了.


//读出文本的内容
private string TxtFileToStr()
{
string FilePath = System.Configuration.ConfigurationSettings.AppSettings["FilePath"];//得到文本路径
Console.WriteLine(FilePath);


FileInfo file = new FileInfo(FilePath);
FileStream fs = file.OpenRead();
StreamReader sr = new StreamReader(fs, System.Text.Encoding.GetEncoding("utf-8"));
sr.BaseStream.Seek(0, SeekOrigin.Begin);
string str = sr.ReadToEnd();
fs.Close();
sr.Close();
return str;
}
...全文
165 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zcw1967 2014-01-04
  • 打赏
  • 举报
回复
每100行操作,使用文件指针
paradsie1018 2014-01-04
  • 打赏
  • 举报
回复
引用 1 楼 lostuser 的回复:
能确定内存溢出发生在哪吗? sqlBC.WriteToServer(dt); 我猜想你是把数据一次读取,然后构造了一个datatable,对吧?
是的.
wind_cloud2011 2013-12-31
  • 打赏
  • 举报
回复
大量的数据可能要分段处理,
微光黎明 2013-12-31
  • 打赏
  • 举报
回复
可能出的问题原因1:每个数值类型的值都是有上限的,从你写的程序上看你应该是将文本的内容全部一次性读去了,可能超了string,string[]或,int中某项的内存分配的上限了 可能出的问题原因2:数据量太大,内存资源回收不够及时,新数据持续写入导致的溢出 解决办法(仅供参考) 1,换个更大数值类型 2,分批次读取 3,每次往数据库中插入完一条数据后,写个方法,让程序立刻把这部分在内存中已经没用的数据(内存应该还没释放),回收掉,释放内存
雪狐 2013-12-31
  • 打赏
  • 举报
回复
Seek的时候分段读
md5e 2013-12-31
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/340168938
md5e 2013-12-31
  • 打赏
  • 举报
回复
估计 string str = sr.ReadToEnd();这里都受不了 分段读取试试
lostuser 2013-12-31
  • 打赏
  • 举报
回复
能确定内存溢出发生在哪吗? sqlBC.WriteToServer(dt); 我猜想你是把数据一次读取,然后构造了一个datatable,对吧?
标题SpringBoot钓鱼论坛小程序的设计与实现AI更换标题第1章引言阐述SpringBoot钓鱼论坛小程序的研究背景、意义、国内外现状、研究方法及创新点。1.1研究背景与意义分析钓鱼运动的发展现状及论坛小程序对钓鱼爱好者的价值。1.2国内外研究现状概述国内外钓鱼论坛及小程序的发展现状和技术应用。1.3研究方法以及创新点介绍SpringBoot技术及本论文的研究方法和创新之处。第2章相关理论总结和评述与SpringBoot钓鱼论坛小程序开发相关的理论。2.1SpringBoot框架概述介绍SpringBoot框架的核心特性及其在Web开发中的应用。2.2前端技术基础阐述小程序开发中常用的前端技术,如HTML、CSS、JavaScript。2.3数据库技术介绍数据库设计原则及MySQL数据库在论坛小程序中的应用。第3章SpringBoot钓鱼论坛小程序设计详细介绍SpringBoot钓鱼论坛小程序的整体设计方案。3.1系统架构设计系统的整体架构,包括前端、后端和数据库的交互。3.2功能模块设计详细设计用户管理、帖子发布、评论互动等核心功能模块。3.3数据库设计阐述数据库表结构、字段设计以及数据关系。第4章SpringBoot钓鱼论坛小程序实现介绍SpringBoot钓鱼论坛小程序的具体实现过程。4.1开发环境搭建介绍开发所需的软件、硬件环境及配置步骤。4.2核心功能实现阐述用户注册登录、帖子发布与展示、评论与回复等功能的实现。4.3界面设计与优化介绍小程序界面的设计原则、实现效果及优化措施。第5章系统测试与性能分析对SpringBoot钓鱼论坛小程序进行系统测试和性能分析。5.1测试环境与方法介绍测试所需的硬件、软件环境及测试方法。5.2功能测试与结果分析对各个功能模块进行测试,并分析测试结果。5.3性能测试与优化建议对系统进行性能测试,提出优化建议。第6章结论与展望总结S

111,110

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧