ecpg
ecpg — Préprocesseur C pour
le SQL embarqué
Synopsis
ecpg [
option
...]
fichier
...
Description
ecpg
est le
préprocesseur du SQL embarqué pour les programmes écrits en C. Il
convertit des programmes écrits en C contenant des instructions SQL
embarqué en code C normal. Pour se faire, les appels au SQL sont
remplacés par des appels spéciaux de fonctions. Les fichiers en
sortie peuvent être traités par n'importe quel compilateur C.
ecpg
convertit chaque
fichier en entrée, donné sur la ligne de commande, en un fichier C
correspondant. Les fichiers en entrée ont de préférence l'extension
.pgc, auquel cas l'extension est
remplacée par .c pour former le nom du
fichier de sortie. Si l'extension du fichier en entrée n'est pas
.pgc, alors le nom de fichier en sortie
est obtenu en ajoutant .c au nom complet
du fichier. Le nom de fichier en sortie peut aussi être surchargé
en utilisant l'option -o.
Cette page de référence ne décrit pas le langage SQL embarqué. Voir
Chapitre 31,
ECPG - SQL embarqué dans du C pour plus
d'informations sur ce thème.
Options
ecpg
accepte les
arguments suivants en ligne de commande :
-
-c
-
Engendre automatiquement du code C à partir de code SQL.
Actuellement, cela fonctionne pour EXEC
SQL TYPE.
-
-C
mode
-
Initialise un mode de compatibilité.
mode
peut être INFORMIX ou INFORMIX_SE.
-
-D
symbol
-
Définit un symbole du préprocesseur C.
-
-i
-
Les fichiers d'en-tête du système sont également analysés.
-
-I
répertoire
-
Spécifie un chemin d'inclusion supplémentaire, utilisé pour
trouver les fichiers inclus via EXEC SQL
INCLUDE. Par défaut, il s'agit de . (répertoire courant), /usr/local/include, du répertoire de fichiers
entêtes de PostgreSQL™
défini à la compilation (par défaut : /usr/local/pgsql/include), puis de /usr/include, dans cet ordre.
-
-o
nom_fichier
-
Indique le nom du fichier de sortie,
nom_fichier
, utilisé par
ecpg
.
-
-r
option
-
Sélectionne un comportement en exécution. à ce jour, la seule
valeur possible pour
option
est no_indicator.
-
-t
-
Active la validation automatique (autocommit) des
transactions. Dans ce mode, chaque commande SQL est validée
automatiquement, sauf si elle est à l'intérieur d'un bloc de
transaction explicite. Dans le mode par défaut, les commandes
ne sont validées qu'à l'exécution de
EXEC SQL COMMIT
.
-
-v
-
Affiche des informations supplémentaires dont la version et
le chemin des entêtes.
-
--help
-
Affiche un bref résumé de l'utilisation de la commande et
quitte.
-
--version
-
Affiche la version et quitte.
Notes
Lors de la compilation de fichiers C prétraités, le compilateur a
besoin de trouver les fichiers d'en-tête ECPG dans le répertoire des entêtes de
PostgreSQL™. De ce fait, il
faut généralement utiliser l'option -I lors
de l'appel du compilateur (c'est-à-dire -I/usr/local/pgsql/include).
Les programmes C qui utilisent du SQL embarqué doivent être liés
avec la bibliothèque libecpg. Cela peut
peut être effectué, par exemple, en utilisant les options de
l'éditeur de liens -L/usr/local/pgsql/lib
-lecpg.
La valeur réelle des répertoires, fonction de l'installation, peut
être obtenue par l'utilisation de la commande
pg_config(1).
Exemples
Soit un fichier source C contenant du SQL embarqué nommé prog1.pgc. Il peut être transformé en programme
exécutable à l'aide des commandes suivantes :
ecpg prog1.pgc
cc -I/usr/local/pgsql/include -c prog1.c
cc -o prog1 prog1.o -L/usr/local/pgsql/lib -lecpg