1<?xml version="1.0" encoding="ISO-8859-1"?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!-- 4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 5 This file is generated from xml source: DO NOT EDIT 6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 7 --> 8<title>mod_dbd - Serveur Apache HTTP</title> 9<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> 10<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> 11<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" /> 12<script src="/style/scripts/prettify.min.js" type="text/javascript"> 13</script> 14 15<link href="/images/favicon.ico" rel="shortcut icon" /></head> 16<body> 17<div id="page-header"> 18<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossaire</a> | <a href="/sitemap.html">Plan du site</a></p> 19<p class="apache">Serveur Apache HTTP Version 2.4</p> 20<img alt="" src="/images/feather.gif" /></div> 21<div class="up"><a href="./"><img title="<-" alt="<-" src="/images/left.gif" /></a></div> 22<div id="path"> 23<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> 24<div id="page-content"> 25<div id="preamble"><h1>Module Apache mod_dbd</h1> 26<div class="toplang"> 27<p><span>Langues Disponibles: </span><a href="/en/mod/mod_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> | 28<a href="/fr/mod/mod_dbd.html" title="Fran�ais"> fr </a></p> 29</div> 30<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Gestion des connexions � une base de donn�es SQL</td></tr> 31<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> 32<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur�de�Module:</a></th><td>dbd_module</td></tr> 33<tr><th><a href="module-dict.html#SourceFile">Fichier�Source:</a></th><td>mod_dbd.c</td></tr> 34<tr><th><a href="module-dict.html#Compatibility">Compatibilit�:</a></th><td>Versions 2.1 and sup�rieures</td></tr></table> 35<h3>Sommaire</h3> 36 37 <p>Le module <code class="module"><a href="/mod/mod_dbd.html">mod_dbd</a></code> g�re les connexions 38 � une base de donn�es SQL via <a class="glossarylink" href="/glossary.html#apr" title="voir glossaire">APR</a>. Il permet 39 aux modules qui requi�rent des fonctions li�es aux bases de donn�es 40 SQL de se connecter � une base de donn�es � la demande, et s'efforce 41 de conf�rer aux bases de donn�es une efficacit� et une 42 �volutivit� optimales pour les MPMs thread�s ou non thread�s. Pour 43 plus de d�tails, voir le site web <a href="http://apr.apache.org/">APR</a>, 44 ainsi que cette vue d'ensemble de l'<a href="http://people.apache.org/~niq/dbd.html">environnement de 45 d�veloppement d'Apache DBD</a> par son d�veloppeur initial. 46</p> 47</div> 48<div id="quickview"><h3 class="directives">Directives</h3> 49<ul id="toc"> 50<li><img alt="" src="/images/down.gif" /> <a href="#dbdexptime">DBDExptime</a></li> 51<li><img alt="" src="/images/down.gif" /> <a href="#dbdinitsql">DBDInitSQL</a></li> 52<li><img alt="" src="/images/down.gif" /> <a href="#dbdkeep">DBDKeep</a></li> 53<li><img alt="" src="/images/down.gif" /> <a href="#dbdmax">DBDMax</a></li> 54<li><img alt="" src="/images/down.gif" /> <a href="#dbdmin">DBDMin</a></li> 55<li><img alt="" src="/images/down.gif" /> <a href="#dbdparams">DBDParams</a></li> 56<li><img alt="" src="/images/down.gif" /> <a href="#dbdpersist">DBDPersist</a></li> 57<li><img alt="" src="/images/down.gif" /> <a href="#dbdpreparesql">DBDPrepareSQL</a></li> 58<li><img alt="" src="/images/down.gif" /> <a href="#dbdriver">DBDriver</a></li> 59</ul> 60<h3>Sujets</h3> 61<ul id="topics"> 62<li><img alt="" src="/images/down.gif" /> <a href="#pooling">Regroupement des connexions</a></li> 63<li><img alt="" src="/images/down.gif" /> <a href="#API">API DBD d'Apache</a></li> 64<li><img alt="" src="/images/down.gif" /> <a href="#prepared">Requ�tes SQL pr�par�es</a></li> 65<li><img alt="" src="/images/down.gif" /> <a href="#security">AVERTISSEMENT DE SECURITE</a></li> 66</ul><h3>Voir aussi</h3> 67<ul class="seealso"> 68<li><a href="/misc/password_encryptions.html">Formats des mots de 69passe</a></li> 70</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div> 71<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 72<div class="section"> 73<h2><a name="pooling" id="pooling">Regroupement des connexions</a></h2> 74 <p>Ce module g�re de mani�re optimis�e en fonction de la plate-forme 75 les connexions aux bases de donn�es. Sur les plates-formes non 76 thread�es, il maintient une connexion persistente � la mani�re d'un 77 LAMP classique (Linux, Apache, Mysql, Perl/PHP/Python). Sur les 78 plates-formes thread�es, il maintient un <em>groupe de 79 connexions</em> � la fois plus �volutif et plus efficace, comme 80 d�crit dans <a href="http://www.apachetutor.org/dev/reslist">cet 81 article d'ApacheTutor</a>. Notez que <code class="module"><a href="/mod/mod_dbd.html">mod_dbd</a></code> 82 remplace les modules pr�sent�s dans cet article.</p> 83</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 84<div class="section"> 85<h2><a name="API" id="API">API DBD d'Apache</a></h2> 86 <p><code class="module"><a href="/mod/mod_dbd.html">mod_dbd</a></code> exporte cinq fonctions que d'autres 87 modules pourront utiliser. L'API se pr�sente comme suit :</p> 88 89 <pre class="prettyprint lang-c">typedef struct { 90 apr_dbd_t *handle; 91 apr_dbd_driver_t *driver; 92 apr_hash_t *prepared; 93} ap_dbd_t; 94 95/* Fonctions export�es pour acc�der � la base de donn�es */ 96 97/* ouvre une connexion qui DOIT avoir �t� explicitement ferm�e. 98 * Renvoie NULL en cas d'erreur 99 */ 100AP_DECLARE(ap_dbd_t*) ap_dbd_open(apr_pool_t*, server_rec*); 101 102/* ferme une connexion ouverte avec ap_dbd_open */ 103AP_DECLARE(void) ap_dbd_close(server_rec*, ap_dbd_t*); 104 105/* acquiert une connexion qui aura la dur�e de vie de la requ�te et qui 106 * NE DOIT PAS avoir �t� explicitement ferm�e. Renvoie NULL en cas 107 * d'erreur. C'est la fonction recommand�e pour la plupart des 108 * applications. 109 */ 110AP_DECLARE(ap_dbd_t*) ap_dbd_acquire(request_rec*); 111 112/* acquiert une connexion qui aura la dur�e de vie d'une connexion et 113 * qui NE DOIT PAS avoir �t� explicitement ferm�e. Renvoie NULL en cas 114 * d'erreur. 115 */ 116AP_DECLARE(ap_dbd_t*) ap_dbd_cacquire(conn_rec*); 117 118/* Pr�pare une requ�te qu'un module client pourra utiliser */ 119AP_DECLARE(void) ap_dbd_prepare(server_rec*, const char*, const char*); 120 121/* Exporte aussi ces fonctions � titre optionnel mour les modules qui 122 * p�f�reraient les utiliser */ 123APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_open, (apr_pool_t*, server_rec*)); 124APR_DECLARE_OPTIONAL_FN(void, ap_dbd_close, (server_rec*, ap_dbd_t*)); 125APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_acquire, (request_rec*)); 126APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_cacquire, (conn_rec*)); 127APR_DECLARE_OPTIONAL_FN(void, ap_dbd_prepare, (server_rec*, const char*, const char*));</pre> 128 129</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 130<div class="section"> 131<h2><a name="prepared" id="prepared">Requ�tes SQL pr�par�es</a></h2> 132 <p><code class="module"><a href="/mod/mod_dbd.html">mod_dbd</a></code> supporte les requ�tes SQL pr�par�es � 133 destination des modules qui pourraient les utiliser. Chaque requ�te 134 pr�par�e doit poss�der un nom (�tiquette), et est stock�e dans un 135 condens� (hash) : les condens�s sont du type 136 <code>apr_dbd_prepared_t</code> et s'utilisent dans toute requ�te 137 SQL ou commande select pr�par�e par apr_dbd.</p> 138 139 <p>Il est du ressort des modules utilisateurs de dbd d'utiliser les 140 requ�tes pr�par�es et de pr�ciser quelles requ�tes doivent �tre 141 sp�cifi�es dans httpd.conf, ou de fournir leurs propres directives 142 et d'utiliser <code>ap_dbd_prepare</code>.</p> 143 144 <div class="warning"><h3>Avertissement</h3> 145 Lorsqu'on utilise des requ�tes pr�par�es avec des bases de 146 donn�es MySQL, il est pr�f�rable de d�finir 147 <code>reconnect</code> � 0 dans la cha�ne de connexion, afin 148 d'�viter des erreurs provoqu�es par un client MySQL qui se 149 reconnecterait sans r�initialiser correctement les requ�tes 150 pr�par�es. Si <code>reconnect</code> est d�fini � 1, toute 151 connexion d�fectueuse sera sens�e �tre r�par�e, mais comme 152 mod_dbd n'en est pas inform�, les requ�tes pr�par�es seront 153 invalid�es. 154 </div> 155</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 156<div class="section"> 157<h2><a name="security" id="security">AVERTISSEMENT DE SECURITE</a></h2> 158 159 <p>Toute application web impliquant une base de donn�es doit se 160 prot�ger elle-m�me contre les attaques de type injection SQL. Dans 161 la plupart des cas Apache DBD est s�r, car les applications 162 utilisent des requ�tes pr�par�es, et les entr�es non sures ne seront 163 utilis�es qu'� titre de donn�es. Bien entendu, si vous l'utilisez 164 via un module tiers, vous devez �tre au fait des pr�cautions � 165 prendre.</p> 166 <p>Cependant, le pilote <var>FreeTDS</var> est <strong>non 167 s�r</strong> de par sa nature-m�me. Comme la biblioth�que 168 sous-jacente ne supporte pas les requ�tes pr�par�es, le pilote en 169 effectue une �mulation, et les entr�es non s�res sont fusionn�es 170 avec la requ�te SQL.</p> 171 <p>Il peut �tre s�curis� en <em>d�contaminant</em> toutes les 172 entr�es : un processus inspir� de la recherche de contaminations 173 (<strong>taint mode</strong>) de 174 Perl. Chaque entr�e est compar�e � une expression rationnelle, et 175 seules les entr�es qui correspondent sont utilis�es, en accord avec 176 le langage Perl :</p> 177 <div class="example"><pre><code> $untrusted =~ /([a-z]+)/; 178 $trusted = $1;</code></pre></div> 179 <p>Pour utiliser ceci, les expressions rationnelles de 180 d�contamination doivent �tre incluses dans les requ�tes pr�par�es. 181 L'expression rationnelle doit se situer imm�diatement apr�s le 182 caract�re % dans la requ�te pr�par�e, et doit �tre entour�e 183 d'accolades {}. Par exemple, si votre application attend une entr�e 184 alphanum�rique, vous pouvez utiliser :</p> 185 <div class="example"><p><code> 186 <code>"SELECT foo FROM bar WHERE input = %s"</code> 187 </code></p></div> 188 <p>avec d'autres pilotes, et ne risquer au pire qu'une requ�te 189 �chou�e. Mais avec FreeTDS, vous devez utiliser :</p> 190 <div class="example"><p><code> 191 <code>"SELECT foo FROM bar WHERE input = %{([A-Za-z0-9]+)}s"</code> 192 </code></p></div> 193 <p>tout ce qui ne correspond pas � l'expression rationnelle est 194 alors rejet�, et la requ�te est maintenant s�re.</p> 195 <p>Alternativement, vous pouvez utiliser le pilote ODBC tiers, qui 196 offre la s�curit� des requ�tes pr�par�es authentiques.</p> 197</div> 198<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 199<div class="directive-section"><h2><a name="DBDExptime" id="DBDExptime">DBDExptime</a> <a name="dbdexptime" id="dbdexptime">Directive</a></h2> 200<table class="directive"> 201<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dur�e de vie des connexions inactives</td></tr> 202<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDExptime <var>dur�e en secondes</var></code></td></tr> 203<tr><th><a href="directive-dict.html#Default">D�faut:</a></th><td><code>DBDExptime 300</code></td></tr> 204<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> 205<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> 206<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> 207</table> 208 <p>Cette directive permet de d�finir la dur�e de vie des connexions 209 inactives lorsque le nombre de connexions sp�cifi� par la directive 210 DBDKeep a �t� d�pass� (plates-formes thread�es uniquement).</p> 211 212</div> 213<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 214<div class="directive-section"><h2><a name="DBDInitSQL" id="DBDInitSQL">DBDInitSQL</a> <a name="dbdinitsql" id="dbdinitsql">Directive</a></h2> 215<table class="directive"> 216<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ex�cute une instruction SQL apr�s connexion � une base de 217donn�es</td></tr> 218<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDInitSQL <var>"instruction SQL"</var></code></td></tr> 219<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> 220<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> 221<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> 222</table> 223 <p>Les modules qui le souhaitent peuvent ex�cuter une ou plusieurs 224 instructions SQL apr�s connexion � une base de donn�es. Par exemple 225 initialiser certaines valeurs, ou ajouter une entr�e dans le journal 226 lors d'une nouvelle connexion � la base de donn�es.</p> 227 228</div> 229<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 230<div class="directive-section"><h2><a name="DBDKeep" id="DBDKeep">DBDKeep</a> <a name="dbdkeep" id="dbdkeep">Directive</a></h2> 231<table class="directive"> 232<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de connexions maintenues</td></tr> 233<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDKeep <var>nombre</var></code></td></tr> 234<tr><th><a href="directive-dict.html#Default">D�faut:</a></th><td><code>DBDKeep 2</code></td></tr> 235<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> 236<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> 237<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> 238</table> 239 <p>Cette directive permet de d�finir le nombre maximum de connexions 240 � maintenir par processus, en dehors de celles servant � g�rer les 241 pics de demandes (plates-formes thread�es uniquement).</p> 242 243</div> 244<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 245<div class="directive-section"><h2><a name="DBDMax" id="DBDMax">DBDMax</a> <a name="dbdmax" id="dbdmax">Directive</a></h2> 246<table class="directive"> 247<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de connexions</td></tr> 248<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDMax <var>nombre</var></code></td></tr> 249<tr><th><a href="directive-dict.html#Default">D�faut:</a></th><td><code>DBDMax 10</code></td></tr> 250<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> 251<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> 252<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> 253</table> 254 <p>Cette directive permet de d�finir le nombre maximum effectif de 255 connexions par processus (plates-formes thread�es uniquement).</p> 256 257</div> 258<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 259<div class="directive-section"><h2><a name="DBDMin" id="DBDMin">DBDMin</a> <a name="dbdmin" id="dbdmin">Directive</a></h2> 260<table class="directive"> 261<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre minimum de connexions</td></tr> 262<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDMin <var>nombre</var></code></td></tr> 263<tr><th><a href="directive-dict.html#Default">D�faut:</a></th><td><code>DBDMin 1</code></td></tr> 264<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> 265<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> 266<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> 267</table> 268 <p>Cette directive permet de d�finir le nombre minimum de connexions 269 par processus (plates-formes thread�es uniquement).</p> 270 271</div> 272<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 273<div class="directive-section"><h2><a name="DBDParams" id="DBDParams">DBDParams</a> <a name="dbdparams" id="dbdparams">Directive</a></h2> 274<table class="directive"> 275<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Param�tres de la connexion � la base de 276donn�es</td></tr> 277<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDParams 278<var>param1</var>=<var>valeur1</var>[,<var>param2</var>=<var>valeur2</var>]</code></td></tr> 279<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> 280<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> 281<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> 282</table> 283 <p>Cette directive permet de sp�cifier des param�tres selon les 284 besoins du pilote concern�. En g�n�ral, les param�tres � passer 285 concernent tout ce qui n'a pas de valeur par d�faut comme le nom 286 d'utilisateur, le mot de passe, le nom de la base de donn�es, le nom 287 d'h�te et le num�ro de port de la connexion.</p> 288 <p>Les param�tres de la cha�ne de connexion en fonction des 289 diff�rents pilotes comprennent :</p> 290 <dl> 291 <dt>FreeTDS (pour MSSQL et SyBase)</dt> 292 <dd>username, password, appname, dbname, host, charset, lang, server</dd> 293 <dt>MySQL</dt> 294 <dd>host, port, user, pass, dbname, sock, flags, fldsz, group, reconnect</dd> 295 <dt>Oracle</dt> 296 <dd>user, pass, dbname, server</dd> 297 <dt>PostgreSQL</dt> 298 <dd>La cha�ne de connexion est pass�e directement � <code>PQconnectdb</code></dd> 299 <dt>SQLite2</dt> 300 <dd>La cha�ne de connexion est scind�e avec comme s�parateur le 301 caract�re ':', et <code>partie1:partie2</code> est utilis� dans 302 <code>sqlite_open(partie1, atoi(partie2), NULL)</code></dd> 303 <dt>SQLite3</dt> 304 <dd>La cha�ne de connexion est pass�e directement � <code>sqlite3_open</code></dd> 305 <dt>ODBC</dt> 306 <dd>datasource, user, password, connect, ctimeout, stimeout, access, txmode, bufsize</dd> 307 </dl> 308 309</div> 310<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 311<div class="directive-section"><h2><a name="DBDPersist" id="DBDPersist">DBDPersist</a> <a name="dbdpersist" id="dbdpersist">Directive</a></h2> 312<table class="directive"> 313<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utiliser ou non des connexions persistentes</td></tr> 314<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDPersist On|Off</code></td></tr> 315<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> 316<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> 317<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> 318</table> 319 <p>Si cette directive est d�finie � Off, les connexions persistentes 320 et les connexions group�es sont d�sactiv�es. � la demande d'un 321 client, une nouvelle connexion � la base de donn�es est ouverte, et 322 ferm�e imm�diatement � l'issue du traitement. Cette configuration ne 323 doit �tre utilis�e qu'� des fins de d�bogage, ou sur des serveurs � 324 charge faible.</p> 325 326 <p>Par d�faut, les groupes de connexions persistentes sont activ�s 327 (ou une seule connexion persistente du style LAMP pour les serveurs 328 non thread�s), et c'est la configuration qui devrait �tre utilis�e 329 dans la plupart des cas sur un serveur en production.</p> 330 331 <p>Avant la version 2.2.2, cette directive n'acceptait que les 332 valeurs <code>0</code> et <code>1</code> au lieu de <code>Off</code> 333 et <code>On</code>, respectivement.</p> 334 335</div> 336<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 337<div class="directive-section"><h2><a name="DBDPrepareSQL" id="DBDPrepareSQL">DBDPrepareSQL</a> <a name="dbdpreparesql" id="dbdpreparesql">Directive</a></h2> 338<table class="directive"> 339<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>D�finit une requ�te SQL pr�par�e</td></tr> 340<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDPrepareSQL <var>"requ�te SQL"</var> <var>�tiquette</var></code></td></tr> 341<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> 342<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> 343<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> 344</table> 345 <p>Pour les modules tels que les modules d'authentification, qui 346 utilisent de mani�re r�p�t�e la m�me requ�te SQL, on peut optimiser 347 les performances en pr�parant la requ�te une fois pour toutes au 348 d�marrage, plut�t qu'� chaque utilisation. Cette directive permet de 349 pr�parer une requ�te SQL et de lui assigner une �tiquette.</p> 350 351</div> 352<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 353<div class="directive-section"><h2><a name="DBDriver" id="DBDriver">DBDriver</a> <a name="dbdriver" id="dbdriver">Directive</a></h2> 354<table class="directive"> 355<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sp�cifie un pilote SQL</td></tr> 356<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDriver <var>nom</var></code></td></tr> 357<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> 358<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> 359<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dbd</td></tr> 360</table> 361 <p>Cette directive permet de sp�cifier un pilote apr_dbd par son 362 nom. Le pilote doit �tre install� sur votre syst�me (sur la plupart 363 des syst�mes, il s'agit d'un objet partag� ou d'une dll). Par 364 exemple, <code>DBDriver mysql</code> va s�lectionner le pilote MySQL 365 dans la biblioth�que apr_dbd_mysql.so.</p> 366 367</div> 368</div> 369<div class="bottomlang"> 370<p><span>Langues Disponibles: </span><a href="/en/mod/mod_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> | 371<a href="/fr/mod/mod_dbd.html" title="Fran�ais"> fr </a></p> 372</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div> 373<script type="text/javascript"><!--//--><![CDATA[//><!-- 374var comments_shortname = 'httpd'; 375var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dbd.html'; 376(function(w, d) { 377 if (w.location.hostname.toLowerCase() == "httpd.apache.org") { 378 d.write('<div id="comments_thread"><\/div>'); 379 var s = d.createElement('script'); 380 s.type = 'text/javascript'; 381 s.async = true; 382 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; 383 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); 384 } 385 else { 386 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); 387 } 388})(window, document); 389//--><!]]></script></div><div id="footer"> 390<p class="apache">Copyright 2014 The Apache Software Foundation.<br />Autoris� sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> 391<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossaire</a> | <a href="/sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- 392if (typeof(prettyPrint) !== 'undefined') { 393 prettyPrint(); 394} 395//--><!]]></script> 396</body></html>