J’ai ceci dans une classe appelée “MessageQueueReceive”. public MessageQueueTransaction BlockingReceive(out Message message) { MessageQueueTransaction tran = null; message = null; tran = new MessageQueueTransaction(); tran.Begin(); try { message = Queue.Receive(new TimeSpan(0, 0, 5), tran); } catch (MessageQueueException ex) { // If the exception was a timeout, then just continue // otherwise re-raise it. if (ex.MessageQueueErrorCode […]
Je suis confus. À première vue, effectuer une transaction en C # semble simple. D’ici: http://docs.oracle.com/cd/B19306_01/win.102/b14307/OracleTransactionClass.htm ssortingng constr = “User Id=scott;Password=tiger;Data Source=oracle”; OracleConnection con = new OracleConnection(constr); con.Open(); OracleCommand cmd = con.CreateCommand(); cmd.CommandText = “SELECT COUNT(*) FROM MyTable”; // Start a transaction OracleTransaction txn = con.BeginTransaction( IsolationLevel.ReadCommitted); try { // Insert the same row twice […]
existe-t-il une alternative à transactionScope qui ne nécessite pas d’activer le DTC? Dans la transaction, je dois effectuer deux opérations: Créer un utilisateur (à l’aide de l’appartenance – fournisseur d’adhésion SQL) Effectuez une opération d’insertion.
J’ai un code qui essaye d’insérer des entrées étendues dans une transaction MSDTC et s’il y a un échec d’insertion, l’insertion est retentée jusqu’à un seuil spécifique. Voici le code: while(!SaveToDb){ ……. Thread.Sleep(TimeSpan.FromMinutes(AppConfiguration.RetryInsertionDuringFailureIntervalInMin)); } private bool SaveToDb() { try { …… using (var scope = new TransactionScope(TransactionScopeOption.Required, option)) { Context.SaveEmail(_emailInfoList); Context.SaveSyncState(syncState); scope.Complete(); return true; } […]
Y a-t-il une limite au nombre d’insertions que vous pouvez effectuer dans une transaction Access avant de devoir valider ou avant qu’Access / Jet renvoie une erreur? J’exécute actuellement le code suivant dans l’espoir de déterminer quel est ce maximum. OleDbConnection cn = new OleDbConnection( @”Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\temp\myAccessFile.accdb;Persist Security Info=False;”); try { cn.Open(); oleCommand = new […]
J’ai un service qui contient un processeur en cours d’exécution, et il fait deux choses: 1- Create a file in a directory. 2- Set your own status to “Processed”. Mais, lorsque le service est arrêté exactement au milieu du traitement, le fichier est créé dans le répertoire, mais le processus n’est pas finalisé, comme ceci: […]
Comme Eric Lippert l’a décrit dans cet article , le yield return n’est pas autorisé dans try/catch clauses try/catch . Existe-t-il un moyen agréable d’obtenir quelque chose comme ceci sans avoir à écrire mon propre IEnumerator à la main: public IEnumerable GetData() { var transaction = Session.BeginTransaction()); try { IQuery q = CreateQuery(session); foreach (var […]
Je code une transaction manuellement dans ADO.NET. L’exemple que je travaille à partir de réutilise SqlCommand qui semble être une bonne idée. Cependant, j’ai ajouté des parameters à ma commande. Ma question est la suivante: dans le code suivant, command.Parameters.Clear() correct? Ou est-ce que je me trompe? using (var connection = new SqlConnection(EomAppCommon.EomAppSettings.ConnStr)) { connection.Open(); […]
Une transaction peut-elle être annulée une fois qu’elle est validée et que la connexion est fermée? finally { // Commit the transaction. sqlTran.Commit(); reader.Close(); reader.Dispose(); conn.Close(); conn.Dispose(); } Je voudrais donner à l’utilisateur une option de Opps! annulez-le . Donc, s’il est engagé, peut-il être annulé?
J’ai essayé plusieurs façons, y compris sur SO. Le code MYSQL suivant ne fonctionne pas dans Firebird: CREATE TABLE publications ( INT NOT NULL AUTO_INCREMENT , PRIMARY KEY (`id`), filename varchar(500) not null unique, title varchar(500) DEFAULT NULL, authors varchar(1000) DEFAULT NULL, uploader int DEFAULT NULL, keywords varchar(500) DEFAULT NULL, rawtext text, lastmodified timestamp default […]