![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Hero
![]() Registriert seit: 04.09.2001
Beiträge: 894
|
![]() hi,
ich hab da eine interessante frage an euch. ![]() Und zwar arbeite ich an einem System, welches DB Operationen mit einem OR Mapper ausführt (Komponente 1 - K1) und hier auch Transaktionen macht. Weiters wird über eine andere Komponente ebenfalls auf eine Datenbank - die ev. ganz wo anders läuft - zugegriffen. (Komponente 2 - K2) Manche Funktionen einer zussammengehörigen Operation greifen auf K1 und K2 zu. Beispiel: Beginne Transaktion in K1 Schreibe ein paar Daten in K1 Beginne Transaktion in K2 Schreibe ein paar Daten in K2 Commit Transaktion K2 (versuche) Commit Transaktion K1 => FEHLER Rollback Transaktion K1 Und nun gibts ein Problem, die Transaktion in K2 wurde commited, die in K1 rückgängig gemacht. Was ich bräuchte wäre so eine Art "übergeordnete Transaktion". Wie implementiert man so etwas bzw. bietet Sql Server 2005 Möglichkeiten in diese Richtung? thx hannes |
![]() |
![]() |
![]() |
#3 |
Hero
![]() Registriert seit: 04.09.2001
Beiträge: 894
|
![]() Danke!
scheint genau das zu sein, was ich gesucht habe. ![]() Ich werd's in Kürze ausprobieren. fg hannes |
![]() |
![]() |
![]() |
#4 |
Hero
![]() Registriert seit: 04.09.2001
Beiträge: 894
|
![]() hi,
so - ich habs probiert und es hat sogar funktioniert! (reimt sich) für alle anderen, die das auch mal brauchen: Wenn man z.B. eine Transaktion über 2 DB's macht, die am selben PC laufen, ist nicht viel weiter zu tun - der MS-DTC Dienst muss jedoch laufen. (Kann, wenn installiert mit dem SQL Server Service Manager gestartet werden) Wenn die Datenbanken auf 2 Rechnern laufen, muss für den DTC Dienst der Netzwerkzugriff eingerichtet werden und ggf. noch eine Firewall konfiguriert werden, sodass es funktioniert. siehe auch: http://technet2.microsoft.com/Window....mspx?mfr=true fg hannes |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|