Avatar billede dougheffernan Nybegynder
24. maj 2006 - 08:30 Der er 1 kommentar og
1 løsning

Job afvikles ikke korrekt

Følgende kode er oprettet som et job og scheduleret til at køre hver time.

USE [myDatabase]
DECLARE
  @recipients_var as varchar(255),
  @subject_var as varchar(255),
  @message_var as varchar(255),
  @TidNu datetime

SET @TidNu = DATEADD(d, DATEDIFF(d, GETDATE(), CONVERT(datetime, '1-1-1900', 105)), GETDATE())

IF (SELECT Count(*) FROM myTable WHERE DATEDIFF(hh, Klokkeslæt, @TidNu) < 1 AND DATEDIFF(d, Dato, GETDATE()) = 0) <= 0
  BEGIN
    Set @subject_var = 'Ingen data!'
    Set @recipients_var = 'myMail@myDomain.dk'
    Set @message_var = 'Processen er måske startet...'

  EXEC master..xp_sendmail
    @recipients = @recipients_var,
    @subject = @subject_var,
    @message = @message_var
  END

Når jeg selv afvikler jobbet, opfører det sig som det skal, men når det er scheduleret, sendes der en mail uanset om IF-betingelsen er opfyldt eller ej!

Hvad går der galt?
Avatar billede dougheffernan Nybegynder
07. juni 2006 - 10:58 #1
Lukker igen, ingen løsning
Avatar billede dougheffernan Nybegynder
16. juni 2006 - 09:12 #2
Jeg kan nu se at hvis dataene er fra f.eks. kl. 08:37:00, vil jobbet køre korrekt kl. 08:59, men hvis jobbet først kører kl. 09:00, fungerer det IKKE!
Det må da have noget med linien

IF (SELECT Count(*) FROM myTable WHERE DATEDIFF(hh, Klokkeslæt, @TidNu) < 1 AND DATEDIFF(d, Dato, GETDATE()) = 0) <= 0

at gøre (eller hvad?)

Jeg regnede med at SELECT'en gjorde følgende:
Tæl antallet af rækker som er mindre end en time gamle og fra i dag. Hvis antallet er mindre end eller lig 0, så send mail.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester