Utilisation de oracle en c++

rihab85 Messages postés 6 Date d'inscription samedi 31 mars 2007 Statut Membre Dernière intervention 7 mai 2008 - 27 juin 2007 à 12:54
cs_samiblh Messages postés 3 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 13 juin 2011 - 26 mars 2011 à 23:48
comment je peux utiliser oracle 9i en c++
je veux bien voir un exemple simple si possible
j'ai besoin de votre aide

8 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
28 juin 2007 à 11:19
Salut,

Oracle propose une bibli nommée occi. Voire leur site pour des exemples et de la doc.

Sinon, il y pas mal de bibli sensées pouvoir se connecter à à peu près n'importe quoi. Nottement sous C++ Builder, y a le BDE ou encore Direct Oracle Access. Sous VC y a ADO/OBDC avec lequel on doit pouvoir faire quelque chose.
0
cs_vicenzo Messages postés 178 Date d'inscription mardi 16 août 2005 Statut Membre Dernière intervention 25 août 2010 1
28 juin 2007 à 21:29
Oracle fournit 3 API  C/C++ :

    - PRO* (C/C++): tu codes directement en sql dans ton source qui est ensuite passé à un précompilateur fourni par oracle qui génère un code source compilable par ton compilateur. Le code final généré (qui est illisible) utilise les librairies SqlLib d'Oracle. L'avantage est que tu code du SQL dans ton source, nativement, c'est assez sympa mais chiant à débugger et tu doit compiler un exe pour chaque version d'Oracle. Je l'utilise au boulot sur des projets C d'interface temps réel entre gros systèmes.

    - OCI (C): c'est l'api de référence d'Oracle, la voie "royale" d'Oracle mais super complexe. Il faut utiliser des wrapper C ou C++ qui simplifie le job.. Il en existe plusieurs sur le marché.. Je met suis fait ma propre lib c++ que j'utilise au boulot sur des projet C++

    -  OCCI (C++) : C'est le wrapper C++ fournit par Oracle depuis Oracle 9i (donc versions antérieures dans le baba). C'est bien fait, utilise beaucoup, les templates. Les premières moutures (beaucoup de patchs) n'était pas assez matures et le soucis est tu dois linker avec des dll qui exporte les classes compilées par Oracle et donc limité par les compilateurs supportés par Oracle car pour du C++, il faut que le DLL soit compilée avec le même compilo que ton prog.

Ensuite tu as le reste, OLEDB, ODBC, ADO, ..... qui ne sont pas optimisés, ne peuvent tirer parti des fonctions spécifiques d'Oracle, des fonctionnalités Objet, ...

Le mieux reste OCI si tu toruve un bon wrapper, simple et qui te convient... Sinon Pro*c est simple à coder
Ou alors la solution "de VBiste" avec ADO, ...
0
rihab85 Messages postés 6 Date d'inscription samedi 31 mars 2007 Statut Membre Dernière intervention 7 mai 2008
29 juin 2007 à 01:04
merci pour votre reponse
j'ai decidé d'utiliser occi
je peux trouver un petit exemple?
0
cs_vicenzo Messages postés 178 Date d'inscription mardi 16 août 2005 Statut Membre Dernière intervention 25 août 2010 1
29 juin 2007 à 12:20
... sur le site d'Oracle...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rihab85 Messages postés 6 Date d'inscription samedi 31 mars 2007 Statut Membre Dernière intervention 7 mai 2008
30 juin 2007 à 12:25
quand je met

#include
#include <occi.h>
using namespace oracle:occi;
using namespace std;

102 erreurs sont affichés
les erreurs sont de ce type:

d:\oracle\ora90\oci\include\occicommon.h(164) : error C2057: expected constant expression
d:\oracle\ora90\oci\include\occicommon.h(165) : error C2065: 'SQLT_RID' : undeclared identifier

comment je peux corriger?
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
3 juil. 2007 à 09:44
[troll]Abandonne la compilation du C++, et passe en Delphi, très approrié pour Oracle !/troll

Y a pas deux * deux points à using namespace oracle::occi; ?

La doc de occi.
0
cs_samiblh Messages postés 3 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 13 juin 2011
28 févr. 2011 à 14:38
Bonjour,
pour le #include <occi.h>, je n'arrive pas a trouver sur le net comment ajouter cette biblio à cygwin
0
cs_samiblh Messages postés 3 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 13 juin 2011
26 mars 2011 à 23:48
Bonsoir,
finalement j'ai changé cygwin par Mingw et ca roule comme sur des roulettes, après configuration biensûr
0