J'ai un problème où je dois appeler l'AS400 db2 pour appeler une série de procédures stockées d'insertion/mise à jour de mon .net et puis mettre à jour quelques tables SQL2005 si tout dans l'AS400 db va bien. Le pilote que j'utilise n'a pas de transactions distribuées, donc je me demandais si vous pouviez utiliser n'importe lequel des pilotes IBM iSeries pour DB2 pour créer un composant COM +/.NET qui participerait à une transaction distribuée. Pls laissez-moi savoir si quelqu'un a déjà fait quelque chose comme ça avant ou n'importe quel pointeur serait grandement apprécié.Transaction distribuée de .NET vers DB2
Répondre
Quel pilote utilisez-vous?
IBM DB2 Connect prend en charge les transactions distribuées gérées par Windows DTC.
Le pilote DB2 de Microsoft, fourni dans Microsoft Host Integration Server, effectue également des transactions.
Je vous entends deux choses différentes. Vous voulez effectuer une transaction qui s'étend sur SQL et DB2. et aussi vous voulez construire un composant qui participe à une transaction distribuée. Ceux-ci peuvent être faits ensemble mais le premier n'exige pas le dernier.
En utilisant les System.Transactions classes .NET 2.0, vous pouvez le faire:
TransactionOptions options = new TransactionOptions();
options.IsolationLevel = IsolationLevel.Serializable;
options.Timeout = TransactionManager.DefaultTimeout;
using(var scope = new TransactionScope(TransactionScopeOption.Required,
options,
EnterpriseServicesInteropOption.Full))
{
TransactionalWorkinDb2();
TransactionalWorkinSql();
scope.Complete();
}
Le résultat sera une transaction distribuée qui couvre DB2 et SQL, mais ce n'est pas un élément qui participe à une transaction distribuée, si vous voyez ce que je veux dire.
L'autre alternative consiste à utiliser le modèle EnterpriseServices/COM + de définition d'un composant qui fait quelque chose et en marquant ce composant comme transactionnel. Cela fonctionne également, mais n'est pas requis pour effectuer des transactions distribuées dans .NET.
- 1. transaction distribuée par MSDTC avorté
- 2. Transaction distribuée terminée. Soit enrôler cette session dans une nouvelle transaction ou la transaction NULL
- 3. Transaction pour l'adhésion ASP .net
- 4. transaction distribuée entre deux MS SQL Server 2005
- 5. C# SQL Transaction distribuée terminée. Soit enregistrez cette session dans une nouvelle transaction, soit la transaction NULL
- 6. Impossible d'envoyer la transaction .NET au serveur DB2 dans la fenêtre 2003
- 7. .net migration de grille distribuée, recommandations sur les bibliothèques, architecture
- 8. Pourquoi l'exécution de SSIS ne démarre-t-elle pas la transaction distribuée?
- 9. Connexion à DB2 via .NET DbConnection
- 10. XML vers Relationnel avec DB2 et Java (et Hibernate?)
- 11. NHibernate createSQLQuery Transaction Problème
- 12. DB2 Bulk Load à partir de .Net (C#)?
- 13. Appel de procédure asynchrone avec DB2 .NET Data Provider
- 14. transaction système .net supprimer l'exception de la session
- 15. Gestion de projet distribuée/suivi des bogues
- 16. Tutoriels .NET vers Java
- 17. Comment exporter une base de données DB2 sans serveur DB2
- 18. TransactionScope ne fonctionnera pas avec le fournisseur de DB2
- 19. Pourquoi une insertion de 1M est-elle plus lente sans transaction que dans une transaction?
- 20. EJB3/DB2 Transactions ne recule pas
- 21. Transaction des données d'application d'entreprise transaction
- 22. Appels système de .NET vers mono
- 23. Subsonic Erreur de transaction
- 24. Problème de transaction Hibernate
- 25. Exception de transaction Nhibernate
- 26. Mise en cache distribuée sur mono
- 27. Comment utiliser NHibernate dans une architecture distribuée?
- 28. Aide à la mise en cache distribuée
- 29. DTS DB2 Problème de connexion
- 30. Problème de connexion Db2 avec Java