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.NET Discussion :

[C#] Problème de récupération d'une procédure Oracle


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut [C#] Problème de récupération d'une procédure Oracle
    Bonjour à tous !
    J'aurais besoin d'un petit coup de main !
    En effet, j'utilise WebMatrix et Oracle. Le problème, c'est que la librairie Oracle n'est pas disponible dans Webmatrix alors j'utilise la librairie OleDb. Tout marchait très bien jusque là. Cependant, pour des raisons de maintenabilité, je dois transformer mes requêtes en procédures stockées. Jusque là tout va bien encore !
    Le problème vient au moment où je dois créer une procédure stockée ne comportant qu'un select. Je le mets dans un ref cursor Oracle mais mon problème, c'est pour passer le paramètre (de sortie) dans la procédure stockée .Net. Quel type correpond à un curseur Oracle quand on ne dispose pas de librairie Oracle ????
    Merci d'avance à tous

  2. #2
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Points
    1 229
    Par défaut
    J'ai été confronté au même problème très récemment...

    J'ai un peu cherché, mais seulement un peu parce que le choix a vite été pris d'utiliser les drivers OracleClient, et je n'ai pas trouvé de solution autre que de laisser les requêtes "select" dans le code.

    Il n'y a, à priori, rien qui t'empêche d'utiliser les drivers oracle avec WebMatrix. Seulement ils ne sont pas installés par défaut, il faut les télécharger, les installer puis ajouter une référence dans ton projet.

    Fais une recherche sur l'OTN, tu trouveras vite.

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Ok, je pensais en fait que WebMatrix ne supportait pas la librairie Oracle.
    Je vais essayer de regarder de ce côté là alors car je ne vois pas trop comment m'en sortir !
    Merci beaucoup

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Ok, j'ai téléchargé tout ce qu'il fallait apparamment et installé le tout(driver Oracle pour .Net) . Le problème, c'est que Webmatrix ne reconnaît toujours pas le namespace System.Data.OracleClient.
    Je pense que j'ai dû oublier de faire quelque chose mais je ne sais pas quoi ....
    Quelqu'un pourrait-il m'aider ?
    Merci d'avance

  5. #5
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Points
    1 229
    Par défaut
    Ben je ne connais pas bien Webmatrix, mais j'imagine qu'il doit être possible d'ajouter des références à ton projet...

    Il faut donc ajouter une référence vers System.Data.OracleClient.dll

  6. #6
    Membre régulier Avatar de dupin40
    Profil pro
    Inscrit en
    Août 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 102
    Points : 100
    Points
    100
    Par défaut
    Pour utiliser les valeurs de retour des procédures stockées il faut déclarer de ce type là en spécifiant la direction, le nom et la taille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    OracleParameter param1 = new OracleParameter();
    param1.Direction = ParameterDirection.Output;
    param1.ParameterName = "o_cle";
    param1.Size = 10;
    si ca te conviens, je mettrais plus de code .... car il faut que je le retrouve d'abord donc si tu en as vraiment besoin .... je le mettrais ...
    a+

  7. #7
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Points
    1 229
    Par défaut
    Citation Envoyé par dupin40
    Pour utiliser les valeurs de retour des procédures stockées il faut déclarer de ce type là en spécifiant la direction, le nom et la taille
    C'est gentil, mais faudrait lire le thread en entier, le problème n'est pas là...

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    En fait, mon problème est résolu si je veux accéder à la librairie Oracle depuis une page ASPX. En effet, j'ai mis la dll System.Data.OracleClient dans un répertoire bin que j'ai créé.
    Cependant, pour des raisons de maintenabilité toujours, j'ai créé une classe C# d'accès aux données et là je n'arrive pas à accéder à la librairie Oracle.
    Quelqu'un aurait-il une idée sur comment faire ????
    Merci d'avance

  9. #9
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Points
    1 229
    Par défaut
    J'vais me répéter une dernière fois...

    IL FAUT AJOUTER UNE REFERENCE VERS CETTE DLL DANS TON PROJET...

    voilà.

  10. #10
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    En visual Studio (je l'utilisait dans l'entreprise où j'ai travaillé l'an dernier), c'est assez simple. Mais le problème est qu'avec WebMatrix, il n'y a pas de notion de projet. Ce sont seulement des pages et c'est pour cela que si je veux accéder à une dll externe depuis mes pages ASPX, je suis obligée de créer un répertoire bin et d'y mettre la dll en question.
    Par contre, comme je débute avec WebMatrix, je n'utilise peut-être pas la bonne solution.
    Dans les c as, je vais essayer de voir si la notion de référence à une dll existe avec WebMatrix ... Merci !

  11. #11
    Membre régulier Avatar de dupin40
    Profil pro
    Inscrit en
    Août 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 102
    Points : 100
    Points
    100
    Par défaut
    Citation Envoyé par Keihilin
    Citation Envoyé par dupin40
    Pour utiliser les valeurs de retour des procédures stockées il faut déclarer de ce type là en spécifiant la direction, le nom et la taille
    C'est gentil, mais faudrait lire le thread en entier, le problème n'est pas là...
    oups !!

  12. #12
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    En effet, il fallait bien ajouter une référence à la dll mais ça se fait apparemment à la compilation de la classe mais en fait, je ne savais pas comment faire.
    Je mets le code au cas où ça pourrait servir à quelqu'un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    C:\WINDOWS\system>csc /reference:System.Data.OracleClient.dll "mon Fichier.cs"
    Merci beaucoup pour votre aide ....

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

Discussions similaires

  1. Une erreur 233 de ms sql server
    Par Hokage dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 05/10/2009, 17h40
  2. Proble capture direct Show
    Par liliemumue dans le forum DirectX
    Réponses: 3
    Dernier message: 13/12/2004, 21h04
  3. Réponses: 2
    Dernier message: 05/10/2004, 22h43
  4. Passer de Cups à Lpd
    Par orisis dans le forum Administration système
    Réponses: 6
    Dernier message: 03/06/2004, 15h23
  5. ListView->Items->Clear() !!! Qques probl de perf
    Par Nicolas_a69 dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/08/2002, 11h49

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