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

Développement SQL Server Discussion :

Erreur sur l'envoi d'un mail avec msdb.dbo.sp_send_dbmail sur SQL-SERVER 2005


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Avril 2008
    Messages : 74
    Points : 68
    Points
    68
    Par défaut Erreur sur l'envoi d'un mail avec msdb.dbo.sp_send_dbmail sur SQL-SERVER 2005
    Bonjour tout le monde, je trouve une certaine difficulté à envoyer un message avec sql server 2005, je vous présente la de dessous les étapes que j'ai suivi pour effectuer cet envoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
     
    -- j'ai activé les options <database mail xps>
     
    sp_configure 'show advanced options', 1;
    GO
    RECONFIGURE;
    GO
    sp_configure 'Database Mail XPs', 1;
    GO
    RECONFIGURE
    GO
     
    -- Creation d'un  Mail account
     
         exec msdb.dbo.sysmail_add_account_sp 
         @account_name =  'Nix' ,
         @email_address =  'Nixus@gmail.com' ,
     
         @mailserver_name =  'smpt.gmail.com' 
         ,  @mailserver_type =  'SMTP' 
         ,  @port =  25
         ,  @username =  'Nixus' 
         ,  @password =  '********' 
     
    -- creation d'un profile mail profile
     
        EXECUTE msdb.dbo.sysmail_add_profile_sp
        @profile_name = 'Nix_profile',
        @description = 'profile qui sera public.' 
     
    -- ajouter le profile au compte 
     
        EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
        @profile_name = 'Nix_profile',
        @account_name = 'Nix',
        @sequence_number =1 ;
     
    -- rendre le profile < Nix_profile> public 
     
         exec msdb.dbo.sysmail_add_principalprofile_sp  
         @principal_id = 0 ,
         @profile_name = 'Nix' ,
         @is_default = 1 ;
     
    -- l'envoi du mail 
     
        EXEC msdb.dbo.sp_send_dbmail
        @profile_name = 'Nix',
        @recipients = 'Nixus@yahoo.fr',
        @body = 'test envoi email',
        @subject = 'test envoi emai' ;
    le resultat de l'execution est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Courrier en file d'attente.
    ce qui signifie que le mail doit etre envoyé, mais helas c'est pas la cas.
    biensur j'ai consulté le fichier log de sql et c'est là que j'ai trouvé la description de l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    
    2010-05-30 02:07:36.28 spid55s     The activated proc [dbo].[sp_sysmail_activate] running on queue msdb.dbo.ExternalMailQueue output the following:  'Impossible de créer le processus DatabaseMail90.exe. Échec de l'exécution de l'API «*CreateProcess*» avec le numéro d'erreur 2.'
    
    j'ai cherché sur internet ce que ça signifie mais j'ai pas trouvé grand chose, alors si vous avez une idée qui peux m'aider à résoudre ce problème ça me sera d'une aide considérable. je vous remercie d'avance.

  2. #2
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Bonjour,

    Est ce que l'exécutable databasemail90.exe est bien présent sur votre serveur ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Program Files\Microsoft SQL Server\<instance>\MSSQL\Binn\databasemail90.exe
    ++

  3. #3
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Avril 2008
    Messages : 74
    Points : 68
    Points
    68
    Par défaut
    Bonjour, j'ai pas trouvé l'exécutable .
    j' réinstaller le SQL-server 2005 mais je le trouve toujours pas .
    est ce que cet exécutable doit être dans le dossier que vous m'avez spécifie ?
    vous l'avez vous ?

  4. #4
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Oui chez moi il est présent .. mais une question bête .. quelle édition de SQL Server utilisez vous ? Est ce que cela ne serait pas par hasard l'édition Express ?

    ++

  5. #5
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Avril 2008
    Messages : 74
    Points : 68
    Points
    68
    Par défaut
    SQL- SERVER 2005 et je crois que c'est malheureusement l'express edition, cette version presente les fonctionalité de base je crois, je crois que c'est là où il y a le hic. je vais me documenter la dessus .
    et SVP qu'elle edition utilisez vous ?.

  6. #6
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    En effet l'édition Express ne permet pas d'envoyer des mails.. c'est pour cela que vous ne pouvez pas envoyer de mail.

    Toutes les autres éditions de SQL Server vous permettent d'envoyer des mails via cette fonctionnalité.

    Après vous pouvez contourner ce problème (si vous êtes vraiment figé sur l'édition) en faisant un peu de programmation .NET en utilisation une procédure stockée CLR ou en utilisant OLE Automation et les procédures systèmes comme sp_OACreate ...

    ++

  7. #7
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Citation Envoyé par Mikedavem
    Après vous pouvez contourner ce problème (si vous êtes vraiment figé sur l'édition) en faisant un peu de programmation .NET en utilisation une procédure stockée CLR ou en utilisant OLE Automation et les procédures systèmes comme sp_OACreate ...
    Bonsoir MikeDavem

    Peux tu donner un peu plus de détail sur ce que tu propose là ?
    Car je fais une petite app en CE et CF .net qui ne propose pas de client smtp
    Donc l'alternative d'envoyer le mail directement depuis SqlServer me plait bien
    Et je suis également confronté a la version Xpress de SqlServer

    Merci beaucoup
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  8. #8
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Par défaut
    A défaut d'utiliser SQL SERVER pour l'envoie automatique d'email, je fais recours à l'utilitaire Blat dans mes dev pour l'envoie automatique des emails via le protocole SMTP
    Etienne ZINZINDOHOUE
    Billets-Articles

  9. #9
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Par défaut
    Citation Envoyé par olibara Voir le message
    Bonsoir MikeDavem

    Peux tu donner un peu plus de détail sur ce que tu propose là ?
    Car je fais une petite app en CE et CF .net qui ne propose pas de client smtp
    Donc l'alternative d'envoyer le mail directement depuis SqlServer me plait bien
    Et je suis également confronté a la version Xpress de SqlServer

    Merci beaucoup
    Voici une méthode de contournement
    Etienne ZINZINDOHOUE
    Billets-Articles

  10. #10
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Magnifique

    Merci zinzineti et Mikedavem
    Avec ca je devrais m'en sortir je pense

    Et en plus il me semble que meme sp_dbsend_mail devrait fonctionner avec xpress pour autant d'avoir créé a la main les profiles et account dans les table respective car je crois que la seule restriction en Xpress c'est que le configurateur databasemail n'est pas intégré dans le management
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  11. #11
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Configuration sp_Send_Dbmail Express Xpress
    Bonjour

    Pour ceux que ca intéresse j'ai réussi a configurer sp_Send_dbmail en Xpress

    Voici ce que ca donne
    Par contre je m'interroge encore sur l'usage de
    Est-ce nécessaire a chaque mail ?
    Faut-il faire un stop ?

    Voici la marche a suivre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    use master
    go
    msdb.dbo.sp_configure 'show advanced options', 1;
    GO
    RECONFIGURE;
    GO
    msdb.dbo.sp_configure 'Database Mail XPs', 1;
    GO
    RECONFIGURE
    GO
    msdb.dbo.sp_configure 'show advanced options', 0
    GO
     
    -- Creer un profil
    EXECUTE msdb.dbo.sysmail_add_profile_sp
    @profile_name = 'ClarkMail',
    @description = 'Profile used for Clark mail';
    GO
     
    -- Set the Profile as Default
    EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @profile_name = 'ClarkMail',
    @principal_name = 'public',
    @is_default = 1;
    GO
     
    -- create an account:
    EXECUTE msdb.dbo.sysmail_add_account_sp
    @account_name = 'SQLClarkMail',
    @description = 'Oliver Acount',
    @email_address = 'Clark@192.168.50.1',
    @display_name = 'machin MSSQL',
    -- @username= '192.168.50.1',
    -- @password='PASSXXX',
    @mailserver_name = '192.168.50.1'
     
     
    -- attacher le profil a l'account
    EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
    @profile_name = 'ClarkMail',
    @account_name = 'SQLClarkMail',
    @sequence_number = 1;
    Et maintenant test d'envoi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    EXEC msdb.dbo.sysmail_start_sp;
     
    EXEC msdb.dbo.sp_send_dbmail
        @recipients = 'truc@skynet.be',
        @query = 'SELECT TOP 100 *  FROM [Clark].[dbo].[Chauffeurs]' ,
        @subject = 'Work Order Count',
        @attach_query_result_as_file = 1 ;
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  12. #12
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Par défaut
    Citation Envoyé par olibara Voir le message
    Bonjour

    Pour ceux que ca intéresse j'ai réussi a configurer sp_Send_dbmail en Xpress
    Il me semble que tu as constaté après réinstallation, l'absence de l'exécutable DatabaseMail90.exe. Voici ce que tu nous disais :

    Bonjour, j'ai pas trouvé l'exécutable .
    j' réinstaller le SQL-server 2005 mais je le trouve toujours pas .
    est ce que cet exécutable doit être dans le dossier que vous m'avez spécifie ?
    vous l'avez vous ?
    Est ce que cet exécutable est maintenant présent dans le repertoire MSSQL\Binn ?

    Si oui, dis nous comment tu as fait.

    Par ailleurs est ce que les fichiers suivants sont également présents dans le même repertoire


    DatabaseMailEngine.dll
    DatabaseMailProtocols.dll


    A+
    Etienne ZINZINDOHOUE
    Billets-Articles

  13. #13
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Salut Zinzineti

    Citation Envoyé par nix01
    Bonjour, j'ai pas trouvé l'exécutable .
    j' réinstaller le SQL-server 2005 mais je le trouve toujours pas .
    est ce que cet exécutable doit être dans le dossier que vous m'avez spécifie ?
    vous l'avez vous ?
    Non c'est Mikedavem et nix01 qui parlaient de cet executable
    Moi j'ai un SQL Server xpress 2008
    Et j'ai constaté que DatabaseMail90.exe n'existe pas mais bien DatabaseMail.exe (ainsi que les dll mentionnées)
    Idem sur SQL server 2008 (non express)

    La version Xpress ne possede pas le configurateur dans SSMS par contre les tables sont bien là et les sp de configuration aussi

    C'est comme ca que j'ai activé les choses
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  14. #14
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Par défaut
    Citation Envoyé par olibara Voir le message
    Salut Zinzineti
    Non c'est Mikedavem et nix01 qui parlaient de cet executable
    Moi j'ai un SQL Server xpress 2008
    Et j'ai constaté que DatabaseMail90.exe n'existe pas mais bien DatabaseMail.exe (ainsi que les dll mentionnées)
    Idem sur SQL server 2008 (non express)

    La version Xpress ne possede pas le configurateur dans SSMS par contre les tables sont bien là et les sp de configuration aussi

    C'est comme ca que j'ai activé les choses
    Ok, je vois. nix01 s’intéresse à SQL 2005 Express et toi tu proposes une solution pour SQL 2008 Express. Le titre du post c'est bien :
    Erreur sur l'envoi d'un mail avec msdb.dbo.sp_send_dbmail sur SQL-SERVER 2005
    Etienne ZINZINDOHOUE
    Billets-Articles

  15. #15
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Citation Envoyé par zinzineti Voir le message
    Ok, je vois. nix01 s’intéresse à SQL 2005 Express et toi tu proposes une solution pour SQL 2008 Express. Le titre du post c'est bien :
    Ola ! Ola !

    Tu ne vas pas me reprocher d'avoir apporté quelques information utiles sur un sujet dans lequel d'autres peuvent tomber meme si (comme moi) ce n'est pas forcément la version 2005 qui les concerne
    Et le sujet de nix01 ne citait pas non plus qu'il s'agissait de la version XPRESS

    En tout cas en 2008 Xpress la seule chose qui semble manquer c'est le DataBaseMailWizard.exe visible dans SSMS

    Peut etre qu'avec 2008 Microsoft a levé quelques restictions mais il n'est pas impossible non plus que ce que j'ai fait avec 2008 puisse s'appliquer en 2005

    Mais c'est curieux quand meme ce changement de nom entre DatabaseMail90.exe et DatabaseMail.exe
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  16. #16
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Par défaut
    Citation Envoyé par olibara Voir le message
    Ola ! Ola !

    Tu ne vas pas me reprocher d'avoir apporté quelques information utiles sur un sujet dans lequel d'autres peuvent tomber meme si (comme moi) ce n'est pas forcément la version 2005 qui les concerne
    Et le sujet de nix01 ne citait pas non plus qu'il s'agissait de la version XPRESS
    ......
    Mon intention est de clarifier les choses. Entre le besoin et ce que tu proposes. Faut pas le prendre mal

    Ce que tu proposes donnes des idées sur ce qu'il faut tenter de faire sur SQL SERVER 2005 EXPRESS c'est à dire :

    1) Télécharger les fichiers :
    DatabaseMail90.exe.
    DatabaseMailEngine.dll
    DatabaseMailProtocols.dll


    2.) les déposer dans le répertoire \MSSQL\Binn

    3.) utiliser ton script pour créer les profils, ....

    4.) Tester l'envoi des emails

    Je n'ai pas actuellement sous la main une version 2005 Express pour tester
    On pourrait demander à nix01 de faire le test et de nous donner le résultat. Oui si quelqu'un d'autre ... pourquoi pas ;-)

    A+
    Etienne ZINZINDOHOUE
    Billets-Articles

  17. #17
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Oui !

    mais surtout verifier avant tout si ce repertoire Binn ne contient pas certains de ces fichiers

    Ou
    DatabaseMail.exe
    au lieu de
    DatabaseMail90.exe.

    Car en 2008 c'est certainement DatabaseMail.exe autant pour Xpress que pour la full
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Connecter vb6 avec une base de données sql server 2005
    Par benhmou dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 14/03/2012, 08h59
  2. [PHPMailer] Erreur lors d'un envoi d'un mail avec pièce jointe à destination de gmail
    Par arezki76 dans le forum Bibliothèques et frameworks
    Réponses: 15
    Dernier message: 14/08/2007, 18h18
  3. Envoi d'un mail avec fichier en pièce jointe
    Par cjacquel dans le forum MFC
    Réponses: 1
    Dernier message: 14/06/2005, 16h30
  4. Envois d'un mail Avec CDont
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 25/10/2004, 17h34
  5. [TIdSMTP] Envoi d'un mail avec authentification ?
    Par BACUS dans le forum C++Builder
    Réponses: 4
    Dernier message: 16/06/2004, 16h18

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