ORA-01453: SET TRANSACTION must be first statement of transaction

ORA-01453: SET TRANSACTION must be first statement of transaction

 

参考:

http://blog.csdn.net/levine2008/archive/2009/09/01/4505887.aspx

http://social.msdn.microsoft.com/Forums/en/adodotnetdataproviders/thread/86e72cff-8c35-4994-8774-03535c06a744

 

suspect is the oracle oci.dll version. If below version 10.2 will cause this problem.
But if you want to solve this problem without update your oci.dll.
you just change this code 
ts=conn.BeginTransaction(IsolationLevel.ReadCommitted)
 to
ts=
conn.BeginTransaction( )

Do not set the IsolationLevel,

 

  成员名称 说明
由 .NET Compact Framework 支持 Chaos 无法改写隔离级别更高的事务中的挂起的更改。 
由 .NET Compact Framework 支持 ReadCommitted 在正在读取数据时保持共享锁,以避免脏读,但是在事务结束之前可以更改数据,从而导致不可重复的读取或幻像数据。 
由 .NET Compact Framework 支持 ReadUncommitted 可以进行脏读,意思是说,不发布共享锁,也不接受独占锁。 
由 .NET Compact Framework 支持 RepeatableRead 在查询中使用的所有数据上放置锁,以防止其他用户更新这些数据。防止不可重复的读取,但是仍可以有幻像行。 
由 .NET Compact Framework 支持 Serializable 在 DataSet 上放置范围锁,以防止在事务完成之前由其他用户更新行或向数据集中插入行。 
由 .NET Compact Framework 支持 Snapshot 通过在一个应用程序正在修改数据时存储另一个应用程序可以读取的相同数据版本来减少阻止。表示您无法从一个事务中看到在其他事务中进行的更改,即便重新查询也是如此。 
由 .NET Compact Framework 支持 Unspecified 正在使用与指定隔离级别不同的隔离级别,但是无法确定该级别。 

当使用 OdbcTransaction 时,如果不设置 IsolationLevel 或者将 IsolationLevel 设置为 Unspecied,事务将根据基础 ODBC 驱动程序的默认隔离级别来执行。

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100481.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 节流 防抖 技术

    节流 防抖 技术节流优化网络请求预设一个函数只有大于等于执行周期时才会执行该函数 周期内调用该函数不执行如同水滴积累够一定重量后才会落下应用场景 1 连续点击按钮切需求为间隔请求例如页面的 刷新 按钮 2 上拉加载获取数据的 上拉加载 节流技术的实现原理获取 newDate 时间求的时间差来限制一定时间内只允许执行一次指定函数以此来达到限制网络请求

    2025年9月30日
    3
  • Ubuntu 下安装 GCC 的方法[通俗易懂]

    Ubuntu 下安装 GCC 的方法[通俗易懂]1.更新Ubuntu执行下面命令:$sudoaptupdate结果更新老是失败,于是把etc\apt\sources.list文件中的数据源修改成国内站点,才搞定:debhttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/bionicmainrestricteduniversemultiversedebhttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/bionic-updatesmainre

    2022年7月24日
    10
  • WPF教程(二) WPF vs WinForms

    在前面的章节,我们讨论了WPF是什么,还涉及了一点点WinForms。在本章节,我将尝试比较两者,尽管它们服务的目的一样,却存在很多的区别。如果你以前从来没有接触过WinForms,或者WPF是你学习的第一种GUI框架,请跳过这一章节。但是如果你有兴趣的话,不妨尝试一读。先说说两者最重要的区别。WinForms只是标准窗体控件顶部的一层(如文本框),而WPF从零开始,几乎在所有场景下都不依赖于

    2022年4月9日
    44
  • 二维数组分组:按照一个键值,按照多个键值

    二维数组分组:按照一个键值,按照多个键值

    2021年10月9日
    43
  • Unity3D :关于UGUI的网格重建、动静分离[通俗易懂]

    Unity3D :关于UGUI的网格重建、动静分离[通俗易懂]前言:无论是网上的攻略还是以前的经验来说,都说UGUI需要进行动静分离。也就是说同一个界面下的UI,可活动的元素放在一个Canvas下,不可活动的元素放在另一个Canvas下。虽然两个Canvas打断了合批,但是却减少了网格的重建时间,总体上是有优化的。究其原因,是因为在同一个Canvas下的某个元素发生变化时,同一Canvas下的所有元素都会进行网格重建(ReBatch)。而静态的元素在…

    2022年5月10日
    47
  • nginx搭建遇到的配置问题(持续更新)「建议收藏」

    nginx搭建遇到的配置问题(持续更新)「建议收藏」nginx搭建遇到的配置问题(持续更新)

    2022年4月22日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号