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

C Discussion :

Besoin d'aide ODBC en C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 4
    Par défaut Besoin d'aide ODBC en C
    Bonjour
    je suis nouvelle sur le forum, j'ai des connaissance en langage c et oracle mais je n'ai jamais travaillé avec les deux. dans mon nouveau stage on m'a donnée des fichiers sources c pour administrer une base de donnée oracl, j'ai besoin de votre aide pour m'aider a les comprendre. ci joint 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
    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
     
     
    #ifndef _GAV131B_H_
    #define _GAV131B_H_
     
    #include <stdlib.h>
    #include <stdio.h>
    #include <ctype.h>
    #include <string.h>
    #include <sqlda.h>
    #include <sqlcpr.h>
    #include <errno.h>
    #include "DefinitionGlobale.h"
    #include "GcnTracer.h"
    #include "GcnFichier.h"
    #include "GcnBase.h"
    #include "GcnEtat.h"
    #include "GcnString.h"
    #include "GcnPrim.h"
    #include "GcnDate.h"
    #include "GcnNumerique.h"
     
    /* Definition macro EXTERN */
     
    #ifdef _IN_GAV131B_
    #define EXTERN_GAV131B
    #else
    #define EXTERN_GAV131B extern
    #endif /* _IN_GAV131B_ */
     
    #ifndef _ _
    #define _SQLCA_H_
    EXEC SQL INCLUDE "SQLCA.h";
    #endif /* _SQLCA_H_ */
     
    /* Inclusion des packs utilises */
     
    #ifndef _RST1GCO1_H_
    EXEC SQL INCLUDE "RST1GCO1.h";
    #endif /* _RST1GCO1_H_ */
     
    #ifndef _RST2GCO1_H_
    EXEC SQL INCLUDE "RST2GCO1.h";
    #endif /* _RST2GCO1_H_ */

    Merci beaucoup.

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    Salut,

    Es-tu obligé de travailler avec ODBC pour ton application Oracle ?

    Dans la négative, cela sera plus simple d'utiliser la librairie OCILIB (C Wrapper for Oracle OCI). Tu trouveras un tuto concernant OCILIB sur developpez.com : Développer une application Oracle en C/C++ avec la librairie OCILIB

    Sinon concernant ODBC, il a aussi un tuto sur developpez.com :

    L'accès à vos données avec ODBC en langage C

    Pour finir, le bout que tu as posté est une inclusion de headers standard et de headers persos utilisés la ou tu es en stage...
    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

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 472
    Par défaut
    Citation Envoyé par Christina86 Voir le message
    Bonjour j'ai besoin de votre aide pour m'aider a les comprendre. ci joint un morceau de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    EXEC SQL INCLUDE "SQLCA.h";
    EXEC SQL INCLUDE "RST1GCO1.h";
    EXEC SQL INCLUDE "RST2GCO1.h";
    Merci beaucoup.
    Il s'agit d'Embedded C/SQL, c'est-à-dire de macros définies dans le standard SQL, que tu insères au milieu de ton code et qui doivent passer par un précompilo pour être transformées en code C normal. C'est assez répandu.

    L'avantage est que c'est - à peu près - portable, normalisé et pas trop compliqué à mettre en place. L'inconvénient est que le code généré est souvent très dégueulasse. Je ne sais pas ce que ça vaut avec Oracle, mais avec Sybase 12.5, c'était dramatique, alors que par ailleurs, l'Open Client, lui, fonctionnait très bien.

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    Effectivement, j'ai pas fait gaffe à la fin du bout de fichier posté...

    C'est bien du embedded SQL. Vu que tu bosses avec Oracle, c'est donc Oracle Pro*C que tu utilises.

    Saches que developpez.com dispose d'un forum dédié aux API Oracle telles que PRO*C : Interfaces de programmation (Forum d'entraide sur l'utilisation des API Oracle : Pré-compilateurs, OCI, OCCI, etc.)

    Comme l'indique Obsidian, le code généré par les précompilateurs SQL sont souvent hermétiques et PRO*C ne déroge pas à la régle... Mais bon, du PRO*C c'est si simple à écrire....
    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

  5. #5
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 4
    Par défaut
    bonjur
    Merci de la réponse.

    J'ai bien suivit les instructions, j'ai pris ennormement, j'aurais besoin encore une petite aide concernant les etapes pour se connecter à la BD oracle avec du c,

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    Donc,

    Tu utilise quoi finalement ?

    ODBC ?
    PRO*C ?
    Autres ?

    Si tu ne donnes pas plus d'infos, on ne pourra pas t'aider...
    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. besoin d'aide serveur ODBC mise à jour
    Par Ludo_360 dans le forum Delphi
    Réponses: 3
    Dernier message: 16/05/2007, 09h15
  2. besoin d'aide pour le composant DBComboBox
    Par jane2002 dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/02/2004, 19h01
  3. [CR] besoin d'aide sur les formules
    Par GuillaumeDSA dans le forum Formules
    Réponses: 4
    Dernier message: 10/07/2003, 12h19
  4. [TP]besoin d'aide pour commandes inconnues
    Par Upal dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 03/10/2002, 10h48
  5. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05

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