2009-05-26 2 views
1

Der nächste Code wird normalerweise in SQLSERVER ausgeführt, aber wenn ich die web.config in die Ausführung mit mySQL nach dem loadbykey ändert, wird die Verbindung geschlossen.SUBSONIC MYSQL SharedDbConnectionScope TransactionScope

Gibt es irgendeine Konfiguration in MYSQL zu ändern, dass ???

danke jede hilfe !!!

//----------------------------------------------------------- 
    string tipoBanco = System.Configuration.ConfigurationManager.AppSettings["tipoBanco"]; 
    string conexao = System.Configuration.ConfigurationManager.ConnectionStrings[tipoBanco].ToString(); 

    using (SharedDbConnectionScope scope = new SharedDbConnectionScope(conexao)) 
    { 
     //----------------------------------------------------------- 
     using (TransactionScope ts = new TransactionScope()) 
     { 
      Cargo c = new Cargo(); 
      c.LoadByKey(9999); 

      SubSonic.StoredProcedure sp = null; 
      sp = new SubSonic.StoredProcedure("sp_test"); 
      sp.Command.AddParameter("paramTabela", "zzz", DbType.AnsiStringFixedLength, null, null); 

      Convert.ToInt32(sp.ExecuteScalar()); 
     } 
    } 

die web.config

<SubSonicService defaultProvider="mysql" enableTrace="false" templateDirectory=""> 
    <providers> 
     <clear/> 
    <add name="mysql" type="SubSonic.MySqlDataProvider, SubSonic" 
      regexDictionaryReplace="Empresaendereco,EmpresaEndereco;Empresacontato,EmpresaContato;Franqueadoendereco,FranqueadoEndereco;Franqueadocontato,FranqueadoContato;Funcionarioacesso,FuncionarioAcesso;Funcionarioendereco,FuncionarioEndereco;Funcionariocontato,FuncionarioContato;Clienteendereco,ClienteEndereco;Clientecontato,ClienteContato;Clientehistorico,ClienteHistorico;Agendastatus,AgendaStatus;Historicostatus,HistoricoStatus" 
      fixDatabaseObjectCasing="true" connectionStringName="mysql" 
      generateRelatedTablesAsProperties="true" 
      fixPluralClassNames="false" 
      generatedNamespace="ModeloDados" 
      regexIgnoreCase="true" 
      removeUnderscores="false" 
      setPropertyDefaultsFromDatabase="true" 
      generateNullableProperties="true" 
      useExtendedProperties="true" 
      useUtc="true" /> 

</providers> 
</SubSonicService> 
+0

möglich duplicate von [Unter Verwendung von Transaktionen mit Unterschall] (http://StackOverflow.com/Questions/910863/User-Transactions-with-subsonic) – Liam

Antwort

3

Ich denke, Ihre Transaction() und SharedDbConnectionScope() Runde der falsche Weg sind. Sie haben sie in der Reihenfolge, in der sie in den Dokumenten auf der SubSonic-Website aufgelistet waren, aber es gab eine Diskussion über das alte SubSonic-Forum, die andeutete, dass sie umgekehrt sein sollten.

Natürlich verwende ich sie umgekehrt (ich habe gerade einen Auszug aus meinem Code auf eine andere Antwort auf hier), aber ich muss sagen, ich benutze nur MSSQL ATM, und kann nicht zu MySQL kommentieren.

+0

Danke Kevinw, ich in umgekehrter Reihenfolge und funktioniert ... – Valmir