SQL Transaktionen

Diskutiere SQL Transaktionen im Developer Network Forum im Bereich Hardware & Software Forum; Guten Morgen zusammen, im Administrationsbereich einer WebSite soll es dem User ermöglicht werden bestimmte Navigationsstränge zu kopieren...
  • SQL Transaktionen Beitrag #1
B

Bitz683

Mitglied
Dabei seit
30.06.2006
Beiträge
10
Reaktionspunkte
0
Guten Morgen zusammen,

im Administrationsbereich einer WebSite soll es dem User ermöglicht werden
bestimmte Navigationsstränge zu kopieren. Dabei sollen nicht nur die Navi-
gationspunkte, sondern alle entsprechenden Relationstabellen kopiert werden.
Je nachdem wieviele Kinder der Strang hat dauert es entsprechend lang.

Ich habe um sicherzustellen, dass wirklich alles kopiert wird eine Prozedur ge-
schrieben und eine Transaktion erstellt. Nun sind die Tabellen jedoch während
des Vorgangs gesperrt. Das bedeutet, dass während dessen keiner mehr im
Back- oder FrontEnd bestimmte Dinge anzeigen lassen kann. Zum Beispiel
Start-Seite der WebSite oder Navigationsbaum im BackEnd.

Gibt es eine Möglichkeit trotz Sperrung der Tabellen auf diese zu zugreifen
und dabei nicht alle Select-Statements anpassen zu müssen ( Select * from
<Tabelle> with(noLock ) <- wäre zuviel aufwand.

Danke für die Hilfe
Gruß Bitz
 
  • SQL Transaktionen Beitrag #2
B

Bitz683

Mitglied
Dabei seit
30.06.2006
Beiträge
10
Reaktionspunkte
0
Habe das Internet und die MSDN weiter nach einer Lösung für mein Problem
durchsucht. Bin da auf die Funktion SET TRANSACTION ISOLATION LEVEL ge-
stoßen. Nach durchtesten habe ich auch hier das Problem, dass ich diesen
Befehl vor dem entsprechendem SQL - Statement setzen muss, dass auf die
gesperrte Tabelle zugreifen will. Also Ähnlich wie mit WITH(NOLOCK). Ist aber
zuviel aufwand alles entsprechend anzupassen. Sollte es aber keine Lösung ge-
ben bleibt nichts andere übrig :tr

Gibt es noch eine andere Lösung?
 
  • SQL Transaktionen Beitrag #3
O

O Love

Bekanntes Mitglied
Dabei seit
08.04.1999
Beiträge
2.286
Reaktionspunkte
0
Wenn Du obigen Befehl über die Verbindungskomponente der Anwendung absetzt, gilt dieser, solange die Verbindung offen ist. Du brauchst also nur eine Stelle ändern, nämlich AfterConnect.
 
  • SQL Transaktionen Beitrag #4
B

Bitz683

Mitglied
Dabei seit
30.06.2006
Beiträge
10
Reaktionspunkte
0
Danke O Love für die Antwort,

wenn ich dich richtig verstanden habe soll ich das mit dem
SET TRANSACTION ISOLATION LEVEL dann aufrufen, wenn
ich die Verbingung zur Datenbank erstellt habe. wenn ja,
kann ich das so nicht machen bzw. es wäre keine Zeiter-
sparnis. Grund ist, dass keine Klasse und auch keine glo-
bale Funktion benutzt wird, um sich zur Datenbank zu ver-
binden. vor jedem Statement wird eine extra Verbindung
aufgebaut ( Ich habes nicht gemacht ich muss nur damit
leben ). nun denn. Meine Lösung ist derzeit so, dass der
User darauf hingewiesen wird ( per confirm(); ) wieviel
User derzeit online sind ( bezogen auf das Admintool ) und
er dann entscheiden muss ob er verschiebt oder kopiert
und dabei das System blockiert. FrontEnd liegt auf einem
anderen Rechner. Ist somit zum glück nicht betroffen :)

Dennoch vielen Dank für die antwort.

Grüße Bitz
 
  • SQL Transaktionen Beitrag #5
O

O Love

Bekanntes Mitglied
Dabei seit
08.04.1999
Beiträge
2.286
Reaktionspunkte
0
Unser Framework, welches für die komplette Benutzung eine Verbindung offenhält, konnte durch diesen einen Befehl beschleunigt werden. Klappt halt in der Form nicht bei Dir...
 
  • SQL Transaktionen Beitrag #6
B

Bitz683

Mitglied
Dabei seit
30.06.2006
Beiträge
10
Reaktionspunkte
0
Dennoch Danke für deine Hilfe,
hat noch jemand einen Vorschlag zur Lösung des Problems
Wäre echt cool.

Grüße Bitz
 
Thema:

SQL Transaktionen

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben