Im EAServer können Sie eine Komponente implementieren, die Vorgänge mit mehr als einer Datenbank ausführt. Sie weisen dieser Komponente ein Transaktionsattribut zu, das festlegt, wie sie an Transaktionen teilnimmt. Das Transaktionsattribut kann die folgenden Werte annehmen:
Nicht unterstützt Die Methoden der Komponente werden nie als Teil einer Transaktion ausgeführt. Wird die Komponente von einer anderen Komponente aktiviert, die innerhalb einer Transaktion ausgeführt wird, dann wird die Arbeit der neuen Instanz außerhalb der vorhandenen Transaktion ausgeführt. Dies ist die Standardeinstellung.
Unterstützt Transaktion Die Komponente kann im Kontext einer Transaktion ausgeführt werden. Eine Verbindung ist jedoch nicht erforderlich, um die Methoden der Komponente auszuführen. Wenn die Komponente direkt von einem Basis-Clienten instanziert wird, beginnt EAServer keine Transaktion. Wenn Komponente A von Komponente B instanziert und Komponente B innerhalb einer Transaktion ausgeführt wird, führt das System die Komponente A in derselben Transaktion aus.
Erfordert Transaktion Die Komponente wird immer in einer Transaktion ausgeführt. Wenn die Komponente direkt von einem Basis-Client instanziert wird, beginnt eine neue Transaktion. Wenn Komponente A von Komponente B aktiviert wird und B innerhalb einer Transaktion ausgeführt wird, führt das System A innerhalb derselben Transaktion aus, wenn B nicht in einer Transaktion ausgeführt wird, führt das System A in einer neuen Transaktion aus.
Erfordert neue Transaktion Wenn die Komponente instanziert wird, beginnt eine neue Transaktion. Wenn Komponente A von Komponente B aktiviert wird und B innerhalb einer Transaktion ausgeführt wird, beginnt A einen neue Transaktion, die unabhängig ist vom Ergebnis der Transaktion B, wenn B nicht in einer Transaktion ausgeführt wird, führt das System A in einer neuen Transaktion aus.
In der Beispielanwendung Sybase Virtual University, die mit EAServer als SVU-Paket geliefert wird, führt die enroll-Methode der SVUEnrollment-Komponente zwei separate Vorgänge aus (reserviert einen Platz in einem Kurs, fakturiert den Studenten für den Kurs). Diese beiden Vorgänge müssen als Einzel-Transaktionen behandelt werden.
Microsoft Transaction Server bietet dieselbe Gruppe von Attributwerten.
Ermitteln Sie die Position der Komponente im Jaguar Manager.
Wenn Sie die Komponente SVUEnrollment in der Jaguar-Beispielanwendung suchen möchten, stellen Sie eine Verbindung zum Jaguar-Server her. Öffnen Sie den Ordner Pakete und anschließend das SVU-Paket. Die Komponenten im Paket werden im rechten Fensterausschnitt aufgeführt.
Legen Sie das Transaktionsattribut für die Komponente fest.
Klicken Sie mit der rechten Maustaste auf die Komponente und wählen Sie Komponenten-Eigenschaften. Öffnen Sie das Register Transaktion und wählen Sie den Wert für das Transaktionsattribut aus der Liste. Klicken Sie auf OK, damit der Vorgang abgeschlossen wird.
Die Komponente SVUEnrollment ist bereits als Erfordert Transaktion markiert.
Wenn das Komponenten-Transaktionsattribut festgelegt ist, können Sie SQL Anywhere-Vorgänge von der Komponente aus ausführen und sicher sein, dass die Transaktion auf der Ebene ausgeführt wird, die Sie angegeben haben.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |