C#写从log文件向access自动导入数据的窗口程序,运行一段时间后停止工作,问题事件名称:CLR20r3,求教各位该怎么解决?谢谢

问题描述

各位前辈好:我近日用C#写了个小窗口程序,功能是从log文件向access自动导入数据,并设置间隔一段时间自动运行。但是现在发现,程序起初可以正常实现导入功能,但是运行一段时间后就会停止,问题事件名称:CLR20r3,详细信息如下:问题签名01:readandsyncmonitoringdata.exe问题签名02:1.0.0.0问题签名03:54717fa3问题签名04:System.Data问题签名05:4.0.30319.18408问题签名06:52311175问题签名07:1b5c问题签名08:1a问题签名09:System.Data.OleDb.OleDbExceptionOS版本:6.1.7601.2.1.0.274.10区域设置ID:2052其他信息1:0a9e其他信息2:0a9e372d3b4ad19135b953a78882e789其他信息3:0a9e其他信息4:0a9e372d3b4ad19135b953a78882e789请问,这个问题该怎么下手呢?谢谢!

解决方案

解决方案二:
System.Data.OleDb.OleDbException看错误日志是数据库连接环节出问题了建议在数据库操作时增加操作日志以定位问题
解决方案三:
引用1楼xian_wwq的回复:

System.Data.OleDb.OleDbException看错误日志是数据库连接环节出问题了建议在数据库操作时增加操作日志以定位问题

你好,谢谢你的回复!后来我网络上查阅相关错误信息,有人说是因为对出现的异常没有处理,我就加了个trycatch块,之后就真没有出现这个问题,catch到的信息显示是有些数据被锁定。但我对此很不解,同一个log文件中的数据,怎么会有一两条被锁定呢?是因为读取的数据量太大呢?求助!!!同时我又发现了另一个问题:C#写的这个小窗口应用程序,在导入数据库的同时也可同步显示导入的数据内容,但是当一次读取的数据量大的时候,就发现数据不是按照文件中的顺序来读或写的,会跳来跳去。并且,有时读着读着就毫无征兆的自动退出了,加了catch也没用,直接被跳过了。请问这是不是说明窗口程序不适合读取大批量数据呢?非常感谢!
解决方案四:
有没有可能是重复数据?
解决方案五:
引用2楼leao007的回复:

Quote: 引用1楼xian_wwq的回复:
System.Data.OleDb.OleDbException看错误日志是数据库连接环节出问题了建议在数据库操作时增加操作日志以定位问题

你好,谢谢你的回复!后来我网络上查阅相关错误信息,有人说是因为对出现的异常没有处理,我就加了个trycatch块,之后就真没有出现这个问题,catch到的信息显示是有些数据被锁定。但我对此很不解,同一个log文件中的数据,怎么会有一两条被锁定呢?是因为读取的数据量太大呢?求助!!!同时我又发现了另一个问题:C#写的这个小窗口应用程序,在导入数据库的同时也可同步显示导入的数据内容,但是当一次读取的数据量大的时候,就发现数据不是按照文件中的顺序来读或写的,会跳来跳去。并且,有时读着读着就毫无征兆的自动退出了,加了catch也没用,直接被跳过了。请问这是不是说明窗口程序不适合读取大批量数据呢?非常感谢!

个人感觉和数据量关联不大,还是代码写的有需要改进的地方写入操作有没有用到多线程?运行中突然退出还是有异常抛出了参照这个添加代码,再看看什么情况下会退出staticvoidMain(string[]args){AppDomain.CurrentDomain.UnhandledException+=newUnhandledExceptionEventHandler(CurrentDomain_UnhandledException);}staticvoidCurrentDomain_UnhandledException(objectsender,UnhandledExceptionEventArgse){Exceptionerror=(Exception)e.ExceptionObject;Console.WriteLine("MyHandlercaught:"+error.Message);}

解决方案六:
再次感谢!我是初学者,代码中没有用到多线程,只是用到了让进程定时休眠。主函数代码如下:staticvoidMain(string[]args){on=false;System.Threading.TimerthreadTimer=newSystem.Threading.Timer(newSystem.Threading.TimerCallback(ExecuteImport),null,0,900000);while(!on){Thread.Sleep(900000);//15minutes}}另外,程序是在运行中突然退出,并没有抛出异常。我现在就把你给的这段代码加进去,看看能否解决这个问题。请问你知道为什么提示log中的个别数据会被锁定,无法访问吗?还有为什么程序读出来的数据顺序会被打乱呢?谢谢!
解决方案七:
引用5楼leao007的回复:

再次感谢!我是初学者,代码中没有用到多线程,只是用到了让进程定时休眠。主函数代码如下:staticvoidMain(string[]args){on=false;System.Threading.TimerthreadTimer=newSystem.Threading.Timer(newSystem.Threading.TimerCallback(ExecuteImport),null,0,900000);while(!on){Thread.Sleep(900000);//15minutes}}另外,程序是在运行中突然退出,并没有抛出异常。我现在就把你给的这段代码加进去,看看能否解决这个问题。请问你知道为什么提示log中的个别数据会被锁定,无法访问吗?还有为什么程序读出来的数据顺序会被打乱呢?谢谢!

你采用的System.Threading.Timer,这个是线程计时器。

时间: 2024-08-22 14:52:45

C#写从log文件向access自动导入数据的窗口程序,运行一段时间后停止工作,问题事件名称:CLR20r3,求教各位该怎么解决?谢谢的相关文章

android-Android程序运行一段时间后,程序没有报错,线程会自动会被挂起

问题描述 Android程序运行一段时间后,程序没有报错,线程会自动会被挂起 程序是这么个情况,主界面显示一个图片,另起一个线程去定时刷新这个图片,运行一段时间后,程序自己就会停止,动一下手机,程序能继续运行,网上查的说Android系统自己会挂起线程,跪求解决方案 解决方案 在程序中有没有申请WeakLock,阻止系统进入休眠状态?

图解SSIS监视文件夹并自动导入数据

原文:图解SSIS监视文件夹并自动导入数据  演示案例:让系统自动监视文件夹,并把文件夹下面的excel文件导入到sql中,之后清空目录.这个过程以往都需要写程序来实现或者定时执行,现在可以用ssis来订制任务完成.  在阅读本文之前,你先要学会如何用ssis来批量导入数据,可以参考我先前的blog文章,这里我们用相同的数据交换背景来演示.http://blog.csdn.net/jinjazz/archive/2008/07/25/2710169.aspx   1.建立测试环境,目录为F:/e

tomcat退出-Tomcat运行一段时间后自动退出

问题描述 Tomcat运行一段时间后自动退出 最近tomcat运行一个项目,运行一两天就自动关闭,也没有报错. 以下是网上查找别人说的原因: 1,并发用户数目过大,也会导致tomcat自动停止服务. 2,系统本身的网络负载平衡没有做好,导致tomcat自动停止服务: 3,程序迭代不合理也是一个原因: 4,数据库连接未关闭,导致资源损耗过重,会引起服务停止: 5,程序严重错误,也会引起tomcat停止服务! 想请问以下,除以上外,还有什么原因会引起tomcat自动关闭.有什么软件可以测试或者模拟异

在C#中引用DLL文件后,程序运行一段时间,内存就会不断增加?

问题描述 在C#中引用DLL文件mydll.dll程序中,建立一个对象mydll.class1ob=newmydll.class1();在程序的最后需要deleteob吗?如何去delete这个对象?是不是要在dll文件中,写一个函数delete(),然后在C#中调用这个函数?不知道我说清楚了没有,主要是我现在的程序连续运行时间一天左右,内存就会缓慢的不停的增加我怕是内存泄露,但是刚接触这方面知识,不是很明白.看了一些资料,说new一个对象后就要delete但是又看到资料说,C#本身就带有自动回

vba 读取xml文件读到一定的行数行程序运行就出现Not Responding

问题描述 vba 读取xml文件读到一定的行数行程序运行就出现Not Responding 自己写的vba代码读取xml文件时读到一定的行数就出现Not Responding,不知如何解决,求大神解答!!!! 解决方案 你怎么写的代码?建议你引用msxml6.0库,用它来解析. http://jenniferamanda.iteye.com/blog/1684939

游戏在andorid平台运行一段时间闪退,内贴log,大神看看哪里有问题

问题描述 游戏在andorid平台运行一段时间闪退,内贴log,大神看看哪里有问题 04-28 14:31:04.631: W/ActivityManager(2795): getTasks: caller 10109 does not hold REAL_GET_TASKS; limiting output 04-28 14:31:04.631: W/ActivityManager(2795): getRunningAppProcesses: caller 10109 does not hol

我的Asp.net C# Web程序,用了一段时间后他CPU自动疯涨

问题描述 我的Asp.netC#Web程序,用了一段时间后出现问题了.服务器我们是Window2003SP2数据库是MSSQL2005,.net2.0框架.情况是这样的,我们是用动网的代码生成器做的数据层.项目开发进入测试阶段后,我们发现系统在被3个以上用户使用后,系统进程中W3wp.exe开始疯涨,一度涨到100%,同时内存也跟着涨.这个项目我们做了对立的应用程序进程池,稍微缓解了一下,但是我们认为是程序问题,但是始终测试不出来.程序于数据库连接正常.每次使用大改10分钟左右,就会死掉.程序提

文件传输-下面c语言中要将操作结果存入文件(当遇到#时为止)。程序运行时为什么老是中断出错?

问题描述 下面c语言中要将操作结果存入文件(当遇到#时为止).程序运行时为什么老是中断出错? #include(stdio.h)#include(stdlib.h)void main(){FILE *fp;char ch;if((fp=fopen(""C:UsersAdministratorDesktopEnglish.doc""w""))=NULL){ printf(""cannot open filen"&quo

C# .net3.5写的一个exe应用,把bin\debug拷贝到另一台电脑无法使用,问题事件名称CLR20r3.问题签名01,问题签名02...

问题描述 用C#语言写的一个exe应用,用的.net3.5,框架,自己本机电脑下,把bindebug拷到另一个目录,可以运行,但拷贝到别的电脑却不行,那台电脑.net3.5和4都有,都是win7系统唯一疑点可能是管理员权限问题,因为是某大型公司内部的电脑,只允许上传文件到电脑,不允许拷贝出来,而且无法访问大多数网站,聊天工具也不是扣扣,而是一全套微软的东西,限制相当严,不知是不是这个原因,请有过类似经验或知晓的大神留步.错误截图如下: 解决方案 解决方案二:用Log把错误消息输出来看看!解决方案