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

Bibliothèques Discussion :

Appel des procédures stockées en C++


Sujet :

Bibliothèques

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 46
    Points : 33
    Points
    33
    Par défaut Appel des procédures stockées en C++
    Bonjour à tous,

    J'ai crée une procédure stockée qui permet d'insérer un id, une image, le path de l'image (J'utilise Oracle 10g) mais j'arrive pas à faire appel à cette procédure et l'exécuter à partir de mon programme écrit en C++ (J'utilise Visual Studio 2008)

    Qui peut m'aider svp? merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    quelle est le problème ?
    quel bibliothèque SQL utilisez-vous ?
    un message d'erreur ? un code erroné ?
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 46
    Points : 33
    Points
    33
    Par défaut
    J'utilise la bibliothèque OCILIB.
    L’exécution de la requête sous Toad ne donne aucune erreur donc c'est bon.
    Le problème c'est que je dois faire appel à cette procédure depuis mon code écrit en C++ et j'arrive pas à trouver la bonne commande à le faire.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    ceci, en particulier cela peut-être ?
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 46
    Points : 33
    Points
    33
    Par défaut
    Merci pour les liens, j'ai déjà vu ce cours qui m'a trop aidé tout au long de mon projet actuel.
    OCI_ExecuteStmt() m'a permit de faire de simples requêtes d'insertion, update ou delete par contre c'est quoi la syntaxe pour faire appel à une procédure stockée?

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Le problème n'est ni C++, ni OCILIB mais SQL.

    OCI_ExecuteStmt permet d'exécuter une requête sur son serveur sql.
    Insert, Update, Delete,... sont des requêtes, au même titre que EXECUTE PROCEDURE, qui sert à... exécuter une procédure stockée !

    http://fr.wikipedia.org/wiki/Proc%C3...C3%A9e#Exemple
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  7. #7
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 307
    Points
    5 307
    Par défaut
    Un petit tour sur la documentation OCILIB : PL/SQL support

    une fonction/procedure PL/SQL s'éxécute comme ceci :

    création function en PL/SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    create function my_function(value number) return number as begin return value; end;
    /
    mini programme C:
    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
     
    int main()
    {
        int retval = 0;
     
        OCI_Initialize(err_handler, NULL, OCI_ENV_DEFAULT);
     
        cn = OCI_ConnectionCreate("db11g", "usr", "pwd", OCI_SESSION_DEFAULT);
        st = OCI_StatementCreate(cn);
     
        OCI_Prepare(st, "begin :retval := my_function(12345); end;");  
        OCI_BindInt(st, ":retval", &retval);
        OCI_Execute(st);
     
        printf("retval = %d", retval);
     
        OCI_Cleanup();
    }
    output :
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/03/2015, 13h22
  2. Appeler dynamiquement des procédures stockées
    Par riadhhwajdii dans le forum PL/SQL
    Réponses: 18
    Dernier message: 23/09/2010, 11h45
  3. Réponses: 2
    Dernier message: 18/01/2008, 11h59
  4. Appel de Procédure stockée en ASP
    Par James85 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 14/11/2004, 17h55
  5. importer des procédures stockées
    Par mohamed dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/09/2004, 16h30

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