Ich versuche, einen Client zu schreiben, der eine Reihe von DB2 iSeries Stored Procedures in DB2 ausführt. Ich verwende den IBM.Data.DB2.iSeries-Provider und brauche alle meine Aufrufe innerhalb einer .NET-Transaktion. Scheint, als ob alles ignoriert und Daten committed.Any Zeiger ...Wie können Sie Transaktionen mit IBM.Data.DB2.iSeries für gespeicherte Prozeduren aktivieren?
1
A
Antwort
3
Ist die Datenbank auf der iSeries Journaled? Dies ist für die Commitment-Kontrolle erforderlich.
0
Sind Sie die ich hatte gerade das gleiche Problem DB2Connection.BeginTransaction Method?
1
verwenden und herausgefunden, dass das Problem nicht in dem .Net-Code ist, aber in der gespeicherten Prozedur. Überprüfen Sie Ihre gespeicherte Prozesendefinition für eine COMMIT-Option. Wenn es auf "* NONE" gesetzt ist, wird es automatisch committen, unabhängig von Transaktionen in Ihrem .Net-Code. Ändern Sie es in * RR (wiederholbar lesen), und Ihre Transaktionen sollten ordnungsgemäß funktionieren.
Weitere Informationen here.
ja die erforderlichen Dateien werden im Journal gespeichert – chugh97
Ist Ihr iSeries-Server unter Softwarewartung? Wenn ja, können Sie wahrscheinlich IBM anrufen und direkt fragen. –
Es kann auch hilfreich sein zu wissen, wie diese gespeicherten Prozeduren definiert oder verwendet werden. Verwenden Sie die SQL CALL-Anweisung, sind sie RPG-Programme usw. –