IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Accès aux données Discussion :

Emails d'alerte sur base de données SQL


Sujet :

Accès aux données

  1. #1
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 76
    Points : 43
    Points
    43
    Par défaut Emails d'alerte sur base de données SQL
    Bonjour,

    Dans son application ASP.NET, mon client désire mettre en place un envoi d'email à l'utilisateur, lorsqu'il ne s'est pas connecté depuis 1 an.

    Quel méthode me conseillez-vous ?

    Ma première idée va vers un service windows qui se lancerait automatiquement tous les matins, qui se connecterait à la base, scannerait les infos qui vont bien et enverrait un email à qui de droit.

    Mais je me dis qu'il y a peut-être plus simple via SQL server ?

    Merci d'avance pour vos réponses,

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par keryss Voir le message
    Ma première idée va vers un service windows qui se lancerait automatiquement tous les matins, qui se connecterait à la base, scannerait les infos qui vont bien et enverrait un email à qui de droit.
    Mauvaise idée déjà d'utiliser un service pour une tâche périodique alors que Windows dispose nativement d'un scheduler : donc, déjà, un programme "normal" (pas un service) lancé périodiquement par le scheduler serait mieux.

    Mais je me dis qu'il y a peut-être plus simple via SQL server ?
    Tout à fait.
    Tu as les jobs Sql Server qui peuvent faire cela très bien. Ceci dit, ça se complique un peu pour l'envoi des mails depuis Sql Server (il me semble qu'il existe une possibilité, mais là je te conseille de poser la question sur le forum Sql Server où des pro de ce SGBD te guideront efficacement).

    Si jamais ce n'est pas possible, la solution du Job Sql Server est quand même la meilleure, sauf que ce job se contentera de détecter l'expiration du délai, et chargera une autre "brique" logicielle d'envoyer le mail.

    Là encore, tu as plusieurs possibilités :

    -Utiliser une proc stoc en SQLCLR - c'est à dire une proc stoc écrite en C# et travaillant dans ce cas en mode "unsafe"(*) (comme elle va faire des accès à l'extérieur)

    - Utiliser le SSSB (Sql Server Service Broker)

    Si tu as Biztalk chez le client, c'est encore plus simple (Job SQL -> SSSB-> Biztalk et presque rien à coder).

    Dans tous les cas, je te conseille de poser la question sur le forum Sql Server.

    (*) NB : ici il s'agit du "unsafe" de SQLCLR, rien à voir avec le "unsafe" de .Net

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  3. #3
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Un lien sur l'envoi de mail depuis Sql Server :

    http://www.mssqlserver.com/articles/sqlmail_p1.asp

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  4. #4
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    Utiliser une proc stoc en SQLCLR - c'est à dire une proc stoc écrite en C# et travaillant dans ce cas en mode "unsafe"(*) (comme elle va faire des accès à l'extérieur)
    Ou utiliser directement une tache de script C# dans le job SSIS...
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  5. #5
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par iberserk Voir le message
    Ou utiliser directement une tache de script C# dans le job SSIS...
    Sauf que là je n'ai pas parlé de job SSIS mais d'un Job SQL tout simple.
    SSIS serait en effet une autre possibilité, mais un peu "overkilled" pour faire une simple requête de recherche de date de dernière connexion et envoyer un mail.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  6. #6
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    Sauf que là je n'ai pas parlé de job SSIS mais d'un Job SQL tout simple.
    SSIS serait en effet une autre possibilité, mais un peu "overkilled" pour faire une simple requête de recherche de date de dernière connexion et envoyer un mail.
    Oui j'aurais du dire "un" job SSIS et non "le"...

    Les deux méthodes sont valables après c'est une question d'affinité, les développeurs préfèrent souvent un lot SSIS (environnement graphique etc.) mais c'est peu être moi qui les ai habitué à trop de luxe
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  7. #7
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 76
    Points : 43
    Points
    43
    Par défaut
    brrr, remettre les doigts dans les packages dtsx.... rho non pitié ^^

    Mais bon, why not... mais en dernier recours alors !

    Merci pour vos réponses, je vais étudier l'envoi de mail depuis SQL dans un premier temps !

  8. #8
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par iberserk Voir le message
    Oui j'aurais du dire "un" job SSIS et non "le"...

    Les deux méthodes sont valables après c'est une question d'affinité, les développeurs préfèrent souvent un lot SSIS (environnement graphique etc.) mais c'est peu être moi qui les ai habitué à trop de luxe
    Ben, c'est pas le problème du luxe ici, c'est surtout qu'il va falloir aussi un job pour lancer le package SSIS à interval régulier.

    Donc, autant configurer le Sql Mail et faire un job qui fait tout et laisser tomber SSIS qui n'amène pas vraiment de valeur ajoutée ici.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  9. #9
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 76
    Points : 43
    Points
    43
    Par défaut
    A ben à priori SQL Mail va être arreté.

    http://msdn.microsoft.com/fr-fr/library/ms177418.aspx

    Vais voir du côté de la "messagerie de base de données"...

  10. #10
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 76
    Points : 43
    Points
    43
    Par défaut
    J'ai trouvé le tuto suivant qui explique bien les choses pour l'utilisation de la messagerie de base de données.

    http://blog.sqlauthority.com/2008/08...-sql-database/

    Pas de pb sur le concept et la mise en place.

    Mais je me suis peut être mal exprimé au sujet de mon besoin. En fait je dois pouvoir envoyer des mails à des membres d'un site WEB (des visiteurs qui ne sont pas venus se connecter depuis 1 an). Or je ne vais pas m'amuser à créer un profil pour mes milliers de visiteurs.

    Ma moulinette doit balayer la table des users et si la date de dernier login est supérieure à 1 an, je dois lui envoyer un mail.

    Je ne connais que son email.

    J'ai pas vraiment l'impression que la messagerie SQL puisse répondre à mon besoin.

    Des idées ?

    Et en application workflow ?

  11. #11
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 76
    Points : 43
    Points
    43
    Par défaut
    Au final je vais passer par un service windows... bien plus simple et fait en 10 min.
    Puis je l'installe sur le serveur du client et le planifie tous les lundis matin.

    Juste pour info, en quoi est-ce contre-indiqué ?

Discussions similaires

  1. [XL-2013] Requête SQL UPDATE sur base de données SQL Server
    Par TheChovix dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 07/11/2014, 14h58
  2. Réponses: 10
    Dernier message: 25/11/2007, 10h30
  3. Réponses: 5
    Dernier message: 05/11/2007, 08h21
  4. doc sur l'utilisation de bases de données SQL sous python
    Par moon93 dans le forum Général Python
    Réponses: 2
    Dernier message: 03/08/2007, 15h09
  5. Message flash variable sur base de donnée SQL
    Par Gwegz dans le forum Dynamique
    Réponses: 4
    Dernier message: 12/07/2007, 10h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo