IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

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 33, ECPG SQL embarqué en 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. option peut avoir une des valeurs suivantes :

no_indicator

Ne pas utiliser d'indicateurs mais utiliser à la place des valeurs spéciales pour représenter les valeurs NULL. Historiquement, certaines bases de données utilisent cette approche.

prepare

Préparer toutes les instructions avant de les utiliser. Libecpg conservera un cache d'instructions préparées et réutilisera une instruction si elle est de nouveau exécutée. Si le cache est plein, libecpg libérera l'instruction la moins utilisée.

questionmarks

Autoriser les points d'interrogation comme marqueur pour des raisons de compatibilité. C'était la valeur par défaut il y a longtemps.

-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.

--version

Affiche la version de ecpg et quitte.

-?, --help

Affiche l'aide sur les arguments en ligne de commande de ecpg 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