diff --git a/dotnet/src/dotnetframework/GxClasses/Data/GXDataADO.cs b/dotnet/src/dotnetframework/GxClasses/Data/GXDataADO.cs index c81ea55a0..6de7844cb 100644 --- a/dotnet/src/dotnetframework/GxClasses/Data/GXDataADO.cs +++ b/dotnet/src/dotnetframework/GxClasses/Data/GXDataADO.cs @@ -860,6 +860,11 @@ public void SetIsolationLevel( ushort level) m_dataRecord.IsolationLevelTrn = IsolationLevel.Serializable; GXLogging.Debug(log, "Setting IsolationLevel : Serializable " + ((int)m_dataRecord.IsolationLevelTrn)); } + else if (level == 4) + { + m_dataRecord.IsolationLevelTrn = IsolationLevel.RepeatableRead; + GXLogging.Debug(log, "Setting IsolationLevel : Repeatable Read " + ((int)m_dataRecord.IsolationLevelTrn)); + } else { m_dataRecord.IsolationLevelTrn = IsolationLevel.ReadUncommitted; @@ -2606,6 +2611,10 @@ private void Initialize(IGxDataRecord db, string id, int hnd, IGxContext context { isoLevelNum = 3; } + else if (Config.GetValueOf(ds, "Connection-" + id + "-IsolationLevel", out isolevel) && isolevel.ToUpper() == "RR") + { + isoLevelNum = 4; + } else if (Config.GetValueOf("ISOLATION_LEVEL", out isolevel) && isolevel.ToUpper() == "CR") { isoLevelNum = 2; @@ -2614,6 +2623,10 @@ private void Initialize(IGxDataRecord db, string id, int hnd, IGxContext context { isoLevelNum = 3; } + else if (Config.GetValueOf("ISOLATION_LEVEL", out isolevel) && isolevel.ToUpper() == "RR") + { + isoLevelNum = 4; + } connection.SetIsolationLevel(isoLevelNum);