hilpers


  hilpers > microsoft.* > microsoft.sqlserver > 12/2003

 #1  
23.12.2003, 17:01
Reinhold Podlesny
wenn ich von verschiedenen applikation auf die gleiche
datenbank zugreifen will, dann sollte man sperren, update,
insert delete und die @@error abfragen in gespeicherte
prozeduren packen.
frage: ist das grundsätzlich richtig oder was muß ich
dabei noch beachten.

besten dank für ein paar strategische hinweise vorab

R. Podlesny
 #2  
23.12.2003, 20:09
Manuel Rodriguez
Hallo Reinhold,
grundsätzlich ist das schon richtig. Du solltest zudem noch die Runtime
Errors in den SPs
abfanden und immer an Eingabe Ausgabe Parameter denken. Ausgabeparameter
sind
Pflicht und sehr nützlich. Sonst hättest du ein Problem die Fehler zu
tracken.
Es hat sich bewert ein Fehlerframework anzulegen... Hilfreich Datu sind
benutzerdefinierte Error Massages... Informiere dich mal darüber und über
die sysmassages...

Lieben Gruß
Manuel
 #3  
23.12.2003, 20:20
Olaf Pietsch
Hallo Reinhold,
In 0a4d01c3c976$6a6d7cb0$a501280a, Reinhold Podlesny typed:
> wenn ich von verschiedenen applikation auf die gleiche
> datenbank zugreifen will, dann sollte man sperren, update,
> insert delete und die @@error abfragen in gespeicherte
> prozeduren packen.
> frage: ist das grundsätzlich richtig oder was muß ich
> dabei noch beachten.
>
> besten dank für ein paar strategische hinweise vorab


Deine Ansatz ist aus meiner Sicht vollkommen empfehlenswert. Bei uns kommt
kein Client mehr an der SP - Schnittstelle vorbei, ggf. View-Schnittstelle.
Ein User kommt in keinem Fall Berechtigungen auf Tabellen. (Das haben wir
nicht immer so gemacht, erst als das durchgesetzt war, war es wesentlicher
einfacher geworden, Anwendungen zu pflegen.)

Ja das Abfragen von @@ERROR nach jedem SQL-Statement INS, DEL, UPD ggf.
SELECT ist einer SP notwendig, um z. B. ein ROLBACK auszuführen. U. U. kann
es auch sinnvoll sein @@ROWCOUNT zu überwachen.

im Prinzip:

UPDATE - Statement

SELECT @fehler = @@ERROR, @anz = @@ROWCOUNT
IF @fehler <> 0
GOTO EndeErr
IF @anz < 1
BEGIN
RAISEERROR ... -- es wurde kein Datensatz geändert
GOTO EndeErr
END

EndeOK:
COMMIT ...
RETURN (0)
EndeErr:
ROLLBACK...
RETURN (1)

So ganz verstehe ich nicht, was Du mit Sperren meinst, meinst Du vielleicht
sp_getapplock?

Gruß Olaf
Ähnliche Themen
Gespeicherte Prozeduren integrieren

Hallo, ich habe ein Problem in meiner aktuellen Anwendung. Hier ist es so, dass doch recht komplexe Datenbankabfragen durchgeführt werden. Als Datenbank verwende ich den...

Access und gespeicherte Prozeduren

Hallo, bevor ich hier vielleicht noch weiter auf dem Holzweg laufe, frag ich doch mal kurz: Access 2003 Jet-Datenbank SQL-Server 2000 lassen sich gespeicherte Prozeduren mit...

gespeicherte Prozeduren

Hallo..., wie kann ich Sp auf einen anderen SQL-Server einsetzen ohne diese wieder neu zu schreiben? Danke MfG Hans-Jürgen

Berechtigungen gespeicherte Prozeduren

Hallo NG, wie kann ich beim SQL-Servier 2000 die Berechtigungen für MEHRERE gespeicherte Prozeduren für einen bestimmten User gleichzeitig ändern? So muss ich immer einzeln...

Gespeicherte Prozeduren

Hallo Leute, ich verwende in meinen Datenbankapplikationen viel gespeicherte Prozeduren. Wenn mehrere User gleichzeitig auf die gleiche Prozedur zugreifen, bekomme ich aber...


Alle Zeitangaben in WEZ. Es ist jetzt 17:51 Uhr. | Privacy Policy