我是靠谱客的博主 活泼花卷,最近开发中收集的这篇文章主要介绍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 驱动程序的默认隔离级别来执行。

 

 

 

最后

以上就是活泼花卷为你收集整理的ORA-01453: SET TRANSACTION must be first statement of transaction的全部内容,希望文章能够帮你解决ORA-01453: SET TRANSACTION must be first statement of transaction所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部