Skip to content

Commit

Permalink
Traduction de ecpg
Browse files Browse the repository at this point in the history
par Stéphane Lorek.
  • Loading branch information
gleu committed Aug 24, 2021
1 parent e10cb89 commit fdb5a52
Showing 1 changed file with 101 additions and 101 deletions.
202 changes: 101 additions & 101 deletions postgresql/ecpg.xml
Original file line number Diff line number Diff line change
Expand Up @@ -68,14 +68,14 @@ EXEC SQL ...;
de sensibilité à la casse du code <acronym>SQL</acronym>, et pas celles du
langage C. De plus, elles permettent des commentaires imbriqués comme dans
le standard SQL. Néanmoins, la partie C du programme suit le standard C de
ne pas accepter des commentaires imbriqués. Embedded
<acronym>SQL</acronym> statements likewise use SQL rules, not C rules, for
parsing quoted strings and identifiers.(See <xref
linkend="sql-syntax-strings"/> and <xref
linkend="sql-syntax-identifiers"/> respectively. Note that ECPG assumes
that <varname>standard_conforming_strings</varname> is
<literal>on</literal>.) Of course, the C part of the program follows C
quoting rules.
ne pas accepter des commentaires imbriqués. Les ordres
<acronym>SQL</acronym> embarqués utilisent des règles SQL, et non pas des
règles en C, pour analyser les chaînes placées entre guillemets et les
identifiants.(Voir respectivement <xref linkend="sql-syntax-strings"/> et
<xref linkend="sql-syntax-identifiers"/>. Notez que ECPG assume que
<varname>standard_conforming_strings</varname> vaut
<literal>on</literal>.) Bien sûr, la partie de C du programme suit les
règles C de mise entre guillemets.
</para>

<para>
Expand Down Expand Up @@ -161,18 +161,18 @@ EXEC SQL CONNECT TO <replaceable>cible</replaceable> <optional>AS <replaceable>n
</para>

<para>
If you specify the connection target directly (that is, not as a string
literal or variable reference), then the components of the target are
passed through normal SQL parsing; this means that, for example,
the <replaceable>hostname</replaceable> must look like one or more SQL
identifiers separated by dots, and those identifiers will be
case-folded unless double-quoted. Values of
any <replaceable>options</replaceable> must be SQL identifiers,
integers, or variable references. Of course, you can put nearly
anything into an SQL identifier by double-quoting it.
In practice, it is probably less error-prone to use a (single-quoted)
string literal or a variable reference than to write the connection
target directly.
Si vous spécifiez la chaîne de connexion de façon littérale (c'est-à-dire, pas
par une chaîne littérale ou une réference à une variable), alors
les constituants de la chaîne suivent les règles de grammaire de SQL normal&nbsp;;
par exemple, le <replaceable>hostname</replaceable> doit être similaire
à un ou plusieurs identifiants SQL séparés par des points, et ces identifiants
seront insensibles à la casse à moins d'être entre guillemets. Les valeurs
de n'importe quelles <replaceable>options</replaceable> doivent être des
identifiants SQL, des entiers, ou des références de variables. Bien sûr,
vous pouvez mettre presque n'importe quoi dans un identifiant SQL en le plaçant
entre guillemets. En pratique, il y a probablement moins de risque d'erreur d'utiliser
une chaîne littérale (entre simples guillemets) ou une référence de variable que
d'écrire la chaîne de connexion directement.
</para>

<para>
Expand Down Expand Up @@ -219,17 +219,17 @@ EXEC SQL CONNECT TO <replaceable>cible</replaceable> <optional>AS <replaceable>n
linkend="libpq-paramkeywords"/>). Les espaces sont ignorés avant tout
<replaceable>mot-clé</replaceable> ou <replaceable>valeur</replaceable>,
mais pas à l'intérieur ou après. Notez qu'il n'existe pas de moyens
d'écrire write <literal>&amp;</literal> à l'intérieur d'une
d'écrire <literal>&amp;</literal> à l'intérieur d'une
<replaceable>valeur</replaceable>.
</para>

<para>
Notice that when specifying a socket connection
(with the <literal>unix:</literal> prefix), the host name must be
exactly <literal>localhost</literal>. To select a non-default
socket directory, write the directory's pathname as the value of
a <varname>host</varname> option in
the <replaceable>options</replaceable> part of the target.
Notez qu'en spécifiant une connexion socket (avec le préfixe
<literal>unix:</literal>), le nom d'hôte doit être exactement
<literal>localhost</literal>. Pour choisir un répertoire de socket
autre que celui par défaut, écrivez le chemin complet du répertoire
comme valeur de l'option <varname>host</varname> dans la section
<replaceable>options</replaceable> de la cible.
</para>

<para>
Expand Down Expand Up @@ -270,15 +270,14 @@ EXEC SQL CONNECT TO :cible USER :utilisateur USING :motdepasse;
</para>

<para>
If untrusted users have access to a database that has not adopted a
<link linkend="ddl-schemas-patterns">secure schema usage pattern</link>,
begin each session by removing publicly-writable schemas
from <varname>search_path</varname>. For example,
add <literal>options=-c search_path=</literal>
to <literal><replaceable>options</replaceable></literal>, or
issue <literal>EXEC SQL SELECT pg_catalog.set_config('search_path', '',
false);</literal> after connecting. This consideration is not specific to
ECPG; it applies to every interface for executing arbitrary SQL commands.
Si des utilisateurs non fiables ont accès à une base de données qui n'a pas
adopté un <link linkend="ddl-schemas-patterns">modèle d'utilisation de schémas sécurisés</link>,
alors commencez chaque session en retirant les schémas accessibles à l'écriture publique
du <varname>search_path</varname>. Par exemple, ajoutez <literal>options=-c search_path=</literal>
aux <literal><replaceable>options</replaceable></literal>, ou
lancez <literal>EXEC SQL SELECT pg_catalog.set_config('search_path', '',
false);</literal> après la connexion. Cette considération n'est pas spécifique à
ECPG&nbsp;; elle s'applique à toute interface pour exécuter des commandes SQL arbitraires.
</para>
</sect2>

Expand Down Expand Up @@ -365,18 +364,18 @@ courante=basetest1 (devrait être basetest1)
</para>

<para>
The third option is to declare a SQL identifier linked to
the connection, for example:
La troisième option est de déclarer un identifiant SQL lié à
la connexion, par exemple&nbsp;:
<programlisting>
EXEC SQL AT <replaceable>connection-name</replaceable> DECLARE <replaceable>statement-name</replaceable> STATEMENT;
EXEC SQL PREPARE <replaceable>statement-name</replaceable> FROM :<replaceable>dyn-string</replaceable>;
</programlisting>
Once you link a SQL identifier to a connection, you execute dynamic SQL
without an AT clause. Note that this option behaves like preprocessor
directives, therefore the link is enabled only in the file.
Une fois que vous avez lié l'identifiant SQL à la connexion, vous exécutez le SQL
dynamique sans clause AT. Notez que cette option se comporte comme les
directives préprocesseurs, ainsi le lien n'est actif que dans le fichier.
</para>
<para>
Here is an example program using this option:
Voici un exemple de programme utilisant cette option&nbsp;:
<programlisting><![CDATA[
#include <stdio.h>
Expand All @@ -398,7 +397,7 @@ int main(){
}
]]></programlisting>

This example would produce this output, even if the default connection is testdb:
Cet exemple produira cette sortie, même si la connexion par défaut est testdb&nbsp;:
<screen>
postgres
</screen>
Expand Down Expand Up @@ -560,9 +559,9 @@ EXEC SQL COMMIT;
</para>

<para>
For more details about declaring a cursor, see <xref
linkend="ecpg-sql-declare"/>; for more details about fetching rows from a
cursor, see <xref linkend="sql-fetch"/>.
Pour plus de détails sur la déclaration d'un curseur, voir <xref
linkend="ecpg-sql-declare"/>&nbsp;; Pour plus de détails sur la récupération
des enregistrements depuis un curseur, voir <xref linkend="sql-fetch"/>.
</para>

<note>
Expand Down Expand Up @@ -6855,7 +6854,7 @@ DECLARE <replaceable class="parameter">nom_curseur</replaceable> [ BINARY ] [ AS
une sémantique légèrement différente de celle de l'ordre SQL
direct <command>DECLARE</command>. Là ou ce dernier exécute
une requête et prépare le jeu de résultat pour la récupération,
cette commande SQL embarqué se contente de déclarer un nom comme
cette commande SQL embarquée se contente de déclarer un nom comme
<quote>variable de boucle</quote> pour itérer sur le résultat d'une
requête; l'exécution réelle se produit quand le curseur est ouvert
avec la commande <command>OPEN</command>.
Expand Down Expand Up @@ -6947,7 +6946,7 @@ EXEC SQL DECLARE cur1 CURSOR FOR stmt1;
<refentry id="ecpg-sql-declare-statement">
<refnamediv>
<refname>DECLARE STATEMENT</refname>
<refpurpose>declare SQL statement identifier</refpurpose>
<refpurpose>declare un identifiant d'ordre SQL</refpurpose>
</refnamediv>

<refsynopsisdiv>
Expand All @@ -6960,30 +6959,30 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC
<title>Description</title>

<para>
<command>DECLARE STATEMENT</command> declares a SQL statement identifier.
SQL statement identifier can be associated with the connection.
When the identifier is used by dynamic SQL statements, the statements
are executed using the associated connection.
The namespace of the declaration is the precompile unit, and multiple
declarations to the same SQL statement identifier are not allowed.
Note that if the precompiler runs in Informix compatibility mode and
some SQL statement is declared, "database" can not be used as a cursor
name.
<command>DECLARE STATEMENT</command> déclare un identifiant d'ordre SQL.
L'identifiant d'ordre SQL peut être associé avec une connexion.
Quand l'identifiant est utilisé pour des commandes SQL dynamiques, les commandes
sont exécutées en utilisant la connexion associée.
L'espace de nommage de la déclaration est une unité précompilée, et de
multiples déclaration au même identifiant d'ordre SQL n'est pas permis.
Notez que si le précompilateur s'exécute en mode compatible Informix et
qu'un ordre SQL est déclaré, alors "database" ne peut être utilisée
comme nom de curseur.
</para>
</refsect1>

<refsect1>
<title>Parameters</title>
<title>Paramètres</title>

<variablelist>
<varlistentry>
<term><replaceable class="parameter">connection_name</replaceable></term>
<listitem>
<para>
A database connection name established by the <command>CONNECT</command> command.
Un nom de connexion à une base de données établie par la commande <command>CONNECT</command>.
</para>
<para>
AT clause can be omitted, but such statement has no meaning.
La clause AT peut être omise, mais de telles commandes n'ont pas de significations.
</para>
</listitem>
</varlistentry>
Expand All @@ -6994,7 +6993,7 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC
<term><replaceable class="parameter">statement_name</replaceable></term>
<listitem>
<para>
The name of a SQL statement identifier, either as an SQL identifier or a host variable.
Le nom de l'identifiant d'ordre SQL, soit un identifiant SQL ou une variable hôte.
</para>
</listitem>
</varlistentry>
Expand All @@ -7004,12 +7003,12 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC
<refsect1>
<title>Notes</title>
<para>
This association is valid only if the declaration is physically placed on top of a dynamic statement.
L'association n'est valide que si la déclaration est physiquement placée en haut de la commande dynamique.
</para>
</refsect1>

<refsect1>
<title>Examples</title>
<title>Exemples</title>

<programlisting>
EXEC SQL CONNECT TO postgres AS con1;
Expand All @@ -7023,16 +7022,16 @@ EXEC SQL CLOSE cursor_name;
</refsect1>

<refsect1>
<title>Compatibility</title>
<title>Compatibilité</title>

<para>
<command>DECLARE STATEMENT</command> is a extension of the SQL standard,
but can be used in famous DBMSs.
<command>DECLARE STATEMENT</command> est une extension du standard SQL,
mais peut être utilisé avec d'autres moteurs de bases de données.
</para>
</refsect1>

<refsect1>
<title>See Also</title>
<title>Voir aussi</title>

<simplelist type="inline">
<member><xref linkend="ecpg-sql-connect"/></member>
Expand Down Expand Up @@ -7215,9 +7214,9 @@ main(void)
EXEC SQL CONNECT TO testdb AS con2 USER testuser;
EXEC SQL CONNECT TO testdb AS con3 USER testuser;

EXEC SQL DISCONNECT CURRENT; /* close con3 */
EXEC SQL DISCONNECT DEFAULT; /* close DEFAULT */
EXEC SQL DISCONNECT ALL; /* close con2 and con1 */
EXEC SQL DISCONNECT CURRENT; /* ferme con3 */
EXEC SQL DISCONNECT DEFAULT; /* ferme DEFAULT */
EXEC SQL DISCONNECT ALL; /* ferme con2 and con1 */

return 0;
}
Expand Down Expand Up @@ -7284,23 +7283,24 @@ EXECUTE IMMEDIATE <replaceable class="parameter">chaine</replaceable>
<title>Notes</title>

<para>
In typical usage, the <replaceable>string</replaceable> is a host
variable reference to a string containing a dynamically-constructed
SQL statement. The case of a literal string is not very useful;
you might as well just write the SQL statement directly, without
the extra typing of <command>EXECUTE IMMEDIATE</command>.
Dans une utilisation typique, la <replaceable>chaîne</replaceable>
est une variable hôte référençant une chaîne contenant un ordre SQL
dynamiquement construit. Le cas d'une chaîne littérale n'est pas très utile&nbsp;;
vous pouvez aussi bien écrire l'ordre SQL directement, sans saisir
en plus <command>EXECUTE IMMEDIATE</command>.
</para>

<para>
If you do use a literal string, keep in mind that any double quotes
you might wish to include in the SQL statement must be written as
octal escapes (<literal>\042</literal>) not the usual C
idiom <literal>\"</literal>. This is because the string is inside
an <literal>EXEC SQL</literal> section, so the ECPG lexer parses it
according to SQL rules not C rules. Any embedded backslashes will
later be handled according to C rules; but <literal>\"</literal>
causes an immediate syntax error because it is seen as ending the
literal.
Si vous utilisez une chaîne littérale, gardez à l'esprit que tout
guillemet que vous souhaitez inclure dans l'ordre SQL doit être écrit
avec des caractères d'échappement octal (<literal>\042</literal>) et non pas
les idiomes habituels C <literal>\"</literal>. En effet, la chaîne est dans
une section <literal>EXEC SQL</literal>, donc l'analyseur grammatical ECPG
l'analyse suivant les règles SQL et non pas les règles C. Toute
barre oblique inverse (<quote>backslash</quote>) sera plus tard
gérée en suivant les règles C&nbsp;; mais <literal>\"</literal> provoque
une erreur de syntaxe immédiate parce qu'il est vu comme une fin de
litéral.
</para>
</refsect1>

Expand Down Expand Up @@ -7655,8 +7655,8 @@ PREPARE <replaceable class="parameter">nom_préparé</replaceable> FROM <replace
<para>
Une chaîne littérale ou une variable hôte contenant un ordre
SQL préparable, soit SELECT, INSERT, UPDATE ou DELETE.
Use question marks (<literal>?</literal>) for parameter values
to be supplied at execution.
Utilisez des points d'interrogation (<literal>?</literal>)
pour les valeurs de paramètres à fournir à l'exécution.
</para>
</listitem>
</varlistentry>
Expand All @@ -7667,23 +7667,23 @@ PREPARE <replaceable class="parameter">nom_préparé</replaceable> FROM <replace
<title>Notes</title>

<para>
In typical usage, the <replaceable>string</replaceable> is a host
variable reference to a string containing a dynamically-constructed
SQL statement. The case of a literal string is not very useful;
you might as well just write a direct SQL <command>PREPARE</command>
statement.
Dans une utilisation type, la <replaceable>chaîne</replaceable> est
une référence de variable à une chaîne contenant l'ordre SQL dynamiquement
construit. Le cas d'une chaîne littérale n'est pas très utile&nbsp;;
vous pouvez tout autant écrire un ordre SQL direct <command>PREPARE</command>.
</para>

<para>
If you do use a literal string, keep in mind that any double quotes
you might wish to include in the SQL statement must be written as
octal escapes (<literal>\042</literal>) not the usual C
idiom <literal>\"</literal>. This is because the string is inside
an <literal>EXEC SQL</literal> section, so the ECPG lexer parses it
according to SQL rules not C rules. Any embedded backslashes will
later be handled according to C rules; but <literal>\"</literal>
causes an immediate syntax error because it is seen as ending the
literal.
Si vous utilisez une chaîne littérale, gardez à l'esprit que tout
guillemet que vous souhaitez inclure dans l'ordre SQL doit être écrit
avec des caractères d'échappement octal (<literal>\042</literal>) et non pas
les idiomes habituels C <literal>\"</literal>. En effet, la chaîne est dans
une section <literal>EXEC SQL</literal>, donc l'analyseur grammatical ECPG
l'analyse suivant les règles SQL et non pas les règles C. Toute
barre oblique inverse (<quote>backslash</quote>) sera plus tard
gérée en suivant les règles C&nbsp;; mais <literal>\"</literal> provoque
une erreur de syntaxe immédiate parce qu'il est vu comme une fin de
litéral.
</para>
</refsect1>

Expand Down Expand Up @@ -8977,7 +8977,7 @@ int dectoint(decimal *np, int *ip);
de celle d'<productname>Informix</productname>.
<productname>Informix</productname> limite un integer entre
-32767 et 32767, alors que la limite de l'implémentation d'ECPG
dépend de l'architecture (<literal>INT_MIN .. INT_MAX</literal>).
dépend de l'architecture (<literal>-INT_MAX .. INT_MAX</literal>).
</para>
</listitem>
</varlistentry>
Expand Down

0 comments on commit fdb5a52

Please sign in to comment.