ODP.NET代码在4.121而不是2.121上崩溃-Windows服务-CommandBehavior.CloseConnection

时间:2018-07-26 12:16:09

标签: vb.net windows-services odp.net

我有一个Windows服务问题,当尝试处置以这种方式创建的阅读器时,该服务崩溃了:

 drOra = cmdOra.ExecuteReader(CommandBehavior.CloseConnection)

处置位于Final块中,检查是否为空

 If Not drOra Is Nothing Then drOra.Dispose()

甚至当我将其放置到捕获器中时,Windows服务仍然崩溃。

因此,我修改为使用USING语句,现在该块崩溃了。

我使用ODP.NET版本2.121而不是4.121临时修复了该问题,但希望了解为什么会发生此类崩溃。我无法获得输出,因为它没有到达catch块。

这是非托管提供商。

1 个答案:

答案 0 :(得分:0)

我重构了代码以正确关闭连接和适配器,并删除了CommandBehavior.CloseConnection引用。

一旦我这样做,一切都会开始正常工作。