首页 新闻 会员 周边 捐助

循环访问oracle的程序崩溃,由于未经处理的异常,进程终止。

0
悬赏园豆:50 [已解决问题] 解决于 2012-10-16 16:26

在机器上运行一个程序。该程序循环访问oracle数据库做数据通信。发现这个程序经常在莫名奇妙的失踪了。程序界面消失了,任务管理器中也看不到进程。

在事件查看器中找到了下面一条日志:

事件类型: 错误 事件来源: .NET Runtime 事件种类: 无 事件 ID: 1026 日期:  2012-10-9 事件:  1:48:00 用户:  N/A 计算机: D-14070 描述: 应用程序: Table2Table.exe Framework 版本: v4.0.30319 说明: 由于未经处理的异常,进程终止。 异常信息: System.AccessViolationException 堆栈:    在 System.Data.Common.UnsafeNativeMethods+ICommandText.SetCommandText(System.Guid ByRef, System.String)    在 System.Data.OleDb.OleDbCommand.InitializeCommand(System.Data.CommandBehavior, Boolean)    在 System.Data.OleDb.OleDbCommand.ExecuteCommand(System.Data.CommandBehavior, System.Object ByRef)    在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(System.Data.CommandBehavior, System.String)    在 System.Data.OleDb.OleDbCommand.ExecuteNonQuery()    在 Table2Table.TaskProcessT2T.Process(System.Object)    在 Table2Table.Task.Excute()    在 System.Threading.ThreadHelper.ThreadStart_Context(System.Object)    在 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)    在 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)    在 System.Threading.ThreadHelper.ThreadStart()

有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

 

请问,这个问题如何解决

fupei101011的主页 fupei101011 | 初学一级 | 园豆:81
提问于:2012-10-09 09:08
< >
分享
最佳答案
0

更换Oracle.DataAccess.dll试试,早就不用那个OleDb了,那个错误是非托管部分的错误,很难判断原因,也许是那个OldDb的BUG,反正用Oracle公司自带的OPD.NET是最佳选择。

收获园豆:48
秦楼东 | 小虾三级 |园豆:913 | 2012-10-09 10:40

我用OPD.Net试试看

fupei101011 | 园豆:81 (初学一级) | 2012-10-09 16:03
其他回答(1)
0

难道你是不停的有reader的?

收获园豆:2
chenping2008 | 园豆:9836 (大侠五级) | 2012-10-09 09:17

是的。在线程中死循环访问数据库

支持(0) 反对(0) fupei101011 | 园豆:81 (初学一级) | 2012-10-09 10:15

@fupei101011: 

还有这样的需求

支持(0) 反对(0) chenping2008 | 园豆:9836 (大侠五级) | 2012-10-09 10:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册