|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : septembre 2004 Messages : 16 ![]() |
Bonjour à tous,
Pour faire simple, ça serait vraiment extra si je pouvais envoyer un email à mon serveur sql ou sur une adresse spécifique et ma base SQL SERVER me retournerait un rapport sous forme excel en pièce jointe. Exemple : J'envoi un email avec en objet <demande-001> et hop, quelques secondes plus tard, je reçois sur mon email, un fichier excel en pièce jointe avec la liste des articles du client, venant de mon serveur sql. Merci de votre aide. A+ Laurent |
|
|
00
|
|
|
#2 |
![]() ![]() Administrateur de base de données Inscription : août 2007 Messages : 1 158 ![]() |
C'est possible, voyez database mail.
A+ |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : septembre 2004 Messages : 16 ![]() |
merci de votre réponse rapide.
Je suis entrain de regarder mais je ne trouve rien sur une demande à partir d'un envoi d'email. Envoyer des rapports à partir d'un trigger ou d'une planification, je sais deja plus ou moins le faire. Là, ma question est vraiment de savoir comment envoyer une demande par email au serveur et avoir une réponse avec un joli rapport sur mon email en retour ? |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() |
Il n'est pas possible de configurer un serveur POP depuis SQL SERVER. Il est donc impossible à SQL SERVER de façon autonome d'aller récupérer son courrier sur un serveur email. Mais on peut via un outil externe à SQL SERVER scruter le serveur POP et envoyer une alerte à SQL SERVER qui à son tour peut répondre à la demande.
|
|
00
|
|
|
#5 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Effectivement SQL Server n'a pas une telle fonctionnalité.
Il y avait bien à l'époque de SQL Server 2000 Microsoft English Query qui se basait sur cette idée d'envoyer une demande (sémantique) à SQL Server et SQL Server répondait par un résultat .. mais la fonctionnalité n'a pas été maintenue. Vous pouvez également utilisé Service broker qui entre dans ce schéma de fonctionnement : J'envoi un message dans une file d'attente et SQL Server traite cette file d'attente .. ++ |
|
00
|
|
|
#6 | |
|
Expert Confirmé Sénior
![]() François Chef de projet NTIC Inscription : janvier 2007 Messages : 5 354 ![]() |
Citation:
La Workflow Fundation de Microsoft peut gérer assez facilement ce genre de chose avec un minimum de programmation.
__________________
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 |
|
|
|
00
|
|
|
#7 | |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Citation:
![]() ++ |
|
|
00
|
|
|
#8 |
|
Expert Confirmé Sénior
![]() François Chef de projet NTIC Inscription : janvier 2007 Messages : 5 354 ![]() |
Toutes mes excuses.
Remplacer SqlPro by mikedavem. J'édite.
__________________
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 |
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : septembre 2004 Messages : 16 ![]() |
Bonsoir,
Merci à tous pour vos réponses. Je continu a chercher une solution. J'ai pourtant eu une piste avec xp_readmail !? Quand je lis les explications Microsoft, ils ont l'air de dire que c'est possible. Mais pour le moment je n'ai pas trouvé. J'ai configuré un compte mail sur sql et je peux envoyer des emails via xp_sendmail. il y a la table sysmail_mailitems dans msdb qui me va parfaitement pour les éléments envoyés, il me faudrait la même pour les éléments reçu. Je creuse et je ne lache pas souvent .A+ |
|
|
00
|
|
|
#10 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Effectivement vous avez raison, j'avais oublié cette feature ..
Je ne l'ai jamais testé .. mais apparement vous devez utiliser les procédures suivantes pour pouvoir lire votre email qui doit contenir une requête : •xp_startmail •xp_sendmail •xp_findnextmsg •xp_readmail •xp_deletemail •sp_processmail •xp_stopmail ++ |
|
00
|
|
|
#11 |
|
Invité régulier
![]() Inscription : septembre 2004 Messages : 16 ![]() |
Mon but n'est pas d'envoyer une requête.
Je veux juste utilisé l'objet de l'email. En gros si j'envoi un email au serveur avec pour objet 778899-01 je veux capter cette demande pour retourner pour le client 778899 le rapport Excel N°01. Si je capte l'objet de l'email reçu le reste je saurais le faire sans problème. Mais je ne sais pas capter l'email. J'ai remarqué un truc. Quand j'envoi un email via sp_sendmail j'ai la trace avec toutes les infos dans sysmail_mailitems. Par contre, je n'ai aucune trace sur le compte outlook dans les éléments envoyés. (compte sur serveur exchange). Ca veut dire que la gestion même des emails est dans SQL Server ? Si oui, il doit bien avoir une table quelque part pour stocker les emails reçu ??? |
|
|
00
|
|
|
#12 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
L'objet du mail doit être une requete interpretable par le moteur SQL Server.
Les procédures stockées lisent directement les mails depuis votre mailbox ++ |
|
00
|
|
|
#13 |
|
Invité régulier
![]() Inscription : septembre 2004 Messages : 16 ![]() |
Je ne suis pas sur de devoir envoyer des requêtes.
Dans la xp_readmail, je peux capter pratiquement tous les élements d'un email (dont l'objet). Ensuite je peux les manipuler et en faire ce que je veux. Si je comprend bien il faut dans l'ordre •xp_startmail --> Démarrer une session mail •xp_findnextmsg --> scanner les messages ID par ID dans la boite de réception. •xp_readmail --> Ensuite il faut les lire et récupérer les infos •xp_deletemail --> Les supprimer si besoin •xp_stopmail --> et enfin, cloturer la session Je pense que mon souci n'est dû qu'à un mauvais paramétrage de mes profils et compte utilisateur & mail (parce qu'en plus ils doivent porter les mêmes nom, etc...). Enfin je suis un peu perdu sur la config propre des comptes. Je croyais m'en être sorti parce que l'envoi d'email fonctionne nickel ! |
|
|
00
|
|
|
#14 | |
|
Invité régulier
![]() Inscription : septembre 2004 Messages : 16 ![]() |
Visiblement il y a déjà eu le même souci que moi.
Et c'est bien un problème de compte. Citation:
|
|
|
|
00
|
|
|
#15 | ||
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Citation:
Faites attention cependant car c'est une fonctionnalite qui est appelee a disparaitre Citation:
|
||
|
00
|
|
|
#16 |
|
Invité régulier
![]() Inscription : septembre 2004 Messages : 16 ![]() |
Bon j'ai changé d'option.
Finalement j'ai écris un petit script que j'ai collé à une règle dans le outlook du serveur. Les étapes : 1- Envoyer un email au serveur avec pour object : XXX-01 (xxx = code client - 01 = numéro du rapport que je souhaite avoir en retour). 2- J'ai ajouté une règle Outlook qui à la réception des emails de ce type, lance mon script. 3- Mon script écrit dans une table spécifique de ma base sql server les information de l'email (code client, numéro du rapport demandé, date heure, email de retour pour la réponse. JE SUIS BLOQUE A CE STADE si quelqu'un peut m'aider pour la suite ? 4- Il ma reste donc à faire un trigger qui lance la procédure stockée et qui récupère les informations dans un fichier excel 5- Pour finir, envoi ce fichier Excel en pièce jointe à la personne qui l'avait demandé.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com