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 04/01/2011, 19h53   #1
Membre du Club
 
bean sean
Inscription : avril 2010
Messages : 120
Détails du profil
Informations personnelles :
Nom : bean sean
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : avril 2010
Messages : 120
Points : 46
Points : 46
Par défaut [PRO*C] Problèmes de compilation

Bonjour,

Je suis débutant dans le Pro*C, et j'essaye de compiler une source afin de voir comment ça marche niveau compilation et développement.

Voilà mon fichier main.c

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
 
#include <stdio.h>
#include <errno.h>
#include <string.h>
 
/************************SECTION DE DECLARATION*************************/
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR username[20];
VARCHAR pass[20];
char nom[20];
int num_dem;
 
EXEC SQL END DECLARE SECTION;
 
EXEC SQL INCLUDE sqlca.h; /*traitement des erreurs*/
 
main()
{
 
EXEC SQL WHENEVER SQLERROR continue; /*exemple de gestion d'erreur***/
/******************************CONNEXION*******************************/
 
strcpy( (char *) username.arr, "dbd@liszt");
username.len=9;
strcpy( (char * ) pass.arr, "projet");
pass.len=6;
 
EXEC SQL CONNECT :username IDENTIFIED BY :pass ;
printf("Connecte !\n");
 
printf("nom:"); gets(nom);
 
/**************************REQUETE SQL INTEGREE*************************/
 
EXEC SQL SELECT NUM_DEM INTO :num_dem FROM DEMANDEURS
WHERE NOM=:nom;
 
printf("Nom: %s Num?ro de demandeur:%d \n", nom, num_dem);
 
EXEC SQL COMMIT WORK RELEASE; /* d?connexion de la base de donnees, et
annulation des modifications faites*/
 
exit(0);
}
il ne connait aucune instruction SQL, 50 errurs :
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|6|error C2061: erreur de syntaxeÿ: identificateur 'SQL'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|6|error C2059: erreur de syntaxeÿ: ';'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|6|error C2061: erreur de syntaxeÿ: identificateur 'DECLARE'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|6|error C2059: erreur de syntaxeÿ: ';'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|7|error C2061: erreur de syntaxeÿ: identificateur 'username'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|7|error C2059: erreur de syntaxeÿ: ';'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|7|error C3409: bloc d'attributs vide non autoris‚|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|7|error C2143: erreur de syntaxeÿ: absence de ']' avant 'constant'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|8|error C2061: erreur de syntaxeÿ: identificateur 'pass'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|8|error C2059: erreur de syntaxeÿ: ';'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|8|error C3409: bloc d'attributs vide non autoris‚|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|8|error C2143: erreur de syntaxeÿ: absence de ']' avant 'constant'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|12|error C2061: erreur de syntaxeÿ: identificateur 'SQL'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|12|error C2059: erreur de syntaxeÿ: ';'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|12|error C2061: erreur de syntaxeÿ: identificateur 'DECLARE'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|12|error C2059: erreur de syntaxeÿ: ';'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|14|error C2061: erreur de syntaxeÿ: identificateur 'SQL'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|14|error C2059: erreur de syntaxeÿ: ';'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|14|error C2061: erreur de syntaxeÿ: identificateur 'sqlca'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|14|error C2059: erreur de syntaxeÿ: ';'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|14|error C2059: erreur de syntaxeÿ: '.'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|19|error C2065: 'EXEC'ÿ: identificateur non d‚clar‚|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|19|error C2146: erreur de syntaxeÿ: absence de ';' avant l'identificateur 'SQL'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|19|error C2065: 'SQL'ÿ: identificateur non d‚clar‚|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|19|error C2146: erreur de syntaxeÿ: absence de ';' avant l'identificateur 'WHENEVER'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|19|error C2065: 'WHENEVER'ÿ: identificateur non d‚clar‚|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|19|error C2146: erreur de syntaxeÿ: absence de ';' avant l'identificateur 'SQLERROR'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|19|error C2065: 'SQLERROR'ÿ: identificateur non d‚clar‚|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|19|error C2143: erreur de syntaxeÿ: absence de ';' avant 'continue'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|19|error C2044: instruction continue non conforme|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|22|error C2065: 'username'ÿ: identificateur non d‚clar‚|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|22|error C2224: la partie gauche de '.arr' doit avoir un type struct/union|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|22|error C2198: 'strcpy'ÿ: pas assez d'arguments pour un appel|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|23|error C2065: 'username'ÿ: identificateur non d‚clar‚|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|23|error C2224: la partie gauche de '.len' doit avoir un type struct/union|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|24|error C2065: 'pass'ÿ: identificateur non d‚clar‚|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|24|error C2224: la partie gauche de '.arr' doit avoir un type struct/union|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|24|error C2198: 'strcpy'ÿ: pas assez d'arguments pour un appel|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|25|error C2065: 'pass'ÿ: identificateur non d‚clar‚|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|25|error C2224: la partie gauche de '.len' doit avoir un type struct/union|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|27|error C2065: 'EXEC'ÿ: identificateur non d‚clar‚|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|27|error C2146: erreur de syntaxeÿ: absence de ';' avant l'identificateur 'SQL'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|27|error C2065: 'SQL'ÿ: identificateur non d‚clar‚|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|27|error C2146: erreur de syntaxeÿ: absence de ';' avant l'identificateur 'CONNECT'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|27|error C2065: 'username'ÿ: identificateur non d‚clar‚|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|27|error C2146: erreur de syntaxeÿ: absence de ';' avant l'identificateur 'IDENTIFIED'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|27|error C2065: 'IDENTIFIED'ÿ: identificateur non d‚clar‚|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|27|error C2146: erreur de syntaxeÿ: absence de ';' avant l'identificateur 'BY'|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|27|error C2065: 'pass'ÿ: identificateur non d‚clar‚|
C:\Users\seanbean\Desktop\Projet Oracle\Oracle\main.c|34|error C2065: 'EXEC'ÿ: identificateur non d‚clar‚|
||More errors follow but not being shown.|
||Edit the max errors limit in compiler options...|
||=== Build finished: 50 errors, 0 warnings ===|

Je développe sous CodeBlocks, et j'ai va version 10g d'Oracle.
seanbean est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 22h17   #2
Rédacteur/Modérateur
 
Avatar de Vincent Rogier
 
vincent rogier
Inscription : juillet 2007
Messages : 2 355
Détails du profil
Informations personnelles :
Nom : vincent rogier
Âge : 34

Informations forums :
Inscription : juillet 2007
Messages : 2 355
Points : 3 108
Points : 3 108
il faut precompiler ton fichier source par le précompilateur d'oracle qui génèrera un fichier source C compitable par ton compilateur C

Lien sur la Documentation PRO*C
__________________
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
Vincent Rogier est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web