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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 首页的显示和问题[通俗易懂]

    首页的显示和问题[通俗易懂]首页的显示和问题

    2022年4月21日
    60
  • mybatis插件原理_mybatis分页查询实现

    mybatis插件原理_mybatis分页查询实现目录一、mybatis插件介绍二、mybatis插件原理1、创建2、拦截1)首先是ParameterHandler的创建,在Configuration类当中:2)interceptorChain保存了所有的拦截器(interceptors),是mybatis初始化的时候创建的。3、应用1)类相关代码2)插件配置,在sqlMapConfig.xml中三、自定义插件1、插件接口2、自定义插件1)相关类代码2)相关配置sqlMapConfig.xml3)mapper接口4)mapper.

    2022年10月7日
    1
  • STM32入门教程第一讲

    STM32入门教程第一讲STM32入门教程,采用STM32F10系列芯片

    2025年9月26日
    3
  • layUI展示树状treetable树形表格完整代码「建议收藏」

    layUI展示树状treetable树形表格完整代码「建议收藏」前言:因项目功能需要,在shiro权限管理模块中需要使用树状展示,前端使用的layUI框架,在官网的开发文档上没有找到树状表格的内容。只有树状菜单的文档:https://www.layui.com/doc/modules/tree.html树状表格步骤如下:1、首先下载所需调用的文件。下载链接:https://download.csdn.net/download/qq_35393472/10…

    2022年6月14日
    32
  • PD快速充电协议(转)[通俗易懂]

    PD快速充电协议(转)[通俗易懂]来源-作者@:http://www.elecfans.com/d/647097.html建议读者阅读原文,确保获得完整的信息1.PD充电协议是什么意思    PD充电协议是USB-IF组织公布的功率传输协议,它可以使目前默认最大功率5V/2A的type-c接口提高到100W,同时谷歌宣布Android7.0以上的手机搭载的快充协议必须支持PD协议,意在统一快充市场。2.PD协议快充是什么意思   …

    2025年8月8日
    4
  • 12款最常用的Java测试工具

    12款最常用的Java测试工具Parasoft JtestJtest是Parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。AbbotAbbot是一款测试JavaGUIs的JUnit扩展程序。JProfilerJProfiler是一个全功能的Java剖析工具(profiler),主要用于检查和跟踪系统(限于Java开发的

    2022年10月9日
    2

发表回复

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

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