Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


RAISERROR

Postades av 2003-03-11 22:33:00 - Fredrik Salomonsson, i forum sql-server/msde, Tråden har 9 Kommentarer och lästs av 877 personer

Hej.

Har precis börjat titta på transaktioner i sql-server.
Hur gör man ifall man efter rollback bara vill skicka vidare felet till klienten??

-- UPDATE tbl.....
IF @error != 0
BEGIN
@ErrNum = @error
ROLLBACK TRANSACTION
RAISERROR(?????) -Hur göra här??
RETURN
END

//fredda


Svara

Sv: RAISERROR

Postades av 2003-03-11 23:16:53 - Christoffer Hedgate

Antingen måste du ha en tillräckligt hög severity, alt. kan du använda WITH SETERROR


Svara

Sv: RAISERROR

Postades av 2003-03-12 10:17:43 - Mikael Deurell

Hej!
Ett raisat fel i TSQL mappas mot ett normalt raisat COM error mot klienten. Detta kan enkelt snappas upp i en vanlig ErrorHandler enligt koden nedan (exempel i VB). Severity levels 11-16 på TSQLs RAISERROR är mappade som användargenererade...

<code>
Public Sub ExecStoredProc()
On Error GoTo ErrHandler
Dim cn As ADODB.Connection
Dim cmd As ADODB.Command
Set cn = New ADODB.Connection
cn.Open ("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=testdb;Data Source=.")

Set cmd = New ADODB.Command
With cmd
.ActiveConnection = cn
.CommandText = "ThrowMe"
.CommandType = adCmdStoredProc
.Execute
End With
cn.Close
Set cmd = Nothing
Set cn = Nothing
Exit Sub
ErrHandler:
Debug.Print Err.Description & ", source: " & Err.Source
End Sub
</code>

<code>
CREATE PROCEDURE ThrowMe AS
RAISERROR ('This error raised from the stored proc.',16,1)
GO
</code>

/Micke


Svara

Sv: RAISERROR

Postades av 2003-03-12 18:47:07 - Fredrik Salomonsson

Hej igen.

"WITH SETERROR" hittade jag inget på i Books Online :-/


Gejen är att jag vill ha fram textmeddelandet som sql-servern skickar när jag får fel.
Vill bara ha en möjlighet att göra en rollback först, för att sen skicka felet som om jag inte hade tagit hand om det.

Jag är som sagt nybörjare på transaktioner och felhantering i TSQL så om jag inte tänker i rätt banor får ni hojta till...

//fredda


Svara

Sv: RAISERROR

Postades av 2003-03-12 22:49:57 - Christoffer Hedgate

WITH SETERROR är en option till Raiserror. Om jag förstår dig rätt så kan du inte göra det du vill. Raiserror slänger ett fel med ett nummer som du definierar, du kan inte kasta SQL Servers fel vidare.


Svara

Sv: RAISERROR

Postades av 2003-03-13 07:18:20 - Mikael Wedham

Det borde väl gå att köra en RAISERROR (@@error,16,1)

/micke


Svara

Sv: RAISERROR

Postades av 2003-03-13 09:24:02 - Christoffer Hedgate

Nja, bara om @@error >= 13000. De flesta fel som man kan vara intresserad av i såna här fall, t ex en foreign key violation eller något, ligger under 13000.


Svara

Sv: RAISERROR

Postades av 2003-03-13 10:14:21 - Fredrik Salomonsson


Rackarns!

Hmm. Det finns ingenstans man kan "slå upp" vilket felmeddelande ett visst felnummer har?? Direkt i SQL menar jag då, en system-sp eller liknande.

Det bästa vore om det fanns en funktion typ @@ERRMSG :-/

Tackar iallafall för alla svar men kom gärna med fler kommentarer.

//fredda


Svara

Sv: RAISERROR

Postades av 2003-03-13 10:58:02 - Christoffer Hedgate

<code>
SET @errornum = @@error
SELECT description FROM master.dbo.sysmessages WHERE error = @errornum
</code>


Svara

Sv: RAISERROR

Postades av 2003-03-13 18:06:13 - Fredrik Salomonsson

Hej.

Christoffer: Super!!
Tack alla ni för hjälpen.

//fredda


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 619
27 953
271 709
5 723
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies