WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 19.02.2007, 15:18   #1
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Frage Transaktion über mehrere Datenbanken

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
Biri ist offline   Mit Zitat antworten
Alt 19.02.2007, 17:31   #2
delphirocks
bitte Mailadresse prüfen!
 
Registriert seit: 17.03.2002
Beiträge: 198


Standard

Ich hab's auch noch nie ausprobiert, aber damit sollte es funktionieren.
delphirocks ist offline   Mit Zitat antworten
Alt 19.02.2007, 17:48   #3
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Standard

Danke!
scheint genau das zu sein, was ich gesucht habe.
Ich werd's in Kürze ausprobieren.

fg
hannes
Biri ist offline   Mit Zitat antworten
Alt 20.02.2007, 10:42   #4
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Standard

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
Biri ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:20 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag