Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [SQLServer] Invio e-mail con la stored SendMail

    Io devo inviare una email da SQLServer tramite la stored sendmail. ora tutto funziona alla perfezione, però quando vado a inserire il GetDate mi fa un casino.
    ecco ciò che ho scritto io:
    codice:
    EXEC xp_sendmail @recipients = 'ladyblu', 
       @message = 'Invio di prova '
       @subject = 'Ciao!',
       @query = 'CreaReport'
    e così funziona benissimo.
    ma io voglio che @message comprenda pure la data:
    codice:
    SELECT CONVERT(char(20), GETDATE(), 13)
    che mi restituisce la data comprensiva di ore, min, sec.
    ho provato a concatenare in questo modo:
    codice:
    @message = 'Invio di prova ' + 
               SELECT CONVERT(char(20), GETDATE(), 13)
    ma non va...

    non ci riesco!...:master:...voi avete qualche idea?

    Grazie a tutti...

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  2. #2
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    E se fai una cosa del tipo
    codice:
    A="SELECT CONVERT(char(20), GETDATE(), 13)"
    @message = 'Invio di prova ' + A
    ...and I miss you...like the deserts miss the rain...

  3. #3
    così legge la stringa e non mi ridà il risultato del Convert, tra l'altro non puoi usare " ma devi mettere '

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  4. #4
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Ma 'invio di prova' suppongo non sia un parametro fisso.
    Quindi perche non esegui la SELECT... concateni il risultato e lo piazzi in @message al posto di 'invio di prova'
    ...and I miss you...like the deserts miss the rain...

  5. #5
    Originariamente inviato da vonkranz
    Ma 'invio di prova' suppongo non sia un parametro fisso.
    Quindi perche non esegui la SELECT... concateni il risultato e lo piazzi in @message al posto di 'invio di prova'
    aspe, ti spiego i parametri:
    codice:
    EXEC xp_sendmail @recipients = 'ladyblu', 
       @message = 'Invio di prova '
       @subject = 'Ciao!',
       @query = 'CreaReport'
    @message: è il testo della mai che contiene 'Invio di prova' (testo fisso) e il parametro @query, risultante dall'esecuzione della stored procedure specificata (CreaReport).

    @subject: è il titolo della mail, sempre uguale.

    @query: risultato della storedprocedure CreaReport. viene inglobato dalla sendmail nel testo della mail.


    questo è quanto.

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  6. #6
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Oppure prova a mettere:
    codice:
    @message = 'Invio di prova ' &
                  'SELECT CONVERT(char(20), GETDATE(), 13)'
    ...and I miss you...like the deserts miss the rain...

  7. #7
    Originariamente inviato da vonkranz
    Oppure prova a mettere:
    codice:
    @message = 'Invio di prova ' &
               SELECT CONVERT(char(20), GETDATE(), 13)
    magari fosse così facile... in SQL & non è operatore di concatenazione stringhe, devi usare il +. e cmq ho già provato ma non va.

    cmq, ora vado spero che nel frattempo ti venga un'illuminazione von... oppure che qualcuno mi posti la soluzione...:gren:


    grazie von, sei sempre disponibile...
    e grazie a tutti...

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  8. #8
    Utente di HTML.it L'avatar di biste
    Registrato dal
    Apr 2001
    Messaggi
    877
    Per prendere solo una parte della data puoi usare la funzione DATEPART... Guarda sulla guida, se hai problemi ti posto un esempio.
    Bye lady

    HTH
    Massimo
    UGIdotNET
    Microsoft .NET MCAD
    C++, C#, VB6, VB.NET, ASP, ASP.NET
    SQL Server 2000

  9. #9
    Originariamente inviato da biste
    Per prendere solo una parte della data puoi usare la funzione DATEPART... Guarda sulla guida, se hai problemi ti posto un esempio.
    Bye lady

    HTH
    Massimo
    no, mi sono spiegata male. io non voglio prendere solo una parte di data. a me il GETDATE() va benissimo, mi restituisce tutto, data e ora ed è ciò che mi serve.
    Quello che non riesco a fare è inserire all'interno del parametro @message della sendmail un messaggio e la data concatenati.
    Io vorrei una cosa del genere:
    codice:
    @message = 'Ciao biste ' + _
               SELECT CONVERT(char(20), GETDATE(), 13)
    ma scritta così non mi funziona.


    mi sono spiegata un po' meglio?...:master:

    grazie biste...

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  10. #10
    Utente di HTML.it L'avatar di biste
    Registrato dal
    Apr 2001
    Messaggi
    877
    Così?????????

    codice:
    DECLARE @message varchar(100)
    
    SET @message = 'Ciao biste ' + CAST(GETDATE() AS CHAR(20))
    PRINT @message
    UGIdotNET
    Microsoft .NET MCAD
    C++, C#, VB6, VB.NET, ASP, ASP.NET
    SQL Server 2000

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.