Architekturproblem

07/09/2007 - 20:11 von vollmer2905 | Report spam
Hallo NG,

ich bin dabei eine kleine Anwendung zu implementieren, in dem es um
Warenwirtschaft geht.

Bei dem Erstellen von Rechnungen stellt sich mir die Frage, wie man es
lösen kann, dass eine Rechnung mittels StoredProcedure gespeichert wird und
im selben Zug die Rechnungspositionen. Die DB ist so aufgebaut, dass
Rechnungsdaten in INVOICES gespeichert werden und die Positionen in einer
dazu entsprechenden anderen Tabelle mit Rechnungsnummern-Verknüpfung.
Nun das Problem: wie kann ich alles in einer Transaktion verarbeiten?
damit meine ich das Schreiben der allg. Rechnungsdaten und der Positionen.

Meines Wissens her kann man keine Art Array an eine StoredProcedure (SP)
übergeben, welche die Rechnungspositionen inne haben würde. Wie kann ich
das lösen, dass alles in einer Transaktion abgehadelt wird? D.h., dass wenn
z.B. eine Rechnungsposition nicht geschrieben wird, der gesamte
Rechnungsvorgang zurück gerollt wird und eine Fehlermeldung zurück kommt.
Ist es möglich Transaktionen über eine làngere Zeitraum aufrechzuerhalten
und im Falle eines Fehler zurück zurollen? (ich müsste ja aus .NET heraus
für jede Rechnungsposition die SP neu aufrufen. nur bleibt die Frage offen
wie ich das dann mit Transaktionen handle)??????????????????

Bitte um zahlreiche Ratschlàge bzw. Hinweise wie man sowas anders
professionell löst.

MfG
Micha W.
 

Lesen sie die antworten

#1 Peter Fleischer
08/09/2007 - 05:47 | Warnen spam
wrote:

ich bin dabei eine kleine Anwendung zu implementieren, in dem es um
Warenwirtschaft geht.

Bei dem Erstellen von Rechnungen stellt sich mir die Frage, wie man es
lösen kann, dass eine Rechnung mittels StoredProcedure gespeichert
wird und im selben Zug die Rechnungspositionen.



Wher kommt diese Forderung "im selben Zug"?

Die DB ist so
aufgebaut, dass Rechnungsdaten in INVOICES gespeichert werden und die
Positionen in einer dazu entsprechenden anderen Tabelle mit
Rechnungsnummern-Verknüpfung. Nun das Problem: wie kann ich alles in
einer Transaktion verarbeiten? damit meine ich das Schreiben der
allg. Rechnungsdaten und der Positionen.



Erstelle ein Transaktions-Objekt und ordne dieses den betreffenden
Command-Objekten zu.

Meines Wissens her kann man keine Art Array an eine StoredProcedure
(SP) übergeben,



Doch, kann man. Die SP ist nur entsprechend zu gestalten, z.B. als UDP.

welche die Rechnungspositionen inne haben würde. Wie
kann ich das lösen, dass alles in einer Transaktion abgehadelt wird?



Das gleiche Transaktions-Objekt allen betreffenden Command-Objekten
zuweisen.

D.h., dass wenn z.B. eine Rechnungsposition nicht geschrieben wird,
der gesamte Rechnungsvorgang zurück gerollt wird und eine
Fehlermeldung zurück kommt.



Welche Gründe soll es für diesen Ablauf geben?

Ist es möglich Transaktionen über eine
làngere Zeitraum aufrechzuerhalten und im Falle eines Fehler zurück
zurollen?



Was verstehst du unter einem làngeren Zeitraum?

(ich müsste ja aus .NET heraus für jede Rechnungsposition
die SP neu aufrufen. nur bleibt die Frage offen wie ich das dann mit
Transaktionen handle)??????????????????



Ich habe nicht verstanden, wo denn die konkreten Probleme liegen.

Bitte um zahlreiche Ratschlàge bzw. Hinweise wie man sowas anders
professionell löst.



Du erhöhst Deine Chance, dass Deine Frage überhaupt gelesen und qualifiziert
und schnell beantwortet wird, wenn Du Deinen Realnamen im Absender
einstellst (Vor- und Zuname).

Viele Grüße

Peter

Ähnliche fragen