Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Interfaces de programmation
Interfaces de programmation Forum d'entraide sur l'utilisation des API Oracle : Pré-compilateurs, OCI, OCCI, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/02/2007, 20h36   #1
Invité régulier
 
Inscription : janvier 2006
Messages : 30
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 30
Points : 8
Points : 8
Par défaut [PRO*C] Langage c et requete base oracle

Bonjour,
je cherche un tutoriel permettant de réaliser des requêtes SQL sous oracle dans un programme en c
Merci
manucha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2007, 21h29   #2
Invité régulier
 
Inscription : janvier 2006
Messages : 30
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 30
Points : 8
Points : 8
Personne pour me répondre?
Mes recherches indiquent que le langage pro c permettent dexécuter des requêtes...
Quelque connait un tuto sur le pro c?
manucha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2007, 23h57   #3
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 8 741
Détails du profil
Informations personnelles :
Âge : 54

Informations forums :
Inscription : janvier 2007
Messages : 8 741
Points : 9 975
Points : 9 975
peut-être sur le forum oracle ??

http://www.developpez.net/forums/f42/bases-donnees/oracle/
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 11h16   #4
Membre éclairé
 
Inscription : janvier 2007
Messages : 349
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 349
Points : 320
Points : 320
Tout dépend de la manière dont tu veux attaquer ta base oracle.
Tu peux par exemple utiliser la bibliothèque OCI (fournie avec Oracle), qui permet de piloter complètement Oracle mais n'est pas très simple d'utilisation.
josse95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2007, 10h20   #5
Rédacteur/Modérateur
 
Avatar de Melem
 
Homme Jessee Michaël Christian Edouard
Ingénieur développement logiciels
Inscription : janvier 2006
Messages : 3 548
Détails du profil
Informations personnelles :
Nom : Homme Jessee Michaël Christian Edouard
Âge : 26
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : janvier 2006
Messages : 3 548
Points : 6 409
Points : 6 409
Envoyer un message via MSN à Melem
Par défaut Re:

En C, il y a au moins deux techniques très utilisées pour communiquer avec une base de données:
1. Le SQL embarqué ou Embedded SQL : Il s'agit d'incorporer du code SQL dans ton programme C. Les commandes SQL sont précédées par EXEC SQL. Exemple:
Code :
EXEC SQL SELECT * FROM Table1;
Avant de compiler, ton code C doit passer par le préprocesseur SQL, spécifique de chaque constructeur. Sous Oracle, l'environnement fourni pour faire du SQL embarqué s'applelle Pro*SQL.

2. ODBC (OLE DataBase Connectivity)
C'est une API qui permet de communiquer avec la quasi-totalité des serveurs de bases de données présentes sur le marché. Son utilisation requiert une certaine maîtrise du langage C, notamment la notion de pointeur, d'allocation dynamique , et de handle. Mais t'inquiète, il y a de bons tuos pour apprendre ODBC sur le Web.
Sur le site de ENST
Sur le site de EasySoft (En anglais)
Et Sur lebdenat.africa-web.org. Tout en français, avec de superbes cours sur ODBC, COM, ...
Melem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2007, 11h22   #6
Invité régulier
 
Inscription : avril 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 28
Points : 6
Points : 6
Je déterre le sujet pour vous demander à peu près la même chose.

Simplement, je suis obligée d'attaquer ma base en Pro*C, j'ai pas le choix !

Donc... y a-t-il des sites qui l'expliquent ?

J'ai écrit un p'tit programme déjà, mais ça ne marche pas Et en plus, je suppose que l'appel de cette fonction ne marche pas dans mon programme en C, je n'arrive pas à m'en sortir. Le tout est appelé par de l'ADA...

Un peu d'aide serait la bienvenue

Voici le programme *.pc
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
/*                          
 *   External files included
 */
 
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <malloc.h>
 
EXEC SQL INCLUDE SQLCA.H;
 
 
extern int small_tables()
{
EXEC SQL BEGIN DECLARE SECTION;
EXEC SQL END DECLARE SECTION;
 
EXEC SQL CREATE TABLE B111_TEST AS
			SELECT * FROM B111_TABLE
			WHERE DB_TYPE='DIS' OR DB_TYPE='AIS';
 
RETURN 0;
}
Et le programme C qui l'utilise :
Code :
1
2
3
4
5
6
7
8
9
10
void CREATE ( user_log, user_status )
 
	T_CLIENT_EXIT_STATUS *user_status;
	//T_ENUM	user_log;
{
 
	printf("#### TEST DE CREATION DES TABLES ###\n");
	DNB_small_tables();
 
}
Ce qui à mon avis ne va pas, c'est que je n'ai pas d'include particulier pour appeler le fichier .pc

Enfin comme j'y connais rien, tout ne peut que m'aider !!!

Merci par avance !
Lucinda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2007, 12h43   #7
Rédacteur
 
Avatar de Emmanuel Delahaye
 
Inscription : décembre 2003
Messages : 14 502
Détails du profil
Informations personnelles :
Âge : 55
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : décembre 2003
Messages : 14 502
Points : 18 103
Points : 18 103
Citation:
Envoyé par Lucinda
Je déterre le sujet pour vous demander à peu près la même chose.

Simplement, je suis obligée d'attaquer ma base en Pro*C, j'ai pas le choix !

Enfin comme j'y connais rien, tout ne peut que m'aider !!!
Bah, commence par apprendre le langage SQL. Mauvais forum.

http://www.developpez.net/forums/forumdisplay.php?f=42
__________________
Pas de Wi-Fi à la maison : CPL

Des infos sur la programmation et le langage C:
http://bien-programmer.blogspot.com/
http://www.bien-programmer.fr/
http://bien-programmer.forum-actif.net/forum.htm
Emmanuel Delahaye est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2007, 14h11   #8
Invité régulier
 
Inscription : avril 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 28
Points : 6
Points : 6
Je n'ai pas demandé de m'apprendre le langage SQL Même si je ne suis pas la meilleure loin de là, je pense pouvoir me débrouiller seule pour ce côté-ci.

D'ailleurs je ne vois pas d'erreurs dans ma requête SQL... donc s'il y en a une, je veux bien qu'on me le dise !

Pour finir, j'ai trouvé un bouquin sur le Pro*C. Et l'exemple que tu m'as donné est pas mal, mais malgré tout, il est tout seul. Je dois appeler ma fonction dans un programme en C... alors ben

Enfin si ce n'est vraiment pas le bon sujet, je vais poster de l'autre côté.

Merci.

EDIT : J'ai trouvé la raison ! C'est pas tant mon programme qui marchait pas, c'était en fait que j'avais appelé mon fichier .c de la même manière que le fichier .pc
Comme le compilateur passe au final par le compilateur en C... ben ça marchait pas
Bref, il faut savoir qu'il ne faut pas les appeler pareil !!!
Lucinda est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h06.


 
 
 
 
Partenaires

Hébergement Web