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

ASP Discussion :

OLEDB - Gestion des erreurs


Sujet :

ASP

  1. #1
    Membre régulier Avatar de userB
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Points : 106
    Points
    106
    Par défaut OLEDB - Gestion des erreurs
    bonjour à tous,

    Je suis désolé de devoir faire un post qui fait un peu doublon avec le thread un peu plus bas, mais je me trouve dans une situation délicate avec une appli ASP.

    Pour resumer un peu la chose, je dispose d'une veille application ASP qui demarre sur la premiere page APS appellé par un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <% On Error Resume Next %>
    <!-- #include file="inc/inc.inc" -->
    Jusqu'ici tout va bien. Plus loin dans le code de ma page ASP la fonction de connection à la base de donnée est invoqué. Cette fonction est dans le fichier inc.inc (pourquoi *.inc comme extension ? J'en ai aucune idée)

    Quoiqu'il en soit voici ma fonction de connexion à la base de donnée disponible dans inc.inc :
    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
     
    	Sub DBConnect
    		Call WriteLog(6,  "[DBConnect] Connection string: " & sDBC)
    		Set oDBC = Server.CreateObject("ADODB.Connection")
    		oDBC.Open sDBC
     
    		For Each objError in oDBC.Errors
    			Response.Write objError.Description & VBCRLF
    			Call WriteLog(1, "ERROR : objError.Description : [" & objError.Description & "]" )
    		Next
     
    		'if oDBC.Errors.count > 0 then
    			'Call WriteLog(1, "Niher_Monster_ERROR")
    		'End if
     
    		Call WriteLog(6, "call_postOpen")
     
    		if Err.Number <> 0 then
    			Call WriteLog(1, "erreur_critique")
    			Err.clear
    		Else		
    			Call WriteLog(6, "[DBConnect] OK")
    		End If	
     
    	End Sub
    Mon probleme est que je n'arrive pas a recuperer les erreurs lors de la connection, si dans ma connection String je donne des valeurs fantoches en user ou en pass l'application ne se connecte pas, ne trace aucun message d'erreur dans mon fichier de log ( fonction WriteLog ici) et sort purement et simplement de ma fonction des le .Open.
    Ce qui me porte à croire que la fonction s'acheve sur le .Open est que je ne vois pas dans la log la phrase "call_postOpen" qui devrait etre affiché.

    donc voila je suis un peu desemparé, j'ai essayé en enlevant le On Error Resume Next de ma page asp et naturellement l'application se bloque. J'ai essayé en deplacant le On Error Resume Next depuis ma page asp vers ma page inc.inc mais j'observe le meme comportement que j'ai deja ...

    En esperant que quelqu'un puisse m'aider

    Merci d'avance
    Si tu ne sais pas m'expliquer pourquoi ca ne marche pas, alors tu ne sauras pas m'expliquer pourquoi ca marche.. -Un illustre chef de projet-

  2. #2
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Bonjour

    j'ai essayé en enlevant le On Error Resume Next de ma page asp et naturellement l'application se bloque
    Ben non, justement, elle ne devrait pas se bloquer, mais t'afficher un message d'erreur avec entre autre une description de l'erreur. Si tu n'obtient pas de message d'erreur sans la ligne on error resume next, je pencherais sur la config de ton serveur (il est possible de paramétrer dans la console de IIS l'affichage des erreurs et également les pages d'erreurs sont personnalisables).

    .inc , c'est pour include. Ce n'est pas tres judicieux, je prefère donner l'extension .asp.


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  3. #3
    Membre régulier Avatar de userB
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Points : 106
    Points
    106
    Par défaut
    Je me suis mal exprimé. Quand j'enleve le On Error Resume Next de ma page asp je suppose que l'appli se bloque et j'ai bien à l'ecran le message d'erreur normal.

    Mon vrai soucis est : pourquoi je n'arrive pas a catcher les messages d'erreurs ?
    Si tu ne sais pas m'expliquer pourquoi ca ne marche pas, alors tu ne sauras pas m'expliquer pourquoi ca marche.. -Un illustre chef de projet-

  4. #4
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    L'appli se bloque, effectivement

    Ma vrai question était "Quel est le message d'erreur" ?


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  5. #5
    Membre régulier Avatar de userB
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Points : 106
    Points
    106
    Par défaut
    Je vois pas vraiment ou tu veux en venir.

    Le message que j'obtiens est celui que j'ai generé en passant une connection String avec un mot de passe faux. J'obtiens ca comme message d'erreur sans le On Error Resume Next :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Microsoft OLE DB Provider for ODBC Drivers erreur '80040e4d'
     
    [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'user'.
     
    /inc/inc.inc, ligne 29
    Si tu ne sais pas m'expliquer pourquoi ca ne marche pas, alors tu ne sauras pas m'expliquer pourquoi ca marche.. -Un illustre chef de projet-

  6. #6
    Membre régulier Avatar de userB
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Points : 106
    Points
    106
    Par défaut
    Je n'y connais vraiment pas grand chose en ASP et encore moins en configuration d'IIS. Mais de ce que je vois, le code que j'ai à l'air plutot bon, est ce que ca ne pourrait pas venir de la configuration du serveur IIS ? Et si oui, comment je pourrais verifier ca ?

    Merci d'avance pour votre aide
    Si tu ne sais pas m'expliquer pourquoi ca ne marche pas, alors tu ne sauras pas m'expliquer pourquoi ca marche.. -Un illustre chef de projet-

  7. #7
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Je crois me rappeler qu'avec on error resume next, tu va sortir de ta routine (la "sub") à la moindre erreur, raison pour laquelle tes erreurs ne sont pas "cachées". Il faudrait le déplacer et le mettre directement dans ta routine.

    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
        Sub DBConnect
                   on error resume next
            Call WriteLog(6,  "[DBConnect] Connection string: " & sDBC)
            Set oDBC = Server.CreateObject("ADODB.Connection")
            oDBC.Open sDBC
            
            For Each objError in oDBC.Errors
                Response.Write objError.Description & VBCRLF
                Call WriteLog(1, "ERROR : objError.Description : [" & objError.Description & "]" )
            Next
            
            'if oDBC.Errors.count > 0 then
                'Call WriteLog(1, "Niher_Monster_ERROR")
            'End if
            
            Call WriteLog(6, "call_postOpen")
            
            if Err.Number <> 0 then
                Call WriteLog(1, "erreur_critique")
                Err.clear
            Else        
                Call WriteLog(6, "[DBConnect] OK")
            End If    
            on error goto 0
        End Sub


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  8. #8
    Membre régulier Avatar de userB
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Points : 106
    Points
    106
    Par défaut
    Exact !!!

    Je viens d'essayer en mettant le On Error Resume Next au tout debut de ma sub et effectivement ca marche maintenant !!

    Tres fort, mais je me demande pour le coup si je vais devoir mettre On Error Resume Next au debut de toutes mes Sub et fonction.

    En tout cas merci beaucoup !!!
    Si tu ne sais pas m'expliquer pourquoi ca ne marche pas, alors tu ne sauras pas m'expliquer pourquoi ca marche.. -Un illustre chef de projet-

  9. #9
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    je me demande pour le coup si je vais devoir mettre On Error Resume Next au debut de toutes mes Sub et fonction.
    C'est plutot recommandé pour gérer (on non) les erreurs qui peuvent survenir au niveau de la sub


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  10. #10
    Membre régulier Avatar de userB
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Points : 106
    Points
    106
    Par défaut
    Bon effectivement je dois remettre au debut de chaque fonction/Sub le On Error Resume Next si je veux pouvoir recuperer les erreurs via l'objet Err.

    Ca alourdit un peu le code mais je vais pas faire la fine bouche, ca marche !

    Merci roro6!
    Si tu ne sais pas m'expliquer pourquoi ca ne marche pas, alors tu ne sauras pas m'expliquer pourquoi ca marche.. -Un illustre chef de projet-

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

Discussions similaires

  1. [FB] Gestion des erreurs et application francophone
    Par Benjamin GAGNEUX dans le forum Installation
    Réponses: 10
    Dernier message: 20/05/2006, 14h54
  2. [struts][Datasource]Gestion des erreurs
    Par GreenJay dans le forum Struts 1
    Réponses: 8
    Dernier message: 15/09/2004, 16h51
  3. [VB6] Gestion des erreurs dans une dll
    Par zimba-tm dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/08/2004, 11h20
  4. [XSLT]Est ce qu'il y'a la gestion des erreur en xslt ?
    Par miloud dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 04/02/2004, 17h19
  5. [LG]gestion des erreurs
    Par frontin dans le forum Langage
    Réponses: 3
    Dernier message: 29/11/2003, 22h41

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