2011-08-01 48 views
2

我正在制作一个非常简单的Lightswitch项目,该项目将连接到Oracle 11g数据库中的表。我向该项目添加一个可编辑网格并构建该项目。当我尝试在网格中我碰到下面的错误添加或编辑数据:使用Oracle数据库的Microsoft Lightswitch事务错误

An error occurred while starting a transaction on the provider connection. See the inner exception for details.

Inner exception message: Connection is already part of a local or a distributed transaction

有项目中没有自定义代码。我的看法是,Lightswitch应该使数据表单非常容易。我已经四处寻找帮助,但没有到目前为止。

+0

你尝试过相关的MS LightSwitch的论坛? :http://social.msdn.microsoft.com/Forums/en-US/category/vslightswitch –

+0

我看过但没有发现任何有用的东西,这就是为什么我在这里问。 – Wallhood

回答

0

尝试将此代码添加到您的数据源代码。 (右键单击Oracle数据源并选择“查看代码”)

确保您记得更改类名以匹配您的数据源。

using System.Transactions; 

namespace LightSwitchApplication 
{ 
    public partial class <ChangeThisToYourClassName> 
    { 
     private TransactionScope tx; 

     partial void SaveChanges_Executed() 
     { 
      tx.Complete(); 
     } 

     partial void SaveChanges_Executing() 
     { 
      tx = new TransactionScope(TransactionScopeOption.Required, 
        new TransactionOptions { 
         IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted 
        }); 
     } 
    } 
} 
1

//你需要清理或TXN将失败..

partial void SaveChanges_Executed() 
{ 
    tx.Complete(); 
    tx.Dispose(); 
} 
1

如果你得到这个错误,“内部异常消息:连接已经是本地或分布式事务的一部分“

您可以通过以下由BScholz第二后解决问题,https://forums.oracle.com/forums/thread.jspa?threadID=2263095

基本上,你需要实现SaveChanges_Excuting和SaveChanges_Excuted FO Oracle数据源。

  1. 切换到“文件视图”(LightSwitch默认显示“逻辑视图”)。
  2. 在Server项目中添加对“System.Transactions”的引用。
  3. 切换回“逻辑视图”
  4. 右键单击数据源名称,然后单击“查看代码”以编辑部分类。
  5. 复制和粘贴下面的代码:

    private TransactionScope _tscope; 
    
    partial void SaveChanges_Executing() 
    { 
        _tscope = new TransactionScope(TransactionScopeOption.Required, 
        new TransactionOptions 
        { 
         IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted 
        }); 
    } 
    
    partial void SaveChanges_Executed() 
    { 
        _tscope.Complete(); 
        _tscope.Dispose(); 
    } 
    
+0

你可以总结一下你的答案中的线程吗? – Flexo

相关问题