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

VB.NET Discussion :

Problème d'exécution d'une requête


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif Avatar de Abdellah2010
    Homme Profil pro
    Future développeur
    Inscrit en
    Novembre 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Future développeur
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2010
    Messages : 55
    Par défaut Problème d'exécution d'une requête
    Salut à tous,
    J'ai un véritable problème, j'exécute une requête sous SqlDevelopper pour oracle et ça fonctionne et retourne des résultats. Cependant lorsque j'essaie de l'exécuter sous Visual studio le compilateur ne déclare aucun erreur mais aucune résultat retournée. pour infos la requête est récursive et j'utilise OLEDB comme fournisseur, sachant que les autres requêtes normales fonctionnent correctement. voici un morceau de code :
    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
     
     Dim req As String = ""
            req = "with" & _
            "Requete1 as (select lse_regroupe_elp.cod_elp from vdi_fractionner_vet,version_etape,lse_regroupe_elp where(vdi_fractionner_vet.cod_dip='" & code_dip & "' and vdi_fractionner_vet.cod_vrs_vdi=" & version_dip & " and vdi_fractionner_vet.cod_etp=version_etape.cod_etp and version_etape.cod_etp=lse_regroupe_elp.cod_lse))," & _
            "Q_Semestres as" & _
            "(select lse_regroupe_elp.cod_lse,lse_regroupe_elp.cod_elp,cod_nel,lib_elp from lse_regroupe_elp,element_pedagogi where(lse_regroupe_elp.cod_elp=element_pedagogi.cod_elp and lse_regroupe_elp.cod_lse in(select cod_elp from Requete1 )))," & _
            "Q_Modules as" & _
            "( select cod_elp from lse_regroupe_elp where(cod_lse in (select cod_elp from Q_Semestres )))," & _
            "Q_Modules2  as" & _
            "((select Q_Semestres.cod_elp from Q_Semestres) union (select Q_Modules.cod_elp from Q_Modules) ) " & _
            "select * from Q_Modules2"
            Dim mycon As New OleDbConnection("Provider=msdaora;Data Source=db;User Id=utilisateur;Password=mot passe;")
            Dim commande As New OleDbCommand(req, mycon)
            Dim reader As OleDbDataReader
            reader = commande.ExecuteReader
    merci de votre aide.

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Par défaut
    tu vas te faire sur les doigts car tu n'utilises pas de requête paramétrée, et met un point d'arret sur ton "Dim mycon" pour voir ce que vaut ta requête.
    Copie et colle dans Oracle/SQl server pour vérifier.

  3. #3
    Membre actif Avatar de Abdellah2010
    Homme Profil pro
    Future développeur
    Inscrit en
    Novembre 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Future développeur
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2010
    Messages : 55
    Par défaut
    Le compilateur ne renvoie aucune erreur,la requête syntaxiquement est correcte. Moi je pense que c'est peut être le problème au niveau du fournisseur OLEDB qui ne laisse pas passer ce genre de requête.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    Change ta requete par un simple Select * from Table et voit ce que ca donne

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Par défaut
    met un point d'arret sur ton "Dim mycon" pour voir ce que vaut ta requête.
    Copie et colle dans Oracle/SQl server pour vérifier.
    Tu as essayé de récupérer la requête générée et la coller dans Oracle et lancer la requête et afficher les résultats ?
    Il suffit que tu ai un espace, une majuscule ou autre dans ta variable qui ne devrait pas y être

    et cette requête peut être remplacée par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    req = "with" & _
            "Requete1 as (select lse_regroupe_elp.cod_elp from vdi_fractionner_vet,version_etape,lse_regroupe_elp where(vdi_fractionner_vet.cod_dip='" & code_dip & "' and vdi_fractionner_vet.cod_vrs_vdi=" & version_dip & " and vdi_fractionner_vet.cod_etp=version_etape.cod_etp and version_etape.cod_etp=lse_regroupe_elp.cod_lse))," & _
            "Q_Semestres as" & _
            "(select lse_regroupe_elp.cod_lse,lse_regroupe_elp.cod_elp,cod_nel,lib_elp from lse_regroupe_elp,element_pedagogi where(lse_regroupe_elp.cod_elp=element_pedagogi.cod_elp and lse_regroupe_elp.cod_lse in(select cod_elp from Requete1 )))," & _
            "Q_Modules as" & _
            "( select cod_elp from lse_regroupe_elp where(cod_lse in (select cod_elp from Q_Semestres )))
            select Q_Semestres.cod_elp from Q_Semestres union select Q_Modules.cod_elp from Q_Modules"
    à une parenthèse ou deux prêt

  6. #6
    Membre actif Avatar de Abdellah2010
    Homme Profil pro
    Future développeur
    Inscrit en
    Novembre 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Future développeur
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2010
    Messages : 55
    Par défaut
    J'ai vérifié tout,la requête fonctionne très bien sous Sqldevelopper , mais sous visual studio non pas. je me demande juste est ce que ça en relation avec le type de fournisseur utilisé (OLEDB dans mon cas) sachant que c'est pas un vrai api pour des bases de données oracle. pour des requêtes simples ça marche.

Discussions similaires

  1. Problème d'exécution d'une requête simple
    Par developppez dans le forum Requêtes
    Réponses: 6
    Dernier message: 13/03/2009, 13h10
  2. Problème Hibernate exécution d'une requête
    Par blackmisery dans le forum Hibernate
    Réponses: 2
    Dernier message: 13/07/2008, 12h49
  3. [MySQL] problème d'exécution d'une requête
    Par max72100 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 25/06/2008, 16h28
  4. Réponses: 4
    Dernier message: 24/04/2007, 16h45
  5. [MySQL] Problème d'exécution d'une requête!
    Par pony99 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/01/2007, 11h38

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